OpenWrt Forum Archive

Topic: Update on Linksys WRT1900AC support

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

nyt wrote:
northbound wrote:

r46705 was not a good build it broke gufus's fan script and seemed to use too much cpu. Also noticed something new in
startup, "linksys_recovery" so I am back to r46687 which ran stable for a few days before I tried r46705.
A handy command "fw_printenv boot_part"
"fw_setenv boot_part 2" That is if you are on 1 and want to revert to previous firmware.

You're also forgetting to change bootcmd, otherwise you'll boot the wrong kernel.  If you're booting partition 1, it should boot nandboot, partition 2 should be altnandboot or whatever it is.

The linksys recovery script is what's needed to reset the boot counter so it doesn't perform auto recovery when it shouldn't.

There haven't been any changes that would break the fan script.

The linksys recovery script also enables auto recovery now, so power on, wait 5 seconds, power off (3 times) it will change to the previous partition.

If you're running trunk, 46687 is a not so friendly commit, as you'll need to adjust the hash for mwlwifi to run 10.3.0.3 instead of .8


It's possible your bootcmd and boot_part were out of sync, and loaded an old kernel causing your issue.  Make sure to build target/linux/clean if you compile the latest trunk as there are kernel changes that are necessary for system changes that went into place, regarding using the same mac on multiple interfaces.

I'm also currently testing the armada thermal throttling support, not seeing any issues with it yet.

I don't have a "nix" box so I use the builds from the buildbot and the build of r46687 has the 10.3.0.3 mwlwifi. So what is the right way to switch from nand to altnand? I have quit flashing from Linksys factory builds  so I usually have two working OpenWrt builds to choose from. Maybe the fan issue was a fluke I would click restart and it would run for awhile but it would not take long to heat up and the fan would not come back on until I clicked restart again on the fan_control.

northbound wrote:
nyt wrote:
northbound wrote:

r46705 was not a good build it broke gufus's fan script and seemed to use too much cpu. Also noticed something new in
startup, "linksys_recovery" so I am back to r46687 which ran stable for a few days before I tried r46705.
A handy command "fw_printenv boot_part"
"fw_setenv boot_part 2" That is if you are on 1 and want to revert to previous firmware.

You're also forgetting to change bootcmd, otherwise you'll boot the wrong kernel.  If you're booting partition 1, it should boot nandboot, partition 2 should be altnandboot or whatever it is.

The linksys recovery script is what's needed to reset the boot counter so it doesn't perform auto recovery when it shouldn't.

There haven't been any changes that would break the fan script.

The linksys recovery script also enables auto recovery now, so power on, wait 5 seconds, power off (3 times) it will change to the previous partition.

If you're running trunk, 46687 is a not so friendly commit, as you'll need to adjust the hash for mwlwifi to run 10.3.0.3 instead of .8


It's possible your bootcmd and boot_part were out of sync, and loaded an old kernel causing your issue.  Make sure to build target/linux/clean if you compile the latest trunk as there are kernel changes that are necessary for system changes that went into place, regarding using the same mac on multiple interfaces.

I'm also currently testing the armada thermal throttling support, not seeing any issues with it yet.

I don't have a "nix" box so I use the builds from the buildbot and the build of r46687 has the 10.3.0.3 mwlwifi. So what is the right way to switch from nand to altnand? I have quit flashing from Linksys factory builds  so I usually have two working OpenWrt builds to choose from. Maybe the fan issue was a fluke I would click restart and it would run for awhile but it would not take long to heat up and the fan would not come back on until I clicked restart again on the fan_control.

you likely need to reinstall the fan control scripts after changing.  The bot builds for trunk will have issues due to mwlwifi version.


root@ZOMGWTFBBQWIFI:~# fw_printenv bootcmd
bootcmd=run altnandboot
root@ZOMGWTFBBQWIFI:~# fw_printenv boot_part
boot_part=2

@nyt

