NETGEAR WNR612 v2
This router is a device with 2 LAN + 1 WAN-port, plus WLAN. The v2 reflects the 2 LAN-ports.
Note: Official images are too large as of 17.XX. Use the Community Builds in the forum topic URL below for the latest 17.XX, 18.XX, and 19.XX images. https://forum.openwrt.org/t/builds-for-netgear-wnr1000v2-wnr1000v2-vc-wnr612v2-wpn824n-wnr2000v3/39360
Note: The device is very similar to the NetGear WNR2000v3, but has less LAN ports.
Note: The device is re-branded as the On Networks N150 router, in a different casing.
Note: There is also a v3 based on Realtek RTL8196C, which is not supported by OpenWrt. It also has 2 LAN + 1 WAN-port, plus WLAN.
OEM source code available at: ftp://downloads.netgear.com/files/GPL/wnr612v2-V1.0.0.3_1.0.2_src.tar.bz2.zip
Supported Versions
Hardware Highlights
Installation
→ Install OpenWrt (generic explanation)
Model | Image name |
---|---|
Netgear WNR612v2 | ar71xx/generic/openwrt-ar71xx-generic-wnr612v2 |
On Networks N150 | ar71xx/generic/openwrt-ar71xx-generic-n150r |
Flash Layout
OEM easy installation
Warning: There have been reports that installing openwrt-15.05.1-ar71xx-generic-n150r-squashfs-factory.img
(using the web interface of the stock/original firmware) bricks the On Networks N150R: https://forum.openwrt.org/viewtopic.php?pid=321423.
Note: Official images are too large as of 17.XX. Use the Community Builds in the forum topic URL below for the latest 17.XX, 18.XX, and 19.XX images. https://forum.openwrt.org/t/builds-for-netgear-wnr1000v2-wnr1000v2-vc-wnr612v2-wpn824n-wnr2000v3/39360
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 the Management page.
- Select Update Firmware, use firmware file selection button and firmware upgrade button to start firmware upgrade process.
- If you used OpenWrt CC you can browse to 192.168.1.1 and setup OpenWrt.
OEM installation using the TFTP method
- Connect via serial console
- Interrupt U-Boot by pressing any key
- You may need to enable writes to the flash by issuing “protect off all”
- At the U-Boot prompt enter the
fsload
command - A TFTP server starts listening on port 192.168.1.1
- Start TFTPing the image now
- For the V1:
openwrt-ar71xx-generic-wnr612v2-squashfs-factory.img
- For the V2:
openwrt-ar71xx-generic-wnr612v2-squashfs-factory.img
tftp 192.168.1.1 mode binary put openwrt-ar71xx-generic-wnr612v2-squashfs-factory.img quit
LuCI Web Upgrade Process
- Browse to
http://192.168.1.1/cgi-bin/luci/mini/system/upgrade/
LuCI Upgrade URL - Upload image file for sysupgrade to LuCI
- Wait for reboot
Terminal Upgrade Process
- Login as root via SSH on 192.168.1.1
- Use the following commands to upgrade.
cd /tmp/ wget http://http://downloads.openwrt.org/snapshots/trunk/XXX/xxx.abc sysupgrade /tmp/xxx.abc
- If sysupgrade does not support this router, use the following commands.
cd /tmp/ wget http://http://downloads.openwrt.org/snapshots/trunk/XXX/xxx.abc mtd write /tmp/xxx.abc linux && reboot
Basic configuration
→ Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.
Specific Configuration
Hardware
Info
Instruction set | MIPS |
---|---|
Vendor | Qualcomm Atheros |
bootloader | U-Boot |
System-On-Chip | Atheros AR7240 |
CPU @Frq | MIPS 24Kc V7.4 @400MHz |
Flash size | 4096 KiB |
RAM size | 32 MiB |
Wireless No1 | distinct Chip: AR9285 |
switch | |
USB | No |
Serial | Yes |
JTAG | No |
Photos
Opening the case
Serial
→ port.serial general information about the serial port, serial port cable, etc.
The serial port is found at JPA1.
Pin Out | Description |
---|---|
Pin1 | 3.3V |
Pin2 | TX |
Pin3 | RX |
Pin4 | GND |
CPU
# cat /proc/cpuinfo system type : Atheros AR7240 rev 2 machine : NETGEAR WNR612 V2 processor : 0 cpu model : MIPS 24Kc V7.4 BogoMIPS : 265.42 wait instruction : yes microsecond timers : yes tlb_entries : 16 extra interrupt vector : yes hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb] isa : mips1 mips2 mips32r1 mips32r2 ASEs implemented : mips16 shadow register sets : 1 kscratch registers : 0 package : 0 core : 0 VCED exceptions : not available VCEI exceptions : not available
GPIO
GPIO LEDs and buttons on this device are connected to GPIO controllers on AR7240 SoC and AR9285 wireless chip.
Controlled by AR7240 SoC (18 GPIOs total, LAN LEDs shared with built-in Ethernet switch) :
Type | Function | GPIO | Polarity | Notes |
---|---|---|---|---|
LED | POWER GREEN | 11 (0, 11) | active low | |
LED | LAN1 GREEN | 13 (0, 13) | active low | link activity - see note [0] |
LED | LAN2 GREEN | 14 (0, 14) | active low | link activity - see note [0] |
LED | WAN GREEN | 17 (0, 17) | active low | link activity - see note [0] |
Controlled by AR9285 wireless chip (12 GPIOs total) :
Type | Function | GPIO | Polarity | Notes |
---|---|---|---|---|
LED | WLAN GREEN | 53 (1, 1) | active low | not all triggers work - see note [1] |
Button | RESET | 59 (1, 7) | active low |
Notes:
- [0] - needs reprogramming of SoC to deallocate GPIO pins from built-in Ethernet switch
- [1] - 'phy0radio' trigger does not work, use default 'phy0tpt' or 'wlan0' netdevice instead
GPIO in OpenWrt
# cat /sys/kernel/debug/gpio GPIOs 0-17, ath79: gpio-11 (netgear:green:power ) out lo gpio-13 (netgear:green:lan1 ) out lo gpio-14 (netgear:green:lan2 ) out lo gpio-17 (netgear:green:wan ) out lo GPIOs 52-63, ath9k-phy0: gpio-53 (netgear:green:wlan ) out hi gpio-59 (reset ) in hi
Bootlogs
OpenWrt bootlog
U-Boot 1.1.4 (WNR612 400 MHz, V0.7, Dec 12 2011 - 11:31:40) DRAM: sri #### TAP VALUE 1 = a, 2 = a 32 MB Top of RAM usable for U-Boot at: 82000000 Reserving 277k for U-Boot at: 81fb8000 Reserving 192k for malloc() at: 81f88000 Reserving 44 Bytes for Board Info at: 81f87fd4 Reserving 36 Bytes for Global Data at: 81f87fb0 Reserving 128k for boot params() at: 81f67fb0 Stack Pointer at: 81f67f98 Now running in RAM - U-Boot at: 81fb8000 id read 0x100000ff flash size 4194304, sector count = 64 Flash: 4 MB In: serial Out: serial Err: serial Net: ag7240_enet_initialize... No valid address in Flash. Using fixed address No valid address in Flash. Using fixed address : cfg1 0xf cfg2 0x7014 eth0: 00:03:7f:09:0b:ad eth0 up : cfg1 0xf cfg2 0x7214 eth1: 00:03:7f:09:0b:ad ATHRS26: resetting s26 ATHRS26: s26 reset done eth1 up eth0, eth1 Hit any key to stop autoboot: 0 Trying eth1 dup 1 speed 1000 Client starts...[Listening] for ADVERTISE...TTT Retry count exceeded; boot the image as usual nmrp server is stopped or failed ! Verifying Checksum ... OK ### SQUASHFS loading 'image/uImage' to 0x80800000 ### SQUASHFS load complete: 1065900 bytes loaded to 0x80800000 ## Booting image at 80800000 ... Image Name: MIPS OpenWrt Linux-3.10.49 Created: 2014-09-03 19:43:44 UTC Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 1065836 Bytes = 1 MB Load Address: 80060000 Entry Point: 80060000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK No initrd ## Transferring control to Linux (at address 80060000) ... ## Giving linux memsize in bytes, 33554432 Starting kernel ... [ 0.000000] Linux version 3.10.49 (wigyori@trabant) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r42305) ) #3 Wed Sep 3 21:43:33 CEST 2014 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU revision is: 00019374 (MIPS 24Kc) [ 0.000000] SoC: Atheros AR7240 rev 2 [ 0.000000] Clocks: CPU:400.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:5.000MHz [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 02000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x00000000-0x01ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000-0x01ffffff] [ 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] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 [ 0.000000] Kernel command line: board=WNR612V2 console=ttyS0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,3712k(firmware),64k(art)ro rootfstype=squashfs,jffs2 noinitrd [ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes) [ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Writing ErrCtl register=00000000 [ 0.000000] Readback ErrCtl register=00000000 [ 0.000000] Memory: 28784k/32768k available (2239k kernel code, 3984k reserved, 603k data, 228k init, 0k highmem) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:51 [ 0.000000] Calibrating delay loop... 265.42 BogoMIPS (lpj=1327104) [ 0.080000] pid_max: default: 32768 minimum: 301 [ 0.080000] Mount-cache hash table entries: 512 [ 0.090000] NET: Registered protocol family 16 [ 0.100000] MIPS: machine is NETGEAR WNR612 V2 [ 0.500000] registering PCI controller with io_map_base unset [ 0.510000] bio: create slab <bio-0> at 0 [ 0.520000] PCI host bridge to bus 0000:00 [ 0.520000] pci_bus 0000:00: root bus resource [mem 0x10000000-0x13ffffff] [ 0.530000] pci_bus 0000:00: root bus resource [io 0x0000] [ 0.530000] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff] [ 0.540000] pci 0000:00:00.0: fixup device configuration [ 0.540000] pci 0000:00:00.0: BAR 0: assigned [mem 0x10000000-0x1000ffff 64bit] [ 0.550000] pci 0000:00:00.0: using irq 40 for pin 1 [ 0.550000] Switching to clocksource MIPS [ 0.560000] NET: Registered protocol family 2 [ 0.560000] TCP established hash table entries: 512 (order: 0, 4096 bytes) [ 0.570000] TCP bind hash table entries: 512 (order: -1, 2048 bytes) [ 0.580000] TCP: Hash tables configured (established 512 bind 512) [ 0.580000] TCP: reno registered [ 0.590000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.590000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.600000] NET: Registered protocol family 1 [ 0.620000] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.630000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.640000] msgmni has been set to 56 [ 0.640000] io scheduler noop registered [ 0.650000] io scheduler deadline registered (default) [ 0.650000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled [ 0.680000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A [ 0.690000] console [ttyS0] enabled, bootconsole disabled [ 0.690000] console [ttyS0] enabled, bootconsole disabled [ 0.700000] ath79-spi ath79-spi: master is unqueued, this is deprecated [ 0.710000] m25p80 spi0.0: found mx25l3205d, expected m25p80 [ 0.720000] m25p80 spi0.0: mx25l3205d (4096 Kbytes) [ 0.720000] 4 cmdlinepart partitions found on MTD device spi0.0 [ 0.730000] Creating 4 MTD partitions on "spi0.0": [ 0.730000] 0x000000000000-0x000000040000 : "u-boot" [ 0.740000] 0x000000040000-0x000000050000 : "u-boot-env" [ 0.750000] 0x000000050000-0x0000003f0000 : "firmware" [ 0.750000] 2 netgear-fw partitions found on MTD device firmware [ 0.760000] 0x000000050000-0x000000155440 : "kernel" [ 0.760000] mtd: partition "kernel" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only [ 0.780000] 0x000000155440-0x0000003f0000 : "rootfs" [ 0.780000] mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only [ 0.800000] mtd: device 4 (rootfs) set to be root filesystem [ 0.800000] 1 squashfs-split partitions found on MTD device rootfs [ 0.810000] 0x0000003a0000-0x0000003f0000 : "rootfs_data" [ 0.820000] 0x0000003f0000-0x000000400000 : "art" [ 0.930000] libphy: ag71xx_mdio: probed [ 1.510000] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.0:04 [uid=004dd041, driver=Generic PHY] [ 1.520000] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:MII [ 2.090000] ag71xx-mdio.0: Found an AR7240/AR9330 built-in switch [ 3.120000] eth1: Atheros AG71xx at 0xba000000, irq 5, mode:GMII [ 3.120000] TCP: cubic registered [ 3.130000] NET: Registered protocol family 17 [ 3.130000] 8021q: 802.1Q VLAN Support v1.8 [ 3.150000] VFS: Mounted root (squashfs filesystem) readonly on device 31:4. [ 3.160000] Freeing unused kernel memory: 228K (80327000 - 80360000) procd: Console is alive procd: - watchdog - [ 5.820000] usbcore: registered new interface driver usbfs [ 5.830000] usbcore: registered new interface driver hub [ 5.830000] usbcore: registered new device driver usb [ 5.850000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 5.850000] ehci-platform: EHCI generic platform driver [ 5.860000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver procd: - preinit - Press the [f] key and hit [enter] to enter failsafe mode Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level [ 8.120000] eth1: link up (1000Mbps/Full duplex) jffs2 is ready jffs2 is ready [ 10.720000] jffs2: notice: (298) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (0 unchecked, 0 orphan) and 14 of xref (0 dead, 2 orphan) found. switching to overlay [ 10.760000] eth1: link down procd: - early - procd: - watchdog - procd: - ubus - procd: - init - Please press Enter to activate this console. [ 12.230000] NET: Registered protocol family 10 [ 12.240000] tun: Universal TUN/TAP device driver, 1.6 [ 12.240000] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> [ 12.260000] nf_conntrack version 0.5.0 (453 buckets, 1812 max) [ 12.270000] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 12.290000] Loading modules backported from Linux version master-2014-05-22-0 -gf2032ea [ 12.300000] Backport generated by backports.git -backports-20140320-37-g5c33da 0 [ 12.310000] ip_tables: (C) 2000-2006 Netfilter Core Team [ 12.360000] xt_time: kernel timezone is -0000 [ 12.400000] cfg80211: Calling CRDA to update world regulatory domain [ 12.400000] cfg80211: World regulatory domain updated: [ 12.410000] cfg80211: DFS Master region: unset [ 12.410000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time) [ 12.420000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) [ 12.430000] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) [ 12.440000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A) [ 12.450000] cfg80211: (5170000 KHz - 5250000 KHz @ 160000 KHz), (N/A, 2000 mBm), (N/A) [ 12.450000] cfg80211: (5250000 KHz - 5330000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s) [ 12.460000] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s) [ 12.470000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A) [ 12.480000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0mBm), (N/A) [ 12.540000] PPP generic driver version 2.4.2 [ 12.560000] NET: Registered protocol family 24 [ 12.620000] PCI: Enabling device 0000:00:00.0 (0000 -> 0002) [ 12.630000] ath: phy0: Enable LNA combining [ 12.630000] ath: phy0: eeprom contains invalid mac address: ff:ff:ff:ff:ff:ff [ 12.640000] ath: phy0: random mac address will be used: fe:64:6b:c4:d8:a1 [ 12.680000] cfg80211: Calling CRDA for country: US [ 12.690000] cfg80211: Regulatory domain changed to country: US [ 12.690000] cfg80211: DFS Master region: FCC [ 12.700000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gai [ 12.480000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A) [ 12.540000] PPP generic driver version 2.4.2 [ 12.560000] NET: Registered protocol family 24 [ 12.620000] PCI: Enabling device 0000:00:00.0 (0000 -> 0002) [ 12.630000] ath: phy0: Enable LNA combining [ 12.630000] ath: phy0: eeprom contains invalid mac address:ff:ff:ff:ff:ff:ff [ 12.640000] ath: phy0: random mac address will be used: fe:64:6b:c4:d8:a1 [ 12.680000] cfg80211: Calling CRDA for country: US [ 12.690000] cfg80211: Regulatory domain changed to country: US [ 12.690000] cfg80211: DFS Master region: FCC [ 12.700000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time) [ 12.710000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 3000 mBm), (N/A) [ 12.710000] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 1700 mBm), (N/A) [ 12.720000] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz), (N/A, 2300 mBm), (0 s) [ 12.730000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 mBm), (N/A) [ 12.740000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A) [ 12.750000] ieee80211 phy0: Atheros AR9285 Rev:2 mem=0xb0000000, irq=40 procd: - init complete - [ 23.260000] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready [ 23.260000] device eth1 entered promiscuous mode [ 23.270000] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 23.280000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 24.370000] eth1: link up (1000Mbps/Full duplex) [ 24.370000] br-lan: port 1(eth1) entered forwarding state [ 24.380000] br-lan: port 1(eth1) entered forwarding state [ 24.380000] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready [ 24.400000] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready [ 26.380000] br-lan: port 1(eth1) entered forwarding state BusyBox v1.22.1 (2014-08-26 18:44:42 CEST) built-in shell (ash) Enter 'help' for a list of built-in commands. _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- CHAOS CALMER (Bleeding Edge, r42305) ----------------------------------------------------- * 1 1/2 oz Gin Shake with a glassful * 1/4 oz Triple Sec of broken ice and pour * 3/4 oz Lime Juice unstrained into a goblet. * 1 1/2 oz Orange Juice * 1 tsp. Grenadine Syrup ----------------------------------------------------- root@OpenWrt:/#
Custom u-boot
There is a project allowing to build custom u-boot image https://github.com/realmicu/uboot-wnrmod2k It could be used if flash memory chip was replaced or to obtain additional functionality.