Netgear WNDR3800

FIXME Hardware specific sections according to the Hardware Template wanted!

Supported Versions

Version/Model Launch Date S/N OpenWrt Version Supported Model Specific Notes
v1 2011-03 - r28597 successor to the WNDR3700
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.

Hardware Highlights

CPU Ram Flash Network USB Serial JTag
Atheros AR7161 rev 2 680 MHz 128MiB 16MiB 4 x 1 Yes Yes Yes

Installation

1. First, it is need to select OpenWRT firmware, please consult →obtain.firmware

This device is supported in Backfire 10.03.1 and above. Manually building OpenWrt is not required. Quickest way is to download a precompiled stable image, look for wndr3800 factory (SquashFS is recommended):

You also may try last 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

See the example →Flash Layout to understand OpenWrt better.

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"

Netgear WNDR3800 Flash Layout
Layer0 16384KiB
Size in KiB 320KiB 128KiB 14592KiB 64KiB 64KiB 64KiB 64KiB 1024KiB 64KiB 14591,9375KiB
Name uboot env rootfs config config_bak pot traffic_meter language caldata mount_fs
mountpoint /?
filesystem SquashFS?

OEM easy installation

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

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:

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

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 →basic.config

Specific configuration

Kernel modules

May be need to install WiFi support packages to use WiFi in the Netgerar WRDN3800. 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 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 1x2.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

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

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

Pin Out
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
  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 trasfer 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.

Resources

  1. OEM source code and toolchain: ftp://downloads.netgear.com/files/GPL/

Tags

Back to top

toh/netgear/wndr3800.txt · Last modified: 2014/03/04 16:26 by orenr