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.

kamatschka wrote:

Can someone who installed openwrt on their WNDR3700 make some WiFi Throughput (Router<->PC (IPerf) , USB-Storage<->PC) Tests in 2,4 GHz and 5GHz band. I would really appreciate it.

Thank you in advance

Alright, I ran several iperf tests between my laptop (T400 with a Intel 5300 WiFi card running Gentoo) on both the 2.4 GHz band (64 bit WEP encrypted) and 5 GHz band (WPA2-PSK).  I consistently saw 15-20 Mbps in the 2.4 GHz band, and 32-40 Mbps with the 5 GHz one.  The router is running a firmware I built from trunk (r20639), and the network is a fairly busy one with at least 8 devices currently having active DHCP leases.  I tested my USB storage speed using NFS over 5 GHz WiFi and consistently saw 20-30 Mbps for both reading and writing.  Going over NFS on a 100 Mbps wired link, I saw a peak read speed of 60 Mbps, but couldn't reproduce it.  Using scp, I was CPU limited on the router end and never surpassed 15 Mbps.  To do a trivial test of write speed, I ssh'ed to the router and ran "time dd if=/dev/zero of=200mfile bs=1024 count=200000" (basically created a 200 MB file filled with zeros), doing so I got roughly 40 Mbps pretty consistently.

Hope this helps.

(Last edited by SDNick484 on 19 May 2010, 09:01)

Hi,

I've an issue with my WNDR3700 running Kamikaze r20845.
I don't know how I've done the job and to be honest I'm not really confident with Linux world... but now my router is nearly useless.
It sees that I've deleted the wireless config file content (Empty).
The router have forgot it's MAC addresses(now FF:FF...)
I've tried to return to factory firmware but wireless is unable to be switched on, same for MACs...
I think that's because they use the same files... don't know...

Is there a way to start over a new default config ?
I mean erase everything and restore all this mess to factory or openwrt default settings...
The only thing I want now is a wireless router...
I'm realy bored about that and I fear this f** router with learn how to fly soon...

Thanks in advance,
Every help will be appreciated.
Vincent.

You could have searched the Wiki, it helped me a few times to get back to square one... Here you can find how to go back to stock firmware.

I have done quite a bit of reading on this and have the same issue where my MAC interfaces are now FF:FF:FF:FF:FF:FF  I have done the recovery several times but still have this- not sure if I have missed step or something obvious.

Hardware Version WNDR3700
Firmware Version V1.0.4.55NA
GUI Language Version V1.0.0.1

Internet Port 
MAC Address FF:FF:FF:FF:FF:FF
IP Address 0.0.0.0
DHCP DHCPClient
IP Subnet Mask 0.0.0.0
Domain Name Server 0.0.0.0


LAN Port
MAC Address FF:FF:FF:FF:FF:FF
IP Address 192.168.1.1
DHCP ON
IP Subnet Mask 255.255.255.0

It seems like you have a corrupted/erased caldata partition on your device. You need to restore this partition to get wireless and MACs fixed. I also would be interested in an American caldata dump, I have the feeling that it differs to the European one.

--Markus

Delekhan wrote:

It seems like you have a corrupted/erased caldata partition on your device. You need to restore this partition to get wireless and MACs fixed. I also would be interested in an American caldata dump, I have the feeling that it differs to the European one.

--Markus

I've dumped my caldata and you can grab it here: http://rapidshare.com/files/391141047/caldata.html


MAC address is found at offset 120C.

On WNDR3700 OpenWrt the partition is called "art" which is /dev/mtd5.

You can wget the file into /tmp and then use mtd to write it

mtd -r write caldata art

Note that this will give you my MAC addresses... so at least use a hex editor to modify the MACs first.

Hi,

Thanks a lot, aport, for your help, this is probably the solution for my problem.

But I've the following error when writing the file :

root@OpenWrt:/tmp# mtd -r write caldata art
Could not open wtd device : art
Can't open device for writing!

No more success using "unlock art" or mtd4 instead of art

Here are the /proc/mtd list for information :

mtd0: xx "u-boot"
mtd1: xx "u-boot-env"
mtd2: xx "kernel"
mtd3: xx "rootfst"
mtd4: xx "art"
mtd5: xx "firmware"

I read something about building another firmware/kernel with specific option to allow writing... : Impossible due to my Linux level...
Is there no other way to write this damned file ?

Ps.
I've changed the MAC at 120C but, there is another MAC for wireless...
Maybe a third if WAN/LAN are not on the same...

(Last edited by VCh on 25 May 2010, 19:25)

VCh wrote:

Hi,

Thanks a lot, aport, for your help, this is probably the solution for my problem.

But I've the following error when writing the file :

root@OpenWrt:/tmp# mtd -r write caldata art
Could not open wtd device : art
Can't open device for writing!

No more success using "unlock art" or mtd4 instead of art

Here are the /proc/mtd list for information :

mtd0: xx "u-boot"
mtd1: xx "u-boot-env"
mtd2: xx "kernel"
mtd3: xx "rootfst"
mtd4: xx "art"
mtd5: xx "firmware"

I read something about building another firmware/kernel with specific option to allow writing... : Impossible due to my Linux level...
Is there no other way to write this damned file ?

Ps.
I've changed the MAC at 120C but, there is another MAC for wireless...
Maybe a third if WAN/LAN are not on the same...

The partition is masked which disables writing.
In trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wndr3700.c:

static struct mtd_partition wndr3700_partitions[] = {
    {
        .name        = "uboot",
        .offset        = 0,
        .size        = 0x050000,
        .mask_flags    = MTD_WRITEABLE,
    } , {
        .name        = "env",
        .offset        = 0x050000,
        .size        = 0x020000,
        .mask_flags    = MTD_WRITEABLE,
    } , {
        .name        = "rootfs",
        .offset        = 0x070000,
        .size        = 0x720000,
    } , {
        .name        = "config",
        .offset        = 0x790000,
        .size        = 0x010000,
        .mask_flags    = MTD_WRITEABLE,
    } , {
        .name        = "config_bak",
        .offset        = 0x7a0000,
        .size        = 0x010000,
        .mask_flags    = MTD_WRITEABLE,
    } , {
        .name        = "pot",
        .offset        = 0x7b0000,
        .size        = 0x010000,
        .mask_flags    = MTD_WRITEABLE,
    } , {
        .name        = "traffic_meter",
        .offset        = 0x7c0000,
        .size        = 0x010000,
        .mask_flags    = MTD_WRITEABLE,
    } , {
        .name        = "language",
        .offset        = 0x7d0000,
        .size        = 0x020000,
        .mask_flags    = MTD_WRITEABLE,
    } , {
        .name        = "caldata",
        .offset        = 0x7f0000,
        .size        = 0x010000,
        .mask_flags    = MTD_WRITEABLE,
    }
};

Removing the line

.mask_flags = MTD_WRITEABLE,

should let you write to the partition.


Odd though, this mapping doesn't match the partitions on my wndr3700... A bit confused by this one.

Hello, everybody!

To whom it may concern. I get successfull 300 mbit wireless connection at 5 GHz with WNDR3700 running OpenWrt Kamikaze build r21528. Tested from notebook Intel WiFi Link 5100 AGN and desktop PCI card Linksys WMP600N. I've got 300 mbit speed only after enabling WPA2-PSK with AES encryption. Without it connection indicator shows only 130 mbit max. Effective file speed transfers is about 7-9 MB/s, 100% similar to stock firmware. Now I'm testing its stability.

mrpopoff wrote:

Hello, everybody!

To whom it may concern. I get successfull 300 mbit wireless connection at 5 GHz with WNDR3700 running OpenWrt Kamikaze build r21528. Tested from notebook Intel WiFi Link 5100 AGN and desktop PCI card Linksys WMP600N. I've got 300 mbit speed only after enabling WPA2-PSK with AES encryption. Without it connection indicator shows only 130 mbit max. Effective file speed transfers is about 7-9 MB/s, 100% similar to stock firmware. Now I'm testing its stability.

Would you mind posting your .config? Did you tweak anything after flashing?

AntiGenX wrote:
mrpopoff wrote:

Hello, everybody!

To whom it may concern. I get successfull 300 mbit wireless connection at 5 GHz with WNDR3700 running OpenWrt Kamikaze build r21528. Tested from notebook Intel WiFi Link 5100 AGN and desktop PCI card Linksys WMP600N. I've got 300 mbit speed only after enabling WPA2-PSK with AES encryption. Without it connection indicator shows only 130 mbit max. Effective file speed transfers is about 7-9 MB/s, 100% similar to stock firmware. Now I'm testing its stability.

Would you mind posting your .config? Did you tweak anything after flashing?

The only important config option is this, as stated in the wiki :
Kernel Modules ? Wireless Drivers ? kmod-ath ? Force Atheros drivers to respect the user's regdomain settings = YES

You of course need to install the standard packages, crda, wpad-mini (or any alternative), kmod-ath9k...

In the config file you need to set your regulatory domain to your country code. And select HT40- or HT40+ to get 300 Mbps.

Hi,

aport wrote:

In trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wndr3700.c:

No such file into the router's FS, if I can trust a "find *.c" command.

This need to be set in the .c file before compiling, right ?
There is not other way to solve this or did I missed something ?
As I've no machine running Linux, compiling my own firmware's something I prefer to avoid, while possible...

Regards,
Vincent.

AntiGenX wrote:

Would you mind posting your .config? Did you tweak anything after flashing?

I've only built my firmware from the sources and make configs according to the wiki ( great thanks to the author(s) ).

Here is my wireless config:

config wifi-device  radio0
    option type     mac80211
    option channel  5
    option macaddr    00:00:00:00:00:00
    option hwmode    11ng
    option htmode    HT20
    list ht_capab    SHORT-GI-40
    list ht_capab    TX-STBC
    list ht_capab    RX-STBC1
    list ht_capab    DSSS_CCK-40
    option disabled 1

config wifi-iface
    option device   radio0
    option network  lan
    option mode     ap
    option ssid     OpenWrt-24
    option encryption psk2
    option key    secret-key

config wifi-device  radio1
    option type     mac80211
    option channel  36
    option macaddr    00:00:00:00:00:00
    option hwmode    11na
    option htmode    HT40+
    option country    US
    option txpower    20
    list ht_capab    SHORT-GI-40
    list ht_capab    TX-STBC
    list ht_capab    RX-STBC1
    list ht_capab    DSSS_CCK-40

config wifi-iface
    option device   radio1
    option network  lan
    option mode     ap
    option ssid     OpenWrt-50
    option encryption psk2
    option key    secret-key
    option wmm    1

mrpopoff wrote:

list ht_capab    TX-STBC
    list ht_capab    RX-STBC1

what are these options for?

mrpopoff wrote:

option txpower    20

I get an error when I try this. I think the max value (and the default) is 17 for this frequency band.

Error for wireless request "Set Tx Power" (8B26) :
    SET failed on device wlan1 ; Invalid argument.

(Last edited by zorxd on 27 May 2010, 20:11)

zorxd wrote:
mrpopoff wrote:

list ht_capab    TX-STBC
    list ht_capab    RX-STBC1

what are these options for?

These options were in my config by default

zorxd wrote:
mrpopoff wrote:

option txpower    20

I get an error when I try this. I think the max value (and the default) is 17 for this frequency band.

It was an a experiment, you can remove it from config away.

I've always been lazy and used either DD-WRT or Tomato on my old router. This will be my first openwrt build and before I go and brick my router, I was hoping I could convince someone to have look at my .config and tell me if I'm way off here. Any recommendations, criticism, or sagely advice is welcome.

I uploaded the file here.

If it looks good, I will upload it to the wiki since the sample config there has a link, but results in a page not found error.

Thanks!

It's rather hard to completely brick WNDR3700 as it can be always recovered with tftp and stock firmware. So no worries here to my opinion.

dremon wrote:

It's rather hard to completely brick WNDR3700 as it can be always recovered with tftp and stock firmware. So no worries here to my opinion.

Fair enough. But I'd rather not waste my time with trial-and-error configure, compile, flash.... rinse and repeat. So I was hoping for a little community help. ;-)

AntiGenX wrote:

I've always been lazy and used either DD-WRT or Tomato on my old router. This will be my first openwrt build and before I go and brick my router, I was hoping I could convince someone to have look at my .config and tell me if I'm way off here. Any recommendations, criticism, or sagely advice is welcome.

I uploaded the file here.

If it looks good, I will upload it to the wiki since the sample config there has a link, but results in a page not found error.

Thanks!

Seems fine to me. I guess you used the default config, select wndr3700 target, added some extra packages (openvpn, LuCI), and set CONFIG_ATH_USER_REGD=y to get 5 GHz support.
If so I see no reasons for it not to work.

I see that you included some USB support but not usb-storage. Is it really what you want?

(Last edited by zorxd on 28 May 2010, 16:49)

zorxd wrote:

I see that you included some USB support but not usb-storage. Is it really what you want?

Ahhh crap. That's exactly why I was asking for help! :-)

I'm assuming I missed something other than:

jaustin2@linux-dev:~/dev/openwrt/trunk$ grep -i usb-storage .config 
CONFIG_PACKAGE_kmod-usb-storage=m
# CONFIG_PACKAGE_kmod-usb-storage-extras is not set

So if I'm mid-compile can I interrupt, change config, and restart compile, or do I need to make clean and start the compile from scratch?

If I change a config after the compile finishes do I need to make clean and recompile, or is there some trick to just fixing the added objects, recompiling those and relinking?

Also, while I'm asking lots of noobish questions... Can I safely invoke make with the -j2 (or -j4) option to speed up compilation for openwrt?

Thanks again for your help!

(Last edited by AntiGenX on 28 May 2010, 18:47)

If you interrupt in the middle of the compilation and then change kernel related settings, run "make target/linux/clean package/kernel/clean" followed by "make world".
This will leave toolchain and already compiled programs intact but force a rebuild of the kernel. This way you'll end up with a consistent state.

AntiGenX wrote:
zorxd wrote:

I see that you included some USB support but not usb-storage. Is it really what you want?

Ahhh crap. That's exactly why I was asking for help! :-)

I'm assuming I missed something other than:

jaustin2@linux-dev:~/dev/openwrt/trunk$ grep -i usb-storage .config 
CONFIG_PACKAGE_kmod-usb-storage=m
# CONFIG_PACKAGE_kmod-usb-storage-extras is not set

So if I'm mid-compile can I interrupt, change config, and restart compile, or do I need to make clean and start the compile from scratch?

What I meant is that you included ( =y) usb2 and usb-core but set usb-storage, as well as filesystems as modular packages ( =m).
If your only use for USB is storage, then you should include everything you need.
If you are not sure if you will use usb at all, simply compile everything as packages to save space if you never use them.
Of course there are some other uses for USB: printer, serial, cellular internet, etc.

Remember that with squashfs, a package built-in will use less space that if it is installed later as a standalone package on the jffs2 partition.

Also, while I'm asking lots of noobish questions... Can I safely invoke make with the -j2 (or -j4) option to speed up compilation for openwrt?

Yes, I think the worst that can happen is a compiling failure.

(Last edited by zorxd on 28 May 2010, 20:03)

For new (Linux | OpenWRT) users, I've started a separate thread 'Netgear WNDR3700 - OpenWRT New User(s)' at https://forum.openwrt.org/viewtopic.php?id=24993, FWIW.

Hopefully it will serve much like this exploration thread, but at a much higher, more new user friendly, level. The guts of which will inevitably be based out of the contents of this thread.

Thank you all for your efforts and your continuing posts in this thread.

Hmmm been compiling for 16+ hours now. Is that close to normal. Obviously compile times will vary based on hardware and package selection, but 16 hours?

...<SNIP>...
 make[3] -C toolchain/kernel-headers compile
 make[3] -C toolchain/kernel-headers install
 make[3] -C toolchain/uClibc prepare
 make[3] -C toolchain/gcc compile
 make[3] -C toolchain/uClibc compile
 make[3] -C toolchain/gcc install
 make[3] -C toolchain/uClibc install
 make[2] target/compile
 make[3] -C target/linux compile

It depends... if you are compiling on a 386@40MHz it might be normal.... I compiled a number of openwrt builds, all on Ubuntu running inside VMWare, and never took any longer then 15 minutes. 16+ hours is a tad long.