NETGEAR WNDR3800

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.

  • 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

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.

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.

You may install OpenWrt using upgrade firmware of web interface of original firmware.

  1. Download a squashfs-factory image file of OpenWrt.
  2. 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.
  3. Select an Administration page, use firmware file selection button and firmware upgrade button to start firmware upgrade process.
  4. Confirm firmwware upgrade to OpenWrt.
  5. 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.
  6. Telnet to 192.168.1.1. You in the OpenWrt console. Now you may install LuCI if needed.
  7. 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.

Doing as described in the →WNDR3700.

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:

  1. backup (it is recommended to generate a config backup archive).
  2. flash FW (check keep settings option if you want to save your settings).
  3. when router comes up connect through SSH.
  4. opkg update
  5. opkg install luci
  6. opkg install luci-ssl (now you are able to connect through the web UI too)./
  7. /etc/init.d/uhttpd enable
  8. reboot and connect in order to see that everything works (sanity check).

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


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


Make basic configuration as described in the →checks_and_troubleshooting

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

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).

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

wndr3800_back.jpg wndr3800_openback.jpg wndr3800_openfront.jpg wndr3800_antenna.jpg wndr3800_ram.jpg

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!

Internal J1 4-pin connector

Pin Out Description
Pin1 3.3V
Pin2 TX
Pin3 RX
Pin4 GND

WNDR3700 serial pin connector

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

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.

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
  1. 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.)
  2. Connect your computer to one of the LAN (not WAN) ports on the router.
  3. 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.
  4. Power the router off.
  5. 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...
  6. 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).
  7. 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.)
  8. 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!

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.

  • 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
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2024/02/12 11:13
  • by 127.0.0.1