После очень успешного использования длинковских фаерволов из серии DFL решил попробовать девайсы из серии DSR и горько пожалел о бесполезно убитом времени потраченном на игры с этим железом. Роутеры DSR-500n и DSR-1000n работали нестабильно и не поддерживали 3g модемы из за которых они и были нужны, a после обновления до прошивки 1,06b11, на которой сначала казалось всё работает нормально, стали отваливаться от Интернета и отказались прошиваться на другую версию прошивки.
Для восстановления DSR-500n или DSR-1000n нужно подключить роутер через сериальный кабель к компьютеру с адресом 192.168.1.100 на котором запущен tftpd32 раздающий файл новой прошивки (я прошивал DSR-500N_A1_FW1.06B53_RU), подключиться PuTTy к com1 на скорости 115200 и зайти в bootloader: (нажав любую клавишу или подождав пока битая прошивка не сможет загрузиться).
Далее выполнить следующие команды:
tftpboot $(loadaddr) DSR-1000N_A1_FW1.06B53_RU
run firm_flash
run linux_update
saveenv
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
U-Boot 1.1.1 (Development build, svnversion: exported) (Build time: Sep 1 2010 - 16:18:38) Warning: Board descriptor tuple not found in eeprom, using defaults CUST_DSR1000N board revision major:2, minor:0, serial #: unknown OCTEON CN5010-SCP pass 1.1, Core clock: 500 MHz, DDR clock: 200 MHz (400 Mhz data rate) DRAM: 256 MB Flash: 32 MB *** Warning - bad CRC, using default environment Clearing DRAM...... done BIST check passed. Starting PCI PCI Status: PCI 32-bit PCI BAR 0: 0x00000000, PCI BAR 1: Memory 0x00000000 PCI 0xf8000000 Net: octeth0, octeth1, octeth2 Hit any key to stop autoboot: 0 D-Link DSR-1000N bootloader# tftpboot $(loadaddr) DSR-1000N_A1_FW1.06B53_RU Interface 0 has 3 ports (RGMII) Using octeth0 device TFTP from server 192.168.1.100; our IP address is 192.168.1.1 Filename 'DSR-1000N_A1_FW1.06B53_RU'. Load address: 0xaa00000 Loading: octeth0: Up 1000 Mbps Full duplex (port 0) ################################################################# ################################################################# ############################################################### done Bytes transferred = 27533312 (1a42000 hex), 2412 Kbytes/sec D-Link DSR-1000N bootloader# run firm_flash ........................................................................................................................................................................................................................................ done Erased 232 sectors Copy to Flash... ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................done D-Link DSR-1000N bootloader# run linux_update Un-Protected 192 sectors ................................................................................................................................................................................................ done Erased 192 sectors Copy to Flash... ....................................................................................................................................................................................................................................................................................................................................................................................................................................done D-Link DSR-1000N bootloader# saveenv Saving Environment to Flash... Un-Protected 1 sectors Erasing Flash... . done Erased 1 sectors Writing to Flash... ..done Protected 1 sectors D-Link DSR-1000N bootloader# |
После этого можно перезагрузить роутер:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 |
U-Boot 1.1.1 (Development build, svnversion: exported) (Build time: Sep 1 2010 - 16:18:38) Warning: Board descriptor tuple not found in eeprom, using defaults CUST_DSR1000N board revision major:2, minor:0, serial #: unknown OCTEON CN5010-SCP pass 1.1, Core clock: 500 MHz, DDR clock: 200 MHz (400 Mhz data rate) DRAM: 256 MB Flash: 32 MB Clearing DRAM...... done BIST check passed. Starting PCI PCI Status: PCI 32-bit PCI BAR 0: 0x00000000, PCI BAR 1: Memory 0x00000000 PCI 0xf8000000 Net: octeth0, octeth1, octeth2 Hit any key to stop autoboot: 0 Image name : DSR-1000N_A1_FW1.06B53_RU Image size : 27533312 bytes Checksum value : 0xc42b03c6 Verifying checksum... OK Auto Booting... argv[2]: mtdparts=phys_mapped_flash:640k(bootloader)ro,9M(kernel),20M(rootfs),2M(AppConfig),128k(bootload-env) ELF file is 64 bit Attempting to allocate memory for ELF segment: addr: 0xffffffff80100000 (adjusted to: 0x0000000000100000), size 0x910b00 Allocated memory for ELF segment: addr: 0xffffffff80100000, size 0x910b00 Loading .text @ 0xffffffff80100000 (0x4d0508 bytes) Loading __ex_table @ 0xffffffff805d0510 (0x6c80 bytes) Loading .notes @ 0xffffffff805d7190 (0x24 bytes) Loading .rodata @ 0xffffffff805d8000 (0xf96b0 bytes) Loading .pci_fixup @ 0xffffffff806d16b0 (0xf20 bytes) Loading .rio_ops @ 0xffffffff806d25d0 (0xe0 bytes) Loading __ksymtab @ 0xffffffff806d26b0 (0xaa00 bytes) Loading __ksymtab_gpl @ 0xffffffff806dd0b0 (0x5830 bytes) Loading __ksymtab_strings @ 0xffffffff806e28e0 (0x1217f bytes) Loading __init_rodata @ 0xffffffff806f4a60 (0x500 bytes) Loading __param @ 0xffffffff806f4f60 (0x20a0 bytes) Loading .data @ 0xffffffff806f8000 (0x59680 bytes) Loading .init.text @ 0xffffffff80752000 (0x2920c bytes) Loading .init.data @ 0xffffffff8077b210 (0x2309a2 bytes) Loading .exit.text @ 0xffffffff809abbb4 (0x2494 bytes) Clearing .bss @ 0xffffffff809b0000 (0x60b00 bytes) ## Loading Linux kernel with entry point: 0xffffffff80105bb0 ... Bootloader: Done loading app on coremask: 0x1 Linux version 2.6.32.13-Cavium-Octeon (root@root.128) (gcc version 4.3.3 (Cavium Networks Version: 2_0_0 build 95) ) #5 Wed Jun 27 23:52:31 IST 2012 CVMSEG size: 2 cache lines (256 bytes) Cavium Networks SDK-2.0 bootconsole [early0] enabled CPU revision is: 000d0601 (Cavium Octeon+) Checking for the multiply/shift bug... no. Checking for the daddiu bug... no. Determined physical RAM map: memory: 000000000025e000 @ 0000000000752000 (usable after init) memory: 000000000f400000 @ 0000000000b00000 (usable) Wasting 104944 bytes for tracking 1874 unused pages Initrd not found or empty - disabling initrd Zone PFN ranges: DMA32 0x00000752 -> 0x00100000 Normal 0x00100000 -> 0x00100000 Movable zone start PFN for each node early_node_map[2] active PFN ranges 0: 0x00000752 -> 0x000009b0 0: 0x00000b00 -> 0x0000ff00 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 62203 Kernel command line: bootoctlinux 0xaa00200 mtdparts=phys_mapped_flash:640k(bootloader)ro,9M(kernel),20M(rootfs),2M(AppConfig),128k(bootload-env) console=ttyS0,115200 PID hash table entries: 1024 (order: 1, 8192 bytes) Dentry cache hash table entries: 32768 (order: 6, 262144 bytes) Inode-cache hash table entries: 16384 (order: 5, 131072 bytes) Primary instruction cache 32kB, virtually tagged, 4 way, 64 sets, linesize 128 bytes. Primary data cache 16kB, 64-way, 2 sets, linesize 128 bytes. Memory: 245488k/252280k available (4929k kernel code, 6416k reserved, 1540k data, 2424k init, 0k highmem) Hierarchical RCU implementation. NR_IRQS:408 Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpj=2000000) Mount-cache hash table entries: 256 Checking for the daddi bug... no. NET: Registered protocol family 16 Enabling Octeon big bar support PCI Status: PCI 32-bit PCI Clock: 33 MHz bio: create slab at 0 SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb pci 0000:00:03.0: PME# supported from D0 D3hot pci 0000:00:03.0: PME# disabled Switching to clocksource OCTEON_CVMCOUNT NET: Registered protocol family 2 IP route cache hash table entries: 2048 (order: 2, 16384 bytes) TCP established hash table entries: 8192 (order: 5, 131072 bytes) TCP bind hash table entries: 8192 (order: 4, 65536 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP reno registered NET: Registered protocol family 1 RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. /proc/octeon_perf: Octeon performace counter interface loaded octeon_wdt: Initial granularity 5 Sec. HugeTLB registered 2 MB page size, pre-allocated 0 pages squashfs: version 4.0 (2009/01/31) Phillip Lougher NTFS driver 2.1.29 [Flags: R/W]. JFFS2 version 2.2. (NAND) бL 2001-2006 Red Hat, Inc. msgmni has been set to 480 alg: No test for stdrng (krng) io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered (default) Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled serial8250.0: ttyS0 at MMIO 0x1180000000800 (irq = 58) is a OCTEON console [ttyS0] enabled, bootconsole disabled console [ttyS0] enabled, bootconsole disabled brd: module loaded loop: module loaded mdio-octeon: probed mdio-octeon mdio-octeon.0: Version 1.0 Intel(R) PRO/1000 Network Driver - version 7.3.21-k5-NAPI Copyright (c) 1999-2006 Intel Corporation. e1000e: Intel(R) PRO/1000 Network Driver - 1.0.2-k2 e1000e: Copyright (c) 1999-2008 Intel Corporation. sky2 driver version 1.25 PPP generic driver version 2.4.2 PPP BSD Compression module registered PPP MPPE Compression module registered NET: Registered protocol family 24 PPPoL2TP kernel driver, V1.0 PPTP driver version 0.8.5 usbmon: debugfs is not available ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver OcteonUSB: Detected 1 ports OcteonUSB OcteonUSB.0: Octeon Host Controller OcteonUSB OcteonUSB.0: new USB bus registered, assigned bus number 1 OcteonUSB OcteonUSB.0: irq 80, io mem 0x00000000 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected OcteonUSB: Registered HCD for port 0 on irq 80 usbcore: registered new interface driver cdc_acm cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters usbcore: registered new interface driver usblp Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. usbcore: registered new interface driver libusual usbcore: registered new interface driver ums-alauda usbcore: registered new interface driver ums-datafab usbcore: registered new interface driver ums-freecom usbcore: registered new interface driver ums-isd200 usbcore: registered new interface driver ums-jumpshot usbcore: registered new interface driver ums-karma usbcore: registered new interface driver ums-onetouch usbcore: registered new interface driver ums-sddr09 usbcore: registered new interface driver ums-sddr55 usbcore: registered new interface driver ums-usbat usbcore: registered new interface driver usbserial USB Serial support registered for generic usbcore: registered new interface driver usbserial_generic usbserial: USB Serial Driver core i2c /dev entries driver rtc-ds1307 0-0068: rtc core: registered ds1337 as rtc0 i2c-octeon i2c-octeon.0: version 2.0 oprofile: using mips/octeon performance monitoring. GACT probability NOT on Mirror/redirect action on u32 classifier Performance counters on Actions configured Netfilter messages via NETLINK v0.30. nf_conntrack version 0.5.0 (1920 buckets, 7680 max) CONFIG_NF_CT_ACCT is deprecated and will be removed soon. Please use nf_conntrack.acct=1 kernel parameter, acct=1 nf_conntrack module option or sysctl net.netfilter.nf_conntrack_acct=1 to enable it. ctnetlink v0.93: registering with nfnetlink. xt_time: kernel timezone is -0000 GRE over IPv4 demultiplexor driver ip_tables: (C) 2000-2006 Netfilter Core Team ipt_account 0.1.7 : Piotr GasidЁo , http://www.barbara.eu.org/~quaker/ipt_account/ TCP cubic registered NET: Registered protocol family 10 ip6_tables: (C) 2000-2006 Netfilter Core Team IPv6 over IPv4 tunneling driver NET: Registered protocol family 17 802.1Q VLAN Support v1.8 Ben Greear All bugs added by David S. Miller L2 lock: TLB refill 256 bytes L2 lock: General exception 128 bytes L2 lock: low-level interrupt 128 bytes L2 lock: interrupt 640 bytes L2 lock: memcpy 1152 bytes Bootbus flash: Setting flash for 32MB flash at 0x1dc00000 phys_mapped_flash: Found 1 x16 devices at 0x0 in 8-bit bank Amd/Fujitsu Extended Query Table at 0x0040 phys_mapped_flash: CFI does not contain boot bank location. Assuming top. number of CFI chips: 1 cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. cmdlinepart partition parsing not available Creating 6 MTD partitions on "phys_mapped_flash": 0x000000000000-0x0000000a0000 : "bootloader" 0x0000000a0000-0x0000009a0000 : "kernel" 0x0000009a0000-0x000001da0000 : "rootfs" 0x000001da0000-0x000001fa0000 : "AppConfig" 0x000001fa0000-0x000001fe0000 : "EMPTY" 0x000001fe0000-0x000002000000 : "bootload-env" usb 1-1: new high speed USB device using OcteonUSB and address 2 Freeing unused kernel memory: 2424k freed /sbin/rc starting Booting DSR User Space... Mounting file systems usb 1-1: configuration #1 chosen from 1 choice hub 1-1:1.0: USB hub found hub 1-1:1.0: 2 ports detected fuse init (API version 7.13) octeon-ethernet 2.0 Interface 0 has 3 ports (RGMII) Sysctl registeration for hardware offload control suceed productData: module license 'unspecified' taints kernel. Disabling lock debugging due to kernel taint Initialzing Product Data modules Loading LED driver bwMonitor sysctl registered CONFIG_SYSCTL enabled ... Initialized bandwidth monitor ... USB Serial support registered for GSM modem (1-port) usbcore: registered new interface driver option option: v0.7.2:USB Driver for GSM modems Enabling Quiet Boot...Done Setting up loopback Setting mac address for LAN/WAN1/WAN2 Setting Hostname... Done. setting Host name. setting hostname as DSR-1000N teamf1.cfg.ascii.1.03 / wan3 related Starting pnac daemon...Done Loading WLAN Modules...Done Starting dot11 daemon...Done net.ipv6.conf.eth1.accept_ra = 0 net.ipv6.conf.eth2.accept_ra = 0 Creating Dummy Config File Starting linkmonitor daemonDone Inserting ipset modules...Done inserting default firewall rules inserting default firewall6 rules Loading default configurations... grep: /tmp/teamf1.cfg.ascii: No such file or directory grep: /tmp/teamf1.cfg.ascii: No such file or directory no system settings to restore from...so restoring factory defaults... restore file: /tmp/teamf1.cfg.ascii importing... no LUA variable:LoginProfiles SQL error: database is locked /sbin/rc: ./switchdriverInit: 42: -1: not found Inserting the bcm debug module...Done Inserting the power saving module...Done Starting NIMF daemon... Done creating smtpAlg device Creating /dev/smtpAlg starting firewalld Daemon...Done Starting IKE Daemon...Done Done Starting VPN KEEP ALIVE Daemon...Done Restoring certficates from persistant storage...Done Getting firmware version...Done Making Brand.conf.. Done creating Brand.conf ls: /pfrm2.0/pkgMgmt/control/: No such file or directory Starting status monitor daemonDone Copying necessary files for PPTP Server... Done Initializing 3G... Done Loading WpsPB Module..Initialzing Wps module starting SNMP Daemon...Done Starting the cron deamon...Done starting ntpd Daemon...Done Creating /dev/pts/0 pseudo device for L2TP PPP communication... Done Bandwidth Profile Initialization...Done Starting captivePortal daemon... Done Starting intelAmt daemon... Done Loading Factory Defaults ModulesInitialzing Factory defaults modules Creating directory /usr/lib/cups ...Done Creating /var/run/cups/certs ...Done Creating /var/spool/cups ...Done Creating /var/spool/cache ...Done Copying mime files ...Done Creating directory /tmp/var...Done Creating directory /tmp/private...Done Copying necessary files for L2TP Server... Done Enable hardware offload DSR-1000N login: |
После этой процедуры девайс работает более мене стабильно. В руской пошивке урезаны функции связанные с VPN и веб интерфейс терерь на http вместо https. PPTP сервер работает не так как бы хотелось и отключает второго клиента при подключении третьего. В общем ждём прошивку, не выбрасывать же железяку.