NETGEAR WNDR3800
Supported Versions
Version/Model | Launch Date | S/N | OpenWrt Version Supported | Model Specific Notes |
---|---|---|---|---|
v1 | 2011-03 | - | r28597 | successor to the WNDR3700 |
v1CHNAS | 201? | - | r42031 | slightly different than v1 |
In general, the advice and documentation regarding WNDR3700v1 and WNDR3700v2 is also valid for WNDR3800. The only differences are with amounts of RAM and flash memory. This WNDR3800 article is rather short, as most of the applicable information can already be found on the WNDR3700 wiki page. There is also a WNDR3800-1CHNAS which will not respond to the normal WNDR3800 images. Applying this patch does create a usable image. |
Hardware Highlights
Hardware highlights
- Identical to WNDR3700v2 but with more RAM/Flash; 1x WLAN, 4x LAN 2x2:2 MIMO both channels
- Identical to WNDR3700v2 but with more RAM/Flash; 1x WLAN, 4x LAN 2x2:2 MIMO both channels
- Identical to WNDR3800 except NETGEAR_BOARD_ID. 5 Gigabit Ethernet - WLAN (1) and LAN (4) 2x2:2 MIMO both channels
OpenWrt Support
Hardware details
Firmware downloads
Installation
1. First, it is need to select OpenWrt firmware, please consult →downloads
This device is supported in Backfire 10.03.1 and above. Manually building OpenWrt is not required. Quickest way is to download a precompiled last stable image (19.07.7), look for wndr3800 factory (SquashFS is recommended):
You also may the latest trunk image:
2. Second, please consult →Installing OpenWrt (generic) and additionally the instructions on this page and/or the one for the WNDR3700.
You can utilize the stock firmware's Firmware Upgrade page to install OpenWrt.
Flash Layout
Original layout of WNDR3800:
cat /proc/mtd
dev: size erasesize name
mtd0: 00050000 00010000 “uboot”
mtd1: 00020000 00010000 “env”
mtd2: 00e40000 00010000 “rootfs”
mtd3: 00010000 00010000 “config”
mtd4: 00010000 00010000 “config_bak”
mtd5: 00010000 00010000 “pot”
mtd6: 00010000 00010000 “traffic_meter”
mtd7: 00100000 00010000 “language”
mtd8: 00010000 00010000 “caldata”
mtd9: 00e3ffc0 00010000 “mount_fs”
Original Netgear WNDR3800 Flash Layout | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Layer0 | 16384KiB (16MiB) | |||||||||
Layer1 | 320KiB | 128KiB | 14592KiB | 64KiB | 64KiB | 64KiB | 64KiB | 1024KiB | 64KiB | |
Name | uboot | env | rootfs | config | config_bak | pot | traffic_meter | language | caldata | |
Layer2 | 64B | 14591,9375KiB | ||||||||
Name | mount_fs | |||||||||
mountpoint | / | |||||||||
filesystem | SquashFS? |
- config and config_bak -- NVRAM with configuration
- traffic_meter -- collected data of traffic
OpenWrt layout for WNDR3800:
OpenWRT:/# cat /proc/cmdline
board=WNDR3700 console=ttyS0,115200 mtdparts=spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,15872k(firmware),64k(art)ro rootfstype=squashfs,jffs2 noinitrd
OpenWRT:/# cat /proc/mtd
dev: size erasesize name
mtd0: 00050000 00010000 “u-boot”
mtd1: 00020000 00010000 “u-boot-env”
mtd2: 00f80000 00010000 “firmware”
mtd3: 00105440 00010000 “kernel”
mtd4: 00e7abc0 00010000 “rootfs”
mtd5: 00cc0000 00010000 “rootfs_data”
mtd6: 00010000 00010000 “art”
Netgear WNDR3800 Flash Layout with OpenWrt | ||||||
---|---|---|---|---|---|---|
Layer0 | 16MiB | |||||
Layer1 | 320KiB | 128KiB | 15872KiB | 64KiB | ||
Name | uboot | u-boot-env | firmware | art | ||
Layer2 | 1070144B (~1MiB) | 15182784B (~14,5MiB) | ||||
Name | kernel | rootfs | ||||
Layer3 | 1813440B (~1,73MiB) | 12,75MiB | ||||
Name | rootfs-data | |||||
Filesystem | squashfs | jffs | ||||
mountpoint | / | /overlay |
See the example →flash.layout to understand OpenWrt better.
OEM easy installation
You may install OpenWrt using upgrade firmware of web interface of original firmware.
- Download a squashfs-factory image file of OpenWrt.
- Set IP from pool 192.168.1.2-192.168.1.254 on your computer and next open http://192.168.1.1 in the web browser.
- Select an Administration page, use firmware file selection button and firmware upgrade button to start firmware upgrade process.
- Confirm firmwware upgrade to OpenWrt.
- Wait upload process, firmware upgrade process, additional wait up to 10 minutes. You wiil be able to notice this moment when browser won't be load http://192.168.1.1/index.htm at its next updating.
- Telnet to 192.168.1.1. You in the OpenWrt console. Now you may install LuCI if needed.
- If you can't connect via telnet, simple switch off and turn on router, wait several tens of seconds for router booting, and again try connect.
OEM installation using the TFTP method
Doing as described in the →WNDR3700.
Upgrading OpenWrt
You should use a standard upgrade procedure. Please consult with →generic.sysupgrade.
Here are the stages of upgrading the WNDR3800 to a newer OpenWrt version:
- download firmware - openwrt-ath79-generic-wndr3800-squashfs-sysupgrade.bin.
- backup (it is recommended to generate a config backup archive).
- flash FW (check keep settings option if you want to save your settings).
- when router comes up connect through SSH.
- opkg update
- opkg install luci
- opkg install luci-ssl (now you are able to connect through the web UI too)./
- /etc/init.d/uhttpd enable
- reboot and connect in order to see that everything works (sanity check).
Bootlogs
Original firmware Boot Log
serial console log of original firmware (modified OpenWrt Kamikaze):
Linux version 2.6.15 (josn@dnisw3) (gcc version 3.4.4 (OpenWrt-2.0)) #1 Wed Sep 28 10:41:57 CST 2011 flash_size passed from bootloader = 16 CPU revision is: 00019374 Determined physical RAM map: memory: 08000000 @ 00000000 (usable) Built 1 zonelists Kernel command line: console=ttyS0,115200 root=31:09 rootfstype=squashfs init=/etc/preinit mtdparts=ar7100-nor0:) Primary instruction cache 64kB, physically tagged, 4-way, linesize 32 bytes. Primary data cache 32kB, 4-way, linesize 32 bytes. Synthesized TLB refill handler (20 instructions). Synthesized TLB load handler fastpath (32 instructions). Synthesized TLB store handler fastpath (32 instructions). Synthesized TLB modify handler fastpath (31 instructions). Cache parity protection disabled PID hash table entries: 1024 (order: 10, 16384 bytes) Using 340.000 MHz high precision timer. Console: colour dummy device 80x25 Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 126592k/131072k available (2332k kernel code, 4380k reserved, 519k data, 140k init, 0k highmem) Mount-cache hash table entries: 512 Checking for 'wait' instruction... available. NET: Registered protocol family 16 SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub AR7100 GPIOC major 0 Initializing usb led semaphore squashfs: version 3.0 (2006/03/15) Phillip Lougher Initializing Cryptographic API io scheduler noop registered io scheduler deadline registered Serial: 8250/16550 driver $Revision: #1 $ 4 ports, IRQ sharing disabled serial8250.0: ttyS0 at MMIO 0x0 (irq = 19) is a 16550A RAMDISK driver initialized: 1 RAM disks of 8192K size 1024 blocksize tun: Universal TUN/TAP device driver, 1.6 tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> 10 cmdlinepart partitions found on MTD device ar7100-nor0 Creating 10 MTD partitions on "ar7100-nor0": 0x00000000-0x00050000 : "uboot" 0x00050000-0x00070000 : "env" 0x00070000-0x00eb0000 : "rootfs" 0x00eb0000-0x00ec0000 : "config" 0x00ec0000-0x00ed0000 : "config_bak" 0x00ed0000-0x00ee0000 : "pot" 0x00ee0000-0x00ef0000 : "traffic_meter" 0x00ef0000-0x00ff0000 : "language" 0x00ff0000-0x01000000 : "caldata" 0x00070040-0x00eb0000 : "mount_fs" mtd: partition "mount_fs" doesn't start on an erase block boundary -- force read-only 10 Dec 2004 USB 2.0 'Enhanced' Host Controller (EHCI) Driver (AR7100_EHCI) In ar7100_ehci_drv_probe probing ehci... hcd->regs is 0xbb000000 ehci->caps is 0xbb000000 ehci->caps->hc_base is 0x1000010 ar7100-ehci ar7100-ehci.0: AR7100 EHCI ar7100-ehci ar7100-ehci.0: new USB bus registered, assigned bus number 1 ar7100-ehci ar7100-ehci.0: irq 3, io mem 0x1b000000 hcc_params addr 0xbb000008 val 0xa020 hcs_params addr 0xbb000004 val 0x1212 ar7100-ehci ar7100-ehci.0: USB 0.0 started, EHCI 1.00, driver 10 Dec 2004 hub 1-0:1.0: USB hub found hub 1-0:1.0: 2 ports detected ...probing done 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (ar7100_ohci)block sizes: ed 64 td 64 In ohci_hcd_ar7100_drv_probeprobing... ar7100-ohci ar7100-ohci.0: new USB bus registered, assigned bus number 2 ar7100-ohci ar7100-ohci.0: irq 22, io mem 0x1c000000 hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected probing done Initializing USB Mass Storage driver... usb 2-2: new full speed USB device using ar7100-ohci and address 2 ehci-9130: hub_port_reset usb 2-2: device descriptor read/64, error -145 ehci-9130: hub_port_reset usb 2-2: device descriptor read/64, error -145 usb 2-2: new full speed USB device using ar7100-ohci and address 3 ehci-9130: hub_port_reset usb 2-2: device descriptor read/64, error -145 ehci-9130: hub_port_reset usb 2-2: device descriptor read/64, error -145 usb 2-2: new full speed USB device using ar7100-ohci and address 4 usb 2-2: device not accepting address 4, error -145 usb 2-2: new full speed USB device using ar7100-ohci and address 5 usb 2-2: device not accepting address 5, error -145 usbcore: registered new driver usb-storage USB Mass Storage support registered. usbcore: registered new driver usbserial drivers/usb/serial/usb-serial.c: USB Serial support registered for generic usbcore: registered new driver usbserial_generic drivers/usb/serial/usb-serial.c: USB Serial Driver core u32 classifier Perfomance counters on nf_conntrack version 0.4.1 (1024 buckets, 8192 max) NET: Registered protocol family 2 IP route cache hash table entries: 2048 (order: 1, 8192 bytes) TCP established hash table entries: 8192 (order: 3, 32768 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP reno registered ip_conntrack version 2.4 (1024 buckets, 8192 max) - 272 bytes per conntrack ip_tables: (C) 2000-2002 Netfilter core team IPP2P v0.8.2 loading DNIFILTER loading TCP bic registered NET: Registered protocol family 1 NET: Registered protocol family 10 IPv6 over IPv4 tunneling driver ip6_tables: (C) 2000-2002 Netfilter core team NET: Registered protocol family 17 Ebtables v2.0 registered ar7100wdt_init: Registering WDT success VFS: Mounted root (squashfs filesystem) readonly. Freeing unused kernel memory: 140k freed Warning: unable to open an initial console. Algorithmics/MIPS FPU Emulator v1.5 init started: BusyBox v1.4.2 (2011-09-28 09:38:46 CST) multi-call binary Loading data from /dev/mtd/3 ... The data configuration is Valid The data center is Running ... /etc/net6conf/6proc: /etc/net6conf/6proc: 31: cannot create /proc/sys/net/ipv6/conf/br1/accept_dad: Directory not /etc/net6conf/6proc: /etc/net6conf/6proc: 31: cannot create /proc/sys/net/ipv6/neigh/br1/not_send_neighbor_solict ipt_CONENAT: module license 'unspecified' taints kernel. ip_conntrack_proto_esp loaded ip_nat_proto_esp loaded ip_conntrack_rtsp v0.6.21 loading ip_nat_rtsp v0.6.21 loading ip_conntrack_pptp version 3.1 loaded ip_nat_pptp version 3.0 loaded Generating Rules... Done! fuse init (API version 7.8) fuse distribution version: 2.7.4 POT is Running... POT is Finished!!! The POT-(Get/Set) Demo is Running ... sn:2M93235C00263 SN: 2M93235C00263 hw_id:29763654+16+128 model_id:WNDR3800 The region number is: 0x0002 REGION: WW dni-qos module init at dev:eth1, real_dev:eth1 /home2/josn/WNDR3800-buildroot/wndr3800-iptv/build_mips/linux-2.6-wndr3700u/rtl8366s/switch-core.c #346:switch_it /home2/josn/WNDR3800-buildroot/wndr3800-iptv/build_mips/linux-2.6-wndr3700u/rtl8366s/switch-core.c #351:switch_it /home2/josn/WNDR3800-buildroot/wndr3800-iptv/build_mips/linux-2.6-wndr3700u/rtl8366s/switch-core.c #355:switch_it /home2/josn/WNDR3800-buildroot/wndr3800-iptv/build_mips/linux-2.6-wndr3700u/rtl8366s/switch-core.c #381:switch_it /home2/josn/WNDR3800-buildroot/wndr3800-iptv/build_mips/linux-2.6-wndr3700u/rtl8366s/switch-core.c #383:switch_it /home2/josn/WNDR3800-buildroot/wndr3800-iptv/build_mips/linux-2.6-wndr3700u/rtl8366s/switch-core.c #390:switch_is AG7100: Length per segment 512 AG7100: Max segments per packet 4 AG7100: Max tx descriptor count 400 AG7100: Max rx descriptor count 252 AG7100: fifo cfg 3 018001ff AG7100CHH: Mac address for unit 0 AG7100CHH: 2c:b0:5d:93:b0:aa AG7100CHH: Mac address for unit 1 AG7100CHH: 2c:b0:5d:93:b0:ab init the qos NET-LAN: Default WAN MAC is : 2c:b0:5d:93:b0:ab AG7100: unsupported ioctl device eth0 entered promiscuous mode NET-LAN: Default LAN MAC is : 2C:B0:5D:93:B0:AA ag7100_ring_alloc Allocated 6400 at 0x878d0000 ag7100_ring_alloc Allocated 4032 at 0x879ba000 CHH:mac:verify: 0 if: 00000002 AG7100: cfg1 0xf cfg2 0x7014 AG7100: unit 0 phy is up...RGMii 1000Mbps full duplex AG7100#1245:ag7100_set_mac_from_link AG7100: pll reg 0x18050010: 0x11110000 AG7100: cfg_1: 0x1ff0000 AG7100: cfg_2: 0x3ff AG7100: cfg_3: 0x18001ff AG7100: cfg_4: 0xffff AG7100: cfg_5: 0xfffef AG7100: done cfg2 0x7215 ifctl 0x0 miictrl 0x22 Writing 4 /home2/josn/WNDR3800-buildroot/wndr3800-iptv/build_mips/linux-2.6-wndr3700u/kmod-ar7100-watchdog/watchdog.c #25:d br0: port 1(eth0) entering learning state br0: topology change detected, propagating br0: port 1(eth0) entering forwarding state br0: port 1(eth0) entering disabled state br0: port 1(eth0) entering learning state br0: topology change detected, propagating br0: port 1(eth0) entering forwarding state
OpenWrt Boot Log
dmesg
for the trunk OpenWrt at Nov 23, 2012:
[ 0.000000] Linux version 3.3.8 (openwrt@snapon) (gcc version 4.6.4 20121106 (prerelease) (Linaro GCC 4.6-2012.11) ) #1 Fri Nov 23 04:16:29 PST 2012 [ 0.000000] MyLoader: sysp=aaaa5554, boardp=aaaa5554, parts=aaaa5554 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU revision is: 00019374 (MIPS 24Kc) [ 0.000000] SoC: Atheros AR7161 rev 2 [ 0.000000] Clocks: CPU:680.000MHz, DDR:340.000MHz, AHB:170.000MHz, Ref:40.000MHz [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 08000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone PFN ranges: [ 0.000000] Normal 0x00000000 -> 0x00008000 [ 0.000000] Movable zone start PFN for each node [ 0.000000] Early memory PFN ranges [ 0.000000] 0: 0x00000000 -> 0x00008000 [ 0.000000] On node 0 totalpages: 32768 [ 0.000000] free_area_init_node: node 0, pgdat 8031d0d0, node_mem_map 81000000 [ 0.000000] Normal zone: 256 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 32512 pages, LIFO batch:7 [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: board=WNDR3700 console=ttyS0,115200 mtdparts=spi0.0:320k(u-boot)ro,128k(u-boot-env )ro,1024k(kernel),14848k(rootfs),64k(art)ro,15872k@0x70000(firmware) rootfstype=squashfs,jffs2 noinitrd [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes [ 0.000000] Writing ErrCtl register=00000000 [ 0.000000] Readback ErrCtl register=00000000 [ 0.000000] Memory: 126288k/131072k available (2219k kernel code, 4784k reserved, 586k data, 212k init, 0k highmem) [ 0.000000] SLUB: Genslabs=9, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:51 [ 0.000000] Calibrating delay loop... 452.19 BogoMIPS (lpj=2260992) [ 0.060000] pid_max: default: 32768 minimum: 301 [ 0.060000] Mount-cache hash table entries: 512 [ 0.070000] NET: Registered protocol family 16 [ 0.070000] gpiochip_add: registered GPIOs 0 to 15 on device: ath79 [ 0.080000] MIPS: machine is NETGEAR WNDR3700/WNDR3800/WNDRMAC [ 2.680000] registering PCI controller with io_map_base unset [ 2.690000] bio: create slab <bio-0> at 0 [ 2.700000] PCI host bridge to bus 0000:00 [ 2.700000] pci_bus 0000:00: root bus resource [mem 0x10000000-0x16ffffff] [ 2.710000] pci_bus 0000:00: root bus resource [io 0x0000] [ 2.710000] pci 0000:00:11.0: [168c:ff1d] type 0 class 0x000200 [ 2.710000] pci 0000:00:11.0: fixup device configuration [ 2.720000] pci 0000:00:11.0: reg 10: [mem 0x00000000-0x0000ffff] [ 2.720000] pci 0000:00:11.0: PME# supported from D0 D3hot [ 2.720000] pci 0000:00:12.0: [168c:ff1d] type 0 class 0x000200 [ 2.720000] pci 0000:00:12.0: fixup device configuration [ 2.720000] pci 0000:00:12.0: reg 10: [mem 0x00000000-0x0000ffff] [ 2.720000] pci 0000:00:12.0: PME# supported from D0 D3hot [ 2.720000] pci 0000:00:11.0: BAR 0: assigned [mem 0x10000000-0x1000ffff] [ 2.730000] pci 0000:00:12.0: BAR 0: assigned [mem 0x10010000-0x1001ffff] [ 2.730000] pci 0000:00:11.0: using irq 40 for pin 1 [ 2.740000] pci 0000:00:12.0: using irq 41 for pin 1 [ 2.740000] Switching to clocksource MIPS [ 2.750000] NET: Registered protocol family 2 [ 2.750000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes) [ 2.750000] TCP established hash table entries: 4096 (order: 3, 32768 bytes) [ 2.760000] TCP bind hash table entries: 4096 (order: 2, 16384 bytes) [ 2.760000] TCP: Hash tables configured (established 4096 bind 4096) [ 2.770000] TCP reno registered [ 2.770000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 2.780000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 2.780000] NET: Registered protocol family 1 [ 2.790000] PCI: CLS 0 bytes, default 32 [ 2.800000] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 2.810000] JFFS2 version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 2.820000] msgmni has been set to 246 [ 2.820000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254) [ 2.830000] io scheduler noop registered [ 2.830000] io scheduler deadline registered (default) [ 2.840000] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 2.870000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A [ 2.870000] console [ttyS0] enabled, bootconsole disabled [ 2.890000] m25p80 spi0.0: found mx25l12805d, expected m25p80 [ 2.890000] m25p80 spi0.0: mx25l12805d (16384 Kbytes) [ 2.900000] 6 cmdlinepart partitions found on MTD device spi0.0 [ 2.900000] Creating 6 MTD partitions on "spi0.0": [ 2.910000] 0x000000000000-0x000000050000 : "u-boot" [ 2.910000] 0x000000050000-0x000000070000 : "u-boot-env" [ 2.920000] 0x000000070000-0x000000170000 : "kernel" [ 2.930000] 0x000000170000-0x000000ff0000 : "rootfs" [ 2.930000] mtd: partition "rootfs" set to be root filesystem [ 2.940000] mtd: partition "rootfs_data" created automatically, ofs=2F0000, len=D00000 [ 2.950000] 0x0000002f0000-0x000000ff0000 : "rootfs_data" [ 2.950000] 0x000000ff0000-0x000001000000 : "art" [ 2.960000] 0x000000070000-0x000000ff0000 : "firmware" [ 2.970000] Realtek RTL8366S ethernet switch driver version 0.2.2 [ 2.970000] rtl8366s rtl8366s: using GPIO pins 5 (SDA) and 7 (SCK) [ 2.980000] rtl8366s rtl8366s: RTL8366 ver. 1 chip found [ 3.020000] rtl8366s: probed [ 3.020000] eth0: Atheros AG71xx at 0xb9000000, irq 4 [ 3.330000] eth1: Atheros AG71xx at 0xba000000, irq 5 [ 3.640000] ag71xx ag71xx.1: eth1: connected to PHY at rtl8366s:04 [uid=001cc960, driver=Generic PHY] [ 3.640000] TCP cubic registered [ 3.650000] NET: Registered protocol family 17 [ 3.650000] Bridge firewalling registered [ 3.660000] 8021q: 802.1Q VLAN Support v1.8 [ 3.670000] VFS: Mounted root (squashfs filesystem) readonly on device 31:3. [ 3.670000] Freeing unused kernel memory: 212k freed [ 5.120000] ar71xx: pll_reg 0xb8050010: 0x11110000 [ 5.120000] eth0: link up (1000Mbps/Full duplex) [ 5.140000] Registered led device: wndr3700:green:power [ 5.150000] Registered led device: wndr3700:orange:power [ 5.150000] Registered led device: wndr3700:green:wps [ 5.150000] Registered led device: wndr3700:orange:wps [ 5.150000] Registered led device: wndr3700:green:wan [ 8.380000] JFFS2 notice: (473) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (0 unche cked, 0 orphan) and 10 of xref (0 dead, 2 orphan) found. [ 8.510000] eth0: link down [ 9.030000] Compat-drivers backport release: compat-drivers-2012-09-04-2-gddac993 [ 9.030000] Backport based on wireless-testing.git master-2012-09-07 [ 9.040000] compat.git: wireless-testing.git [ 9.060000] cfg80211: Calling CRDA to update world regulatory domain [ 9.070000] cfg80211: World regulatory domain updated: [ 9.070000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) [ 9.080000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 9.090000] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) [ 9.100000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) [ 9.100000] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 9.110000] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 9.330000] usbcore: registered new interface driver usbfs [ 9.340000] usbcore: registered new interface driver hub [ 9.340000] usbcore: registered new device driver usb [ 9.720000] PCI: Enabling device 0000:00:11.0 (0000 -> 0002) [ 9.730000] ath: phy0: eeprom contains invalid mac address: ff:ff:ff:ff:ff:ff [ 9.740000] ath: phy0: random mac address will be used: 06:b7:bc:d8:89:39 [ 9.750000] ath: EEPROM regdomain: 0x60 [ 9.750000] ath: EEPROM indicates we should expect a direct regpair map [ 9.750000] ath: Country alpha2 being used: 00 [ 9.750000] ath: Regpair used: 0x60 [ 9.750000] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' [ 9.750000] Registered led device: ath9k-phy0 [ 9.750000] ieee80211 phy0: Atheros AR9280 Rev:2 mem=0xb0000000, irq=40 [ 9.760000] PCI: Enabling device 0000:00:12.0 (0000 -> 0002) [ 9.770000] ath: EEPROM regdomain: 0x0 [ 9.770000] ath: EEPROM indicates default country code should be used [ 9.770000] ath: doing EEPROM country->regdmn map search [ 9.770000] ath: country maps to regdmn code: 0x3a [ 9.770000] ath: Country alpha2 being used: US [ 9.770000] ath: Regpair used: 0x3a [ 9.780000] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht' [ 9.780000] Registered led device: ath9k-phy1 [ 9.780000] ieee80211 phy1: Atheros AR9280 Rev:2 mem=0xb0010000, irq=41 [ 9.790000] cfg80211: Calling CRDA for country: US [ 9.790000] cfg80211: Regulatory domain changed to country: US [ 9.800000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) [ 9.810000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2700 mBm) [ 9.810000] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 1700 mBm) [ 9.820000] cfg80211: (5250000 KHz - 5330000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 9.830000] cfg80211: (5490000 KHz - 5600000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 9.840000] cfg80211: (5650000 KHz - 5710000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 9.840000] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm) [ 9.870000] PPP generic driver version 2.4.2 [ 10.030000] ip_tables: (C) 2000-2006 Netfilter Core Team [ 10.160000] NET: Registered protocol family 24 [ 10.180000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 10.180000] ehci-platform ehci-platform: Generic Platform EHCI Controller [ 10.190000] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1 [ 10.230000] ehci-platform ehci-platform: irq 3, io mem 0x1b000000 [ 10.250000] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00 [ 10.250000] hub 1-0:1.0: USB hub found [ 10.260000] hub 1-0:1.0: 2 ports detected [ 10.270000] nf_conntrack version 0.5.0 (1976 buckets, 7904 max) [ 10.420000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 10.420000] ohci-platform ohci-platform: Generic Platform OHCI Controller [ 10.430000] ohci-platform ohci-platform: new USB bus registered, assigned bus number 2 [ 10.440000] ohci-platform ohci-platform: irq 14, io mem 0x1c000000 [ 10.500000] hub 2-0:1.0: USB hub found [ 10.500000] hub 2-0:1.0: 2 ports detected [ 12.650000] ar71xx: pll_reg 0xb8050010: 0x11110000 [ 12.650000] eth0: link up (1000Mbps/Full duplex) [ 12.650000] device eth0.1 entered promiscuous mode [ 12.660000] device eth0 entered promiscuous mode [ 12.660000] br-lan: port 1(eth0.1) entered forwarding state [ 12.660000] br-lan: port 1(eth0.1) entered forwarding state [ 12.670000] br-lan: port 1(eth0.1) entered forwarding state [ 14.670000] br-lan: port 1(eth0.1) entered forwarding state
Basic configuration
Make basic configuration as described in the →checks_and_troubleshooting
Specific configuration
Kernel modules
This section is very old and does not apply to current stable, nor the previous stable version of OpenWrt.
May be need to install WiFi support packages to use WiFi in the Netgear WDNR3800. Built-in kernel modules of Backfire don't work with WiFi hardware of WNDR3800. If WiFi can't work, you may try following command of uci:
# opkg update # opkg install kmod-ath9k wpad-mini
Ethernet switch configuration (VLAN)
If you want set up some ports to another 802.1Q VLAN, you should known about ethernet port numbers:
Port number in the switch configuation | Port 0 | Port 1 | Port 2 | Port 3 | Port 4 | Port 5 |
---|---|---|---|---|---|---|
Port marked in the case | “4” | “3” | “2” | “1” | “WAN” | CPU port (trunk) |
“Port 4” are connected to CPU's eth1 and usually it should not be used in your configuration.
Please remember: Port 5 in tagged mode should be included into each VLAN. Otherwise such VLAN can't be routed (will be isolated from router).
Hardware
Info
Architecture: | MIPS |
Vendor: | Qualcomm Atheros |
bootloader: | U-Boot? |
System-On-Chip: | AR7161 rev 2 |
CPU/Speed | 24Kc V7.4 680 MHz |
Flash-Chip: | Macronix MX25L12845EWI-10G |
Flash size: | 16384 KiB |
RAM-Chip: | 2 x Hynix H5DU5162ETR-E3C |
RAM: | 128 MiB |
Wireless: | ? |
Ethernet: | Realtek RTL8366SR |
USB: | Yes 1×2.0 (ar71xx built-in EHCI controller) |
Serial: | Yes |
JTAG: | Yes |
Photos
Opening the case
Note: This will void your warranty!
- To remove the cover use a Torx (T8) screwdriver.
- There are two screws easily visible on the bottom of the case.
- There are four more screws under the rubber feet. The feet are not glued to the plastic and can easily be removed and pushed back into place once reassembled. The feet have rubber tethers, but you can slide them out gently without damaging them, and later you can reinsert them just as easily. Don't forget to put them in a plastic baggie so you don't lose them!
Serial
Internal J1 4-pin connector
Pin Out | Description |
---|---|
Pin1 | 3.3V |
Pin2 | TX |
Pin3 | RX |
Pin4 | GND |
3.3V serial port voltage !!! Is it need to use 3.3V serial adapter, for example, with PL2303 chip. (You may modify usb cable for mobile phone.)
COM port settings: Speed:115200, Data bits:8, Stop bits:1, Parity:none, Flow control:none
JTAG
Internal J3 connector with the key pin in the left-top corner at the photo, even pins in top line, odd pins in bottom line.
14 Pin header
J3 Pinout | |||
---|---|---|---|
Pin | Value | Pin | Value |
Pin1 | TRST | Pin2 | GND |
Pin3 | TDI | Pin4 | GND |
Pin5 | TDO | Pin6 | GND |
Pin7 | TMS | Pin8 | GND |
Pin9 | TCK | Pin10 | GND |
Pin11 | RST | Pin12 | NC |
Pin13 | NC | Pin14 | 3.3VDC |
See port.jtag for more JTAG details.
Recovery flash in failsafe mode
If you happen to brick your router, do not fear. You can use TFTP file transfer to flash the router with a new firmware.
You need:
- A TFTP client for your computer. There are both command-line tools and GUI versions available.
- Your computer must have an IP address from the 192.168.1.x network, as the router failsafe mode defaults to 192.168.1.1.
- A new firmware to flash in. Either an original Netgear firmware or an Openwrt “factory.img” firmware. “Sysupgrade” version will not work.
- Access to router's reset button
- Configure your ethernet connection (on the client machine you're using to configure the WNDR3800) using a static IP as 192.168.1.2, netmask 255.255.255.0. (The WNDR3800 in factory reset mode is going to come up as 192.168.1.1.)
- Connect your computer to one of the LAN (not WAN) ports on the router.
- Start a continuous ping from your client computer to 192.168.1.1 (Linux and Mac OS ping will continue until stopped by default; Windows ping by default sends 4 pings and then stops, so use “ping -t” under Windows); probably nothing will answer these pings yet, but you can use the output to tell you when the router is ready in the next couple steps.
- Power the router off.
- Hold down the factory reset button on the bottom of the case. Now turn the router back on while continuing to hold the factory reset button...
- Wait until the router is listening on 192.168.1.1 (this takes 45-60 seconds; to confirm, you can ping 192.168.1.1, and see if it responds; it's best to start a sequence of ping requests above, before your hands get busy with the factory reset button).
- Release the factory reset button. (If you happen to have a serial cable connected, you'll see that the system is in firmware recovery mode and that it will be waiting for you to upload firmware. But you don't need the serial cable at all.)
- Run a tftp CLIENT on your computer (enter no hostname on the command line), set transfer mode to binary and retransmit timeout to one second (optional), next put firmware image to router.
For the linux tftp client enter the following (note “rexmt 1”! Some people do not see “1” and enter “binary” as the value for rexmt, thus they do not switch to the binary mode, and upload doesn't start):
verbose trace rexmt 1 binary connect 192.168.1.1 put WNDR3800-V1.0.0.40.img (or whatever the filename is that you are trying to flash)
If successful, you will see upload progress info for a couple of seconds, then the router will flash itself and reboot automatically. This may take several minutes. Be patient, don't reset or switch off a router!
Notes
Gain access to built-in telnet daemon of the original firmware.
Many Netgear routers have telnet support built-in, but gaining access to it requires an extra step of sending a specially formatted payload to the telnet daemon
before it will allow users to log in. Netgear provides the executable called telnetenable.exe
for doing just this. It is only available for the “other OS”. However, people not employed by Netgear wrote two alternative Programs that do run under Unix. One is written in C and is under the GPLv2 and the other written in Python and is under the MIT License.
- please follow ⇒ Unlocking the Netgear Telnet Console
Reverting back to the original netgear firmware.
- Download the desired netgear firmware to your computer
- Unzip and extract the netgear IMG file
- Rename the IMG file to WNDR3800.img
- Download a TFTP client for the computer's OS
- Reset the WNDR3800 router to default openwrt settings
- Connect the computer to router via ethernet on one of the switched ports (e.g. port 1)
- Configure computer to get an IP via DHCP
- Login as root on the router on a browser via http://192.168.1.1
- Configure a password for root on the router and then logout
- Login as root on the router using SSH from computer
- Erase the firmware partition of the router:
mtd -r erase firmware
- The router will reboot
- Run the tftp client on the computer so it transfers the netgear image file to the router:
For example: tftp-client.exe -i 192.168.1.1 put WNDR3800.img
- The power led goes off on the router but the LAN port remains lit for 1 to 2 minutes
- After that the power led begins to flash yellow and green for less than a minute and then the router reboots
- It takes about 2 mins for the router to boot up
- When the router boots up it will be running the netgear firmware
Resources
- OEM source code and toolchain: Netgear KB Article 2649 - Netgear Open Source Code for Programmers - GPL