OpenWrt Forum Archive

Topic: WNDR3700 exploration

The content of this topic has been archived between 1 Oct 2014 and 7 May 2018. Unfortunately there are posts – most likely complete pages – missing.

I'll check back with you kj0 when I come from work at evening. I sure do have a working netatalk/afpd configuration..

ronzo wrote:

I am running Backfire 10.03.1 (build 20728) on my WNDR3700 for quite a while now...

What I noticed is, that establishing a wifi connection takes much longer as with my OpenWRT-device before (Linksys). Obtaining an IP address by DHCP takes also longer. [...]

Can anyone confirm this problem? Does anyone know more about it?

The same problem with several versions.
Long time for establishing the wifi-connection and annoying long time to get an DHCP-answer.. :-/ Maybe about a minute..
The WRT54g with openwrt Kamikaze does this within a second.

Yes, same problems with slow connects.  Also random wireless "drops" (the wireless link is up, but the router stops responding on wireless ports).  I've tried several builds over the last 6 months, and each time I (very reluctantly) end up going back to the factory firmware.  I've taken to watching for promising sounding patches on the ath9k driver.  There's been some in the last couple weeks, and I haven't had a chance to retest.

There has been some speculation that older hardware revisions of the router are more prone to the wireless issues.  I don't know how strong the evidence is.

What's the easiest way of going back to the original Netgear firmware?

Can I simply download the latest firmware (WNDR3700-V1.0.4.68) for the device and flash it using the LuCi 'flash firmware' page? How did you do it?

ronzo wrote:

What's the easiest way of going back to the original Netgear firmware?

Can I simply download the latest firmware (WNDR3700-V1.0.4.68) for the device and flash it using the LuCi 'flash firmware' page? How did you do it?

Flash via TFTP. The method is described earlier in this thread.

Could anyone provide an recent custom build of OpenWRT with force regdomain on?

Hello,
I've just bought this router and was willing to install OpenWRT.
I don't know where it goes wrong but now i'm totally stuck ...
I installed the OpenWRT last release in the first place with no problem, entered the admin zone, but after the first reboot : no more DHCP, unable to go back to the Luci console, no ping on 192.168.1.1 from my computer (and i really don't know why).

So i tried to restore the original firmware but it's a big failure too.
Am i doing something wrong ?

Here is the image i try to reapply : 6160577 2010-11-07 15:41 WNDR3700-V1.0.4.68.img

On my computer i unplug eth cable, turn off wifi and enter (eth3 is my ethernet link) :

sudo ifconfig eth3 down
sudo ifconfig eth3 192.168.1.2 netmask 255.255.255.0 up

ifconfig seems ok.
Then i ping ping 192.168.1.1, i press the reset factory button and i turn on the router :

From 192.168.1.2 icmp_seq=58 Destination Host Unreachable
From 192.168.1.2 icmp_seq=59 Destination Host Unreachable
From 192.168.1.2 icmp_seq=60 Destination Host Unreachable
40 bytes from 192.168.1.1: icmp_seq=61 ttl=64 (truncated)
40 bytes from 192.168.1.1: icmp_seq=62 ttl=64 (truncated)
40 bytes from 192.168.1.1: icmp_seq=63 ttl=64 (truncated)

Until here everything seems ok, but then i try what is in the guideline (the router led is blinking as a green led) :

tftp
tftp> verbose
Verbose mode on.
tftp> trace
Packet tracing on.
tftp> rexmt
(value) binary
tftp> connect 192.168.1.1
Connected to 192.168.1.1 (192.168.1.1), port 69
tftp> put WNDR3700-V1.0.4.68.img
putting WNDR3700-V1.0.4.68.img to 192.168.1.1:WNDR3700-V1.0.4.68.img [netascii]
sent WRQ <file=WNDR3700-V1.0.4.68.img, mode=netascii>

After the "sent WRQ" i don't have back the tftp command line (sounds strange).
Nothing happens on the router even after 5~10 minutes (still blinks).
If i try again to tftp it seems to work again ... but tftp seems pretty strange, it seems able to "connect" on any asdress (even non-existing ones) :

tftp
tftp> verbose
Verbose mode on.
tftp> trace
Packet tracing on.
tftp> connect 192.168.1.1
Connected to 192.168.1.1 (192.168.1.1), port 69
tftp> quit

Is there something wrong in my command lines ?
Any help would be really appreciated 'cause i really don't know what to do now (and i've bought this router 'cause the previous one (Dlink DGL-4300) suddenly died (does'nt turn on anymore).

Ok first mistake : i was following line by line the indications here : http://wiki.openwrt.org/toh/netgear/wndr3700 , and there is a little type rexmt asks for a value and the answer is not "binary" (which is another command) (sounds pretty obious but i'm new to tftp ...).
Without inputing rexmt the firmware is indeed well sent (sending traces shown on tftp console). I'm waiting for the router to reboot now, let's see how things are going in 5 minutes.

ronzo wrote:

What's the easiest way of going back to the original Netgear firmware?

Can I simply download the latest firmware (WNDR3700-V1.0.4.68) for the device and flash it using the LuCi 'flash firmware' page? How did you do it?

Run the firmware recovery included on the cd that came with your router.

Instructions
Turn off the router. Now turn it on whilst holding in the reset button on the bottom. Wait until the power light starts blinking slowly and release. Now run the recovery utility from the CD and you're good to go.

DocterD wrote:

Could anyone provide an recent custom build of OpenWRT with force regdomain on?

+1 . It would be a real help to those that are having problems compiling our own. I managed to get it working but no 5ghz due to the regdomain restriction..

So after encountering an un-fixable kernel panic from dd-wrt (which no one else was having, only happened when running samba or transmission) I am about to give openwrt a shot.

For the past few days i have been working with the build configure to nail down exactly what i want/need in the configuration.  But I am having a problem with determining the size of image i am shooting for and how that effects the jffs2 or squashfs versions.  currently I have the jffs2 at 7.4 megs and the squashfs at 5.4 megs.  I could add a few more apps to the image if i could get the squash up on space but not sure how it takes up space once uploaded (if it uncompressed or something to take up more space). 

What is the max size for a squashfs .img file am i looking for?


Also is there still a problem with the DHCP not handing out an IP address within a reasonable amount of time?


Any help would be much appreciated.

Thanks.

(Last edited by ccdoggy on 12 Nov 2010, 04:47)

Regdomain seems to be broken in the current SVN Version (23969).

I don't think it's broken. 5ghz was disabled to comply with certain laws or something iirc.

Nope, 5GHZ works but not every channel. Without Regdomain I can only access channel 36,40,44 and 48. With Regdomain and Countrycode DE additionally 120,124 and 128. Use "iw list" to check which channel you can use.

really? weird - i have 0 channels - it's not even an option. cant get it to turn at all. where'd you get your firmware from?

Trying to configure a guest wireless network (guest SSID should only have access to the Internet) via a second SSID on the wireless 0 interface. I'm running 'OpenWrt Backfire 10.03' with Luci for the GUI interface. I understand I need make some changes with VLANS, but I an a noobie in this area and have come close to locking myself out of the router once with a bad VLAN setup. I'm hoping someone could walk though this using Luci to set it up or if needed provide network config examples and an explanation on the VLAN setup.

Thanks,
Mark

DocterD wrote:

Nope, 5GHZ works but not every channel. Without Regdomain I can only access channel 36,40,44 and 48. With Regdomain and Countrycode DE additionally 120,124 and 128. Use "iw list" to check which channel you can use.

I am unsure how to choose a channel using 'iw list' because even some of the channels displayed are unavailable and not sure if the wireless power limits are accurate.  I should be able to get my 2.4ghz radio up to 23db but its listed at only capable of 20. 

I went ahead and installed the version I compiled myself from root.  amazingly easy to do, i am very impressed.  only missed one package to implement wireless fully without any need to install.  some space on the router for additional installs and now an additional flash drive for more.

its working great and only a few problems getting used to openwrt vs dd-wrt setup and configuration options.  working flawlessly and will hopefully finish the setup tomorrow for vpn, samba, and minidlna.  I Love the ability to only include what i need and remove all the stuff i never touch (unlike most pre-built releases which seem bloated).

I plan on reporting back with my experience with some lan-wan speeds when i finally get it into the working environment (testing/setup right now).

markjtrickey wrote:

Trying to configure a guest wireless network (guest SSID should only have access to the Internet) via a second SSID on the wireless 0 interface. I'm running 'OpenWrt Backfire 10.03' with Luci for the GUI interface. I understand I need make some changes with VLANS, but I an a noobie in this area and have come close to locking myself out of the router once with a bad VLAN setup. I'm hoping someone could walk though this using Luci to set it up or if needed provide network config examples and an explanation on the VLAN setup.

Thanks,
Mark

Did you find out how to do this?

I'd be interested in the solution also! (The one for WRT54 on the forum does not seem to apply to the WNDR 3700).

Many thanks,
Bernhard

Hi all.
Please, anyone upload your build of OpenWRT.
Thanks

any specific settings you need.. ? or just a vanilla with GUI.

Eugen1968 wrote:

Hi all.
Please, anyone upload your build of OpenWRT.
Thanks

Hi here is mine, it's backfire-svn revision 24148 with luci (including following luci-apps: ntpclient, openvpn, qos, realtime-stats, ddns) usb-storage, ext2-fs and ext4-fs, everthing needed for wifi (including force regdomain), tor-daemon

I have been using it since end of november and had no problems so far. I use 11n at 5GHz (Channel 40) for my laptop, and 11n/11g at 2.4GHz on for all the other devices (phones, old laptop,...)

My Build

but compiling your own image isn't that difficult check out the wiki for more info.

(Last edited by eleon216 on 15 Dec 2010, 09:50)

The WNDR3700 has three ethernet addresses:

    # 802.11g
    aa:bb:cc:dd:ee:2A           
    # WAN
    aa:bb:cc:dd:ee:2B
    # 802.11n
    aa:bb:cc:dd:ee:2C

Which one do I associate with 192.168.1.1 in /etc/ethers?

If you call ifconfig you'll see the LAN and WLAN interfaces do not have an IP assigned. The LAN bridge (br-lan) does though.

Why would you want to add 192.168.1.1 to /etc/ethers anyway? That file is intended for clients.

I wanted to make the OpenWrt build for WNDR3700 more "feature-complete", so I searched for information enabling the two buttons on the WNDR3700. Here are short explanations, how to enable the WiFi button and the WPS button. I have done the work on Backfire 10.03.1-SVN branch, but there shouldn't be difference to Kamikaze/trunk.

Based on SVN revision: r25261 Backfire
Build examples and SVN diffs: http://koti.welho.com/hnyman1/Openwrt/
Build process and included features explained here: https://forum.openwrt.org/viewtopic.php?id=28392

Buttons have different names in Backfire and in Kamikaze/trunk:

Backfire:  reset=BTN_0,  wps=BTN_1,  wifi=BTN_2
trunk:  reset=reset,  wps=wps,  wifi=BTN_2

Note: I added a logger line to the scripts, so that each button event gets noted in Syslog.

WiFi button:

The button automatics is pretty much already in place. It only requires hotplugging the button event to the '/sbin/wifi' script.
- The button toggles WiFi off, it at least one radio was on.
- And if both radios were off, it toggles WiFi on according to the specs set in normal Wifi config.

The simple button script just requires adding a file '/etc/hotplug.d/button/10-radio-toggle'.

root@OpenWrt:/# cat /etc/hotplug.d/button/10-radio-toggle

#!/bin/sh
if [ "$BUTTON" = "BTN_2" ] && [ "$ACTION" = "pressed" ]; then
    if [ -d /var/run/hostapd-phy0 -o -d /var/run/hostapd-phy1 ]; then
        logger "WiFi button used: WiFi down"
        /sbin/wifi down
    else
        logger "WiFi button used: WiFi up"
        /sbin/wifi up
    fi
fi

WPS button:

If you have a WPS-enabled network device (like a modern USB dongle) supporting Wi-Fi Protected Setup (WPS), you can negotiate joining the router's Wifi network without manually entering SSID & passkey. You just initiate "WPS authentication" by pushing the similar WPS button on the device (or launching the process by its driver/control software). After the device has initiated the authentication process, you can accept the transaction by using the WPS button on WNDR3700. The connection should then get negotiated, and in most cases in future your PC should remember the received network settings from then on.

After finding the information and browsing the hostapd package sourcecode, the needed actions for enabling the WPS button are pretty simple:

1) Using WPS authentication requires replacing the default 'wpad-mini' package with 'wpad' and 'hostapd-utils'. The reason is that the tool "hostapd_cli" and some needed support functions are not included in 'wpad-mini'.

WPS authentication itself is launched with a command: hostapd_cli -p /var/run/hostapd-phy0 wps_pbc

It tells the running hostapd daemon to participate in ongoing WPS authentication sequence. It needs to be run separately for each radio (= each existing hostapd process).

2) And it only works if the '/etc/config/wireless' has been modified to include info about WPS authentication being allowed by adding the option 'wps_pushbutton' '1' to the wifi-iface section of (each) radio. Additionally, the encryption should be WPA2-PSK (or maybe WPA-PSK is enough, I haven't tested).
(Looks like the version of hostapd scripts in OpenWrt does not support the full scope of hostapd's capabilities, so many of the config options documented in hostapd docs are left unused.)

That config file is read when radios are turned on, so after editing the config, restart the radios in WNDR3700.
At this point, you should be able to test it by running it from command line. If the message gets passed to hostapd, you should see there result 'OK' there. Otherwise the result is 'FAIL'.
> root@OpenWrt:~# hostapd_cli -p /var/run/hostapd-phy0 wps_pbc
> Selected interface 'wlan0'
> OK
> root@OpenWrt:~#

3) Add a hotplug button event script to launch the process.

I modified directly the hostapd package source ( /package/hostapd/files/wps-hotplug.sh ), as the hotplug script gets automatically installed to '/etc/hotplug.d/button/50-wps' with the package.  See below.

The script launches hostapd_cli for each radio and lights the WPS led for 10 seconds. There is no monitoring of the result, or anything like that. It is just a dumb script using the hostapd_cli command to pass the message to the hostapd daemon.
Remember to check the button name: Backfire:  wps="BTN_1",  trunk:  wps="wps"

root@OpenWrt:/# cat /etc/hotplug.d/button/50-wps

if [ "$ACTION" = "pressed" -a "$BUTTON" = "BTN_1" ]; then
        echo "255" > /sys/devices/platform/leds-gpio/leds/wndr3700:green:wps/brightness
        for dir in /var/run/hostapd-*; do
                [ -d "$dir" ] || continue
                logger "WPS button active: $dir"
                hostapd_cli -p "$dir" wps_pbc
        done
        sleep 10
        echo "0" > /sys/devices/platform/leds-gpio/leds/wndr3700:green:wps/brightness
fi
root@OpenWrt:/# cat /etc/config/wireless
...
config 'wifi-iface'
        option 'device' 'radio0'
        option 'network' 'lan'
        option 'mode' 'ap'
        option 'ssid' 'public'
        option 'encryption' 'psk2'
        option 'key' 'SecretKey'
        option 'wps_pushbutton' '1'
...

If everything goes ok, you should see in Syslog not only the button events, but also succesful WPS authentication:

Jan 31 21:11:09 OpenWrt user.notice root: WiFi button used: WiFi up
Jan 31 21:11:09 OpenWrt user.info kernel: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Jan 31 21:11:09 OpenWrt user.info kernel: device wlan0 entered promiscuous mode
Jan 31 21:11:09 OpenWrt user.info kernel: br-lan: port 2(wlan0) entering forwarding state
...
Jan 31 21:12:00 OpenWrt user.notice root: WPS button active: /var/run/hostapd-phy0
Jan 31 21:12:00 OpenWrt user.notice root: WPS button active: /var/run/hostapd-phy1
Jan 31 21:12:03 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.11: authenticated
Jan 31 21:12:03 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.11: associated (aid 1)
Jan 31 21:12:04 OpenWrt daemon.warn hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.1X: authentication failed - EAP type: 0 ((null))
Jan 31 21:12:04 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.1X: Supplicant used different EAP type: 254 ((null))
Jan 31 21:12:04 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.11: disassociated
Jan 31 21:12:05 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.11: deauthenticated due to inactivity
Jan 31 21:12:17 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.11: authenticated
Jan 31 21:12:17 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc IEEE 802.11: associated (aid 1)
Jan 31 21:12:17 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc RADIUS: starting accounting session 4D47094D-00000000
Jan 31 21:12:17 OpenWrt daemon.info hostapd: wlan0: STA 1c:af:f7:f6:11:dc WPA: pairwise key handshake completed (RSN)
Jan 31 21:12:29 OpenWrt daemon.info dnsmasq-dhcp[1855]: DHCPREQUEST(br-lan) 192.168.1.190 1c:af:f7:f6:11:dc 
Jan 31 21:12:29 OpenWrt daemon.info dnsmasq-dhcp[1855]: DHCPACK(br-lan) 192.168.1.190 1c:af:f7:f6:11:dc HNH57JG

EDIT: added a note about the correct button names in Backfire and trunk.
If you want to check the button names on your system, you can use the following hotplug script that just logs the button 'pressed' actions into system log:

root@OpenWrt:/etc/config# cat /etc/hotplug.d/button/02-log
#!/bin/sh
if [ "$ACTION" = "pressed" ]; then
        logger "button: "$BUTTON
fi

(Last edited by hnyman on 5 Feb 2011, 20:45)

What are the ramifications of switching from wpad-mini to wpad?