root@OpenWrt:~# fw_printenv bootcmd
bootcmd=run nandboot
root@OpenWrt:~# fw_printenv boot_part
boot_part=2
root@OpenWrt:~#

So it appears that I am out of sync. So the correct thing to do now is "fw_setenv bootcmd altnandboot" and I will be back into sync?

So Linksys_recovery would keep both in sync? I have so much to learn smile
Unlike a previous poster I bought my wrt1900acv1 to play with and learn.
Thanks nyt I appreciate the help.

(Last edited by northbound on 23 Aug 2015, 18:25)

dlang wrote:

All that a VLAN does is to split a wired connection into multiple networks.

'k

dlang wrote:

you are trying to make a new network for the wireless interfaces, right?

yes

northbound wrote:

@nyt

root@OpenWrt:~# fw_printenv bootcmd
bootcmd=run nandboot
root@OpenWrt:~# fw_printenv boot_part
boot_part=2
root@OpenWrt:~#

So it appears that I am out of sync. So the correct thing to do now is "fw_setenv bootcmd altnandboot" and I will be back into sync?

So Linksys_recovery would keep both in sync? I have so much to learn smile
Unlike a previous poster I bought my wrt1900acv1 to play with and learn.
Thanks nyt I appreciate the help.

root@AC1900M:~# grep rootfs /proc/mtd
mtd7: 02500000 00020000 "rootfs2"
root@AC1900M:~#

This will show what kernel your on, I'm on kernel2 (alt_image)

gufus wrote:
dlang wrote:

All that a VLAN does is to split a wired connection into multiple networks.

'k

dlang wrote:

you are trying to make a new network for the wireless interfaces, right?

yes

so forget about VLANs, in your existing network, uncheck the two wireless networks. Then create a new network that includes those two wireless networks (don't forget dhcp and firewall settings)

gufus wrote:
northbound wrote:

@nyt

root@OpenWrt:~# fw_printenv bootcmd
bootcmd=run nandboot
root@OpenWrt:~# fw_printenv boot_part
boot_part=2
root@OpenWrt:~#

So it appears that I am out of sync. So the correct thing to do now is "fw_setenv bootcmd altnandboot" and I will be back into sync?

So Linksys_recovery would keep both in sync? I have so much to learn smile
Unlike a previous poster I bought my wrt1900acv1 to play with and learn.
Thanks nyt I appreciate the help.

root@AC1900M:~# grep rootfs /proc/mtd
mtd7: 02500000 00020000 "rootfs2"
root@AC1900M:~#

This will show what kernel your on, I'm on kernel2 (alt_image)

root@OpenWrt:~# fw_printenv bootcmd
bootcmd=run altnandboot
root@OpenWrt:~#  fw_printenv boot_part
boot_part=2
root@OpenWrt:~# grep rootfs /proc/mtd
mtd5: 02500000 00020000 "rootfs1"
root@OpenWrt:~#

I now have the first 2 in sync do I also have to get rootfs in sync also? Is there somewhere that would describe this in detail?
All I am finding is scattered info and a lot of it is old and I am guessing obsolete.

gufus wrote:
northbound wrote:

@nyt

root@OpenWrt:~# fw_printenv bootcmd
bootcmd=run nandboot
root@OpenWrt:~# fw_printenv boot_part
boot_part=2
root@OpenWrt:~#

So it appears that I am out of sync. So the correct thing to do now is "fw_setenv bootcmd altnandboot" and I will be back into sync?

So Linksys_recovery would keep both in sync? I have so much to learn smile
Unlike a previous poster I bought my wrt1900acv1 to play with and learn.
Thanks nyt I appreciate the help.

root@AC1900M:~# grep rootfs /proc/mtd
mtd7: 02500000 00020000 "rootfs2"
root@AC1900M:~#

This will show what kernel your on, I'm on kernel2 (alt_image)

This is not correct.  See next post.

northbound wrote:
gufus wrote:
northbound wrote:

@nyt

root@OpenWrt:~# fw_printenv bootcmd
bootcmd=run nandboot
root@OpenWrt:~# fw_printenv boot_part
boot_part=2
root@OpenWrt:~#

So it appears that I am out of sync. So the correct thing to do now is "fw_setenv bootcmd altnandboot" and I will be back into sync?

So Linksys_recovery would keep both in sync? I have so much to learn smile
Unlike a previous poster I bought my wrt1900acv1 to play with and learn.
Thanks nyt I appreciate the help.

root@AC1900M:~# grep rootfs /proc/mtd
mtd7: 02500000 00020000 "rootfs2"
root@AC1900M:~#

This will show what kernel your on, I'm on kernel2 (alt_image)

root@OpenWrt:~# fw_printenv bootcmd
bootcmd=run altnandboot
root@OpenWrt:~#  fw_printenv boot_part
boot_part=2
root@OpenWrt:~# grep rootfs /proc/mtd
mtd5: 02500000 00020000 "rootfs1"
root@OpenWrt:~#

I now have the first 2 in sync do I also have to get rootfs in sync also? Is there somewhere that would describe this in detail?
All I am finding is scattered info and a lot of it is old and I am guessing obsolete.

That's not really correct to show what fs you're on.  the root fs will show up as ubi if you cat /proc/mtd.

The boot command for the kernel will show you what fs was actually booted.

root@ZOMGWTFBBQWIFI:~# cat /proc/cmdline
console=ttyS0,115200 mtdparts=armada-nand:1024K(uboot)ro,256K(u_env),256K(s_env),1m@9m(devinfo),40m@10m(kernel),37m@13m(rootfs),40m@50m(alt_kernel),37m@53m(alt_rootfs),80m@10m(ubifs),-@90m(syscfg) root=/dev/mtdblock7 ro rootfstype=jffs2 init=/sbin/init

root@ZOMGWTFBBQWIFI:/system# cat /proc/mtd | grep mtd7 (some lines in output snipped)
mtd4: 02800000 00020000 "kernel1"
mtd5: 02500000 00020000 "rootfs1"
mtd6: 02800000 00020000 "kernel2"
mtd7: 02500000 00020000 "ubi"


When the next CC build comes out it will have the linksys recovery script and updated mtd in place to keep all of that happy.  Until then, your boot counter won't reset, so when you boot the router there's a chance auto recovery will change what you're actually booting.

(Last edited by nyt on 23 Aug 2015, 21:06)

dlang wrote:

physically what this is doing is

eth0 -> port 5 on switch
eth1 -> port 6 on switch
WAN -> port 4 on switch
LAN1 -> port 0 on switch
LAN2 -> port 1 on switch
LAN3 -> port 2 on switch
LAN4 -> port 3 on switch

vlan1 connects ports 0 1 2 3 5 on the switch
vlan2 connects ports 4 6 on the switch

This is were you mixed me up, thats wrong

This is correct
http://www.gypsy-designs.com/port+layout.png

gufus wrote:
dlang wrote:

physically what this is doing is

eth0 -> port 5 on switch
eth1 -> port 6 on switch
WAN -> port 4 on switch
LAN1 -> port 0 on switch
LAN2 -> port 1 on switch
LAN3 -> port 2 on switch
LAN4 -> port 3 on switch

vlan1 connects ports 0 1 2 3 5 on the switch
vlan2 connects ports 4 6 on the switch

This is were you mixed me up, thats wrong

This is correct
http://www.gypsy-designs.com/port+layout.png

Ok, I had the order of the labels on the back of the switch wrong

eth0 -> port 5 on switch
eth1 -> port 6 on switch
WAN -> port 4 on switch
LAN1 -> port 3 on switch
LAN2 -> port 2 on switch
LAN3 -> port 1 on switch
LAN4 -> port 0 on switch

nyt wrote:
northbound wrote:
gufus wrote:

root@AC1900M:~# grep rootfs /proc/mtd
mtd7: 02500000 00020000 "rootfs2"
root@AC1900M:~#

This will show what kernel your on, I'm on kernel2 (alt_image)

root@OpenWrt:~# fw_printenv bootcmd
bootcmd=run altnandboot
root@OpenWrt:~#  fw_printenv boot_part
boot_part=2
root@OpenWrt:~# grep rootfs /proc/mtd
mtd5: 02500000 00020000 "rootfs1"
root@OpenWrt:~#

I now have the first 2 in sync do I also have to get rootfs in sync also? Is there somewhere that would describe this in detail?
All I am finding is scattered info and a lot of it is old and I am guessing obsolete.

That's not really correct to show what fs you're on.  the root fs will show up as ubi if you cat /proc/mtd.

The boot command for the kernel will show you what fs was actually booted.

root@ZOMGWTFBBQWIFI:~# cat /proc/cmdline
console=ttyS0,115200 mtdparts=armada-nand:1024K(uboot)ro,256K(u_env),256K(s_env),1m@9m(devinfo),40m@10m(kernel),37m@13m(rootfs),40m@50m(alt_kernel),37m@53m(alt_rootfs),80m@10m(ubifs),-@90m(syscfg) root=/dev/mtdblock7 ro rootfstype=jffs2 init=/sbin/init

root@ZOMGWTFBBQWIFI:/system# cat /proc/mtd | grep mtd7 (some lines in output snipped)
mtd4: 02800000 00020000 "kernel1"
mtd5: 02500000 00020000 "rootfs1"
mtd6: 02800000 00020000 "kernel2"
mtd7: 02500000 00020000 "ubi"


When the next CC build comes out it will have the linksys recovery script and updated mtd in place to keep all of that happy.  Until then, your boot counter won't reset, so when you boot the router there's a chance auto recovery will change what you're actually booting.


root@OpenWrt:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "u-boot"
mtd1: 00040000 00020000 "u_env"
mtd2: 00040000 00020000 "s_env"
mtd3: 00100000 00020000 "devinfo"
mtd4: 02800000 00020000 "kernel1"
mtd5: 02500000 00020000 "rootfs1"
mtd6: 02800000 00020000 "kernel2"
mtd7: 02500000 00020000 "ubi"
mtd8: 02600000 00020000 "syscfg"
mtd9: 00780000 00020000 "unused_area"
mtd10: 00008000 00008000 "spi0.0"
root@OpenWrt:~# cat /proc/cmdline
console=ttyS0,115200 mtdparts=armada-nand:1024K(uboot)ro,256K(u_env),256K(s_env),1m@9m(devinfo),40m@10m(kernel),37m@13m(rootfs),40m@50m(alt_kernel),37m@53m(alt_rootfs),80m@10m(ubifs),-@90m(syscfg) root=/dev/mtdblock7 ro rootfstype=jffs2 init=/sbin/init

I do have a bad habit of jumping in with both feet smile

(Last edited by northbound on 23 Aug 2015, 21:29)

nyt wrote:

This is not correct.  See next post.

'k

Got it smile

dlang wrote:

eth0 -> port 5 on switch
eth1 -> port 6 on switch
WAN -> port 4 on switch
LAN1 -> port 3 on switch
LAN2 -> port 2 on switch
LAN3 -> port 1 on switch
LAN4 -> port 0 on switch

BTY, this is easy to understand now.
https://forum.openwrt.org/viewtopic.php … 39#p288639

Thanks a bunch!

So I've been trying to prove what part of the wrt1900ac is unstable. For the past couple days I've been using the router without the wireless driver but still my main router to the Internet. I rmmod' the mwlwifi driver from the kernel and am using another router for AP duty.

Running on a recent trunk release (46693) I have gone now for 2 days and 7 hours. Prior to this I rarely would make it past 12-24 hours without a stall CPU or complete lockup (no message from console).

On top of this I've been running the Linux command "stress" during that time with the following parameters:
"stress -c 2 -i 2 -m 2 --vm-bytes 64M"
This is suppose to stress the cpu, i/o subsystem and memory.

I can assume at this point the SOC and the kernel image are stable. Can I also assume the issue I am facing and potentially others is the wifi hardware or the mwlwifi driver?

What is interesting is that the router has become less stable with more recent commits. A few months ago it ran much longer so this makes me think it has something to do with the mwlwifi driver.

Thoughts?

PunBB bbcode test

(Last edited by tusc on 24 Aug 2015, 02:04)

tusc wrote:

So I've been trying to prove what part of the wrt1900ac is unstable. For the past couple days I've been using the router without the wireless driver but still my main router to the Internet. I rmmod' the mwlwifi driver from the kernel and am using another router for AP duty.

Running on a recent trunk release (46693) I have gone now for 2 days and 7 hours. Prior to this I rarely would make it past 12-24 hours without a stall CPU or complete lockup (no message from console).

On top of this I've been running the Linux command "stress" during that time with the following parameters:
"stress -c 2 -i 2 -m 2 --vm-bytes 64M"
This is suppose to stress the cpu, i/o subsystem and memory.

I can assume at this point the SOC and the kernel image are stable. Can I also assume the issue I am facing and potentially others is the wifi hardware or the mwlwifi driver?

What is interesting is that the router has become less stable with more recent commits. A few months ago it ran much longer so this makes me think it has something to do with the mwlwifi driver.

Thoughts?

PunBB bbcode test

The mwlwifi driver is the cause of crashes.  There are multiple open bugs that should be fixed "soon" according to dlin.

tusc wrote:

So I've been trying to prove what part of the wrt1900ac is unstable....

Running on a recent trunk release (46693) I have gone now for 2 days and 7 hours. Prior to this I rarely would make it past 12-24 hours without a stall CPU or complete lockup (no message from console).

I've never had the router lock up, but I have had plenty of issues.  For example playing Hearthstone or League of Legends I routinely am disconnected right now.  Both PCs use wired connections.  FWIW it doesn't seem too bad when just one PC is playing, but when two play it seems to be much worse.  It also doesn't seem to matter if the router has been up for 24 hours or 24 seconds.

I've been running ping -t openwrt.org in the background and I've started to notice a problem when the disconnects happen:

Reply from 78.24.191.177: bytes=32 time=836ms TTL=45
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 78.24.191.177: bytes=32 time=1247ms TTL=45

Maybe I should ping something other than openwrt.org?  But it is strange at the time I get drops the pings go to over 1200ms!

Leaving it running for hours I've noticed the pinged climbed from consistently 170ms to consistently ~1000ms pings.  In case it was something to do with the ping command in windows 10 I stopped it command and retried.  The output was still
Reply from 78.24.191.177: bytes=32 time=1023ms TTL=45
Reply from 78.24.191.177: bytes=32 time=979ms TTL=45
Reply from 78.24.191.177: bytes=32 time=982ms TTL=45
Reply from 78.24.191.177: bytes=32 time=1001ms TTL=45

Looking to confirm the problem was at the router I tried a tracert.  However everything was fast again.  So I did the ping again.  Now the times were all at ~170ms like they should be!

Has anybody else witnessed similar behaviour?

dana44 wrote:
tusc wrote:

So I've been trying to prove what part of the wrt1900ac is unstable....

Running on a recent trunk release (46693) I have gone now for 2 days and 7 hours. Prior to this I rarely would make it past 12-24 hours without a stall CPU or complete lockup (no message from console).

I've never had the router lock up, but I have had plenty of issues.  For example playing Hearthstone or League of Legends I routinely am disconnected right now.  Both PCs use wired connections.  FWIW it doesn't seem too bad when just one PC is playing, but when two play it seems to be much worse.  It also doesn't seem to matter if the router has been up for 24 hours or 24 seconds.

I've been running ping -t openwrt.org in the background and I've started to notice a problem when the disconnects happen:

Reply from 78.24.191.177: bytes=32 time=836ms TTL=45
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 78.24.191.177: bytes=32 time=1247ms TTL=45

Maybe I should ping something other than openwrt.org?  But it is strange at the time I get drops the pings go to over 1200ms!

Leaving it running for hours I've noticed the pinged climbed from consistently 170ms to consistently ~1000ms pings.  In case it was something to do with the ping command in windows 10 I stopped it command and retried.  The output was still
Reply from 78.24.191.177: bytes=32 time=1023ms TTL=45
Reply from 78.24.191.177: bytes=32 time=979ms TTL=45
Reply from 78.24.191.177: bytes=32 time=982ms TTL=45
Reply from 78.24.191.177: bytes=32 time=1001ms TTL=45

Looking to confirm the problem was at the router I tried a tracert.  However everything was fast again.  So I did the ping again.  Now the times were all at ~170ms like they should be!

Has anybody else witnessed similar behaviour?

dont ping OWRT.. it lags baddly.. and your contributing to the lag...
ping your ISP or the first hop outside your network or a very big service (gogle... and the kind..)

edit: use one of these to see which hop has lag
on win: tracert <gameserver>
on nix: traceroute <gameserver>

(Last edited by makarel on 24 Aug 2015, 22:45)

Sorry to say... no, nothing like that ^

I would have another router on hand, and when you're seeing the issue, swap them out, and see if you're still having the same problem.

Also, have you tried power-cycling the router when it happens to see if it suddenly clears up after a reboot?

install MTR, run it towards the server you're connecting to and you'll see exactly where packet loss starts.

Hi guys. After fighting with Linksys customer support for a week (they shipped me a v1 first) I just received my replacement wrt1900ac v2 today. Is there somewhere I can get up-to-date info on the stability? Should I be using RC3? I really just need basic openwrt stuff with vlan. Any info you can provide is much, much appreciated. Thanks.

Users are reporting varying lock-ups on RC3, and it's due to the wifi drivers. Unless you have extensive knowledge of Linux and OpenWrt, it's probably recommended to run RC3.

There is Vlan support with OpenWrt, so you should be good to go there.

(Last edited by davidc502 on 25 Aug 2015, 03:18)

I have extensive knowledge of linux, but only a bit of experience with openwrt. I've been running it on a TP-Link TL-WDR3600 for a year or so and have been using vlans on that with great success.

So you recommend RC3 even with the lockups? Is it a very common thing? Does it occur, say, once every 10 minutes or once every week? I realize it's hard to gauge that sort of thing, but I'm trying to get a sense of the frequency.

Also, just curious, regarding the lockups/bugs on v2...is the light at the end of the tunnel visible yet? ;-)

Thanks!

makarel wrote:

dont ping OWRT.. it lags baddly.. and your contributing to the lag...

Maybe.  It does seem really odd that when I got the disconnects to unrelated servers the ping climbed to over 1200ms.

Also I have new info, removing the router and letting the ping command run for a few hours I was completely unable to reproduce the problems I reported earlier - the ping stayed consistently at 170ms.

Maybe the server was completely overloaded for when I tried the first time, but not the next one?

makarel wrote:

edit: use one of these to see which hop has lag
on win: tracert <gameserver>

To restate myself when I ran tracert and the problem vanished.  I had pages where the ping was 700ms+.  After I took a break to type the tracert command the ping was consistently at 170ms again.

Maybe it was under high load for hours, right up until the very second I stopped to do the tracert.  The likelihood of that coincidence seems too low though.

I'll try hitting google.com and see if I can reproduce this on a different server.  Then I'll tracert in a different command prompt.

@Chadster766

What driver is McWRT using for the switch? As far as I can remember it's not mvneta, correct?

nitroshift