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.

bmork wrote:

Yes, I noticed.  So then I guess I should give them a second chance.  Only too bad that I just got another toy in the form of a mini PCIe LTE Advanced modem.  I feel that one needs my attention for a while smile

But there is no reasone you all couldn't dive in and fix the driver, now that we know they accept community fixes

I'd be pleasantly suprised if it would survive the next batch of code changes that they upload.

New driver updates, building now.

I submitted a pull request to fix a bug.  If you want to patch yourself...

diff --git a/main.c b/main.c
index a3d038f..4b2e44a 100644
--- a/main.c
+++ b/main.c
@@ -545,7 +545,7 @@ static int mwl_wl_init(struct mwl_priv *priv)
                     IEEE80211_HW_MFP_CAPABLE;
 #else
        ieee80211_hw_set(hw, SUPPORTS_PER_STA_GTK);
-       ieee80211_hw_set(hw, HW_MFP_CAPABLE);
+       ieee80211_hw_set(hw, MFP_CAPABLE);
 #endif

        hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;

(Last edited by nyt on 24 Nov 2015, 13:05)

My WRT1200AC flashed with cc final + .14 driver, halted after two days. This was the third time. Well I might not that 100% be sure to say those three times came from the same wireless driver issue, however, I do notice that it is always related to guest wifi @ 2.4GHz logging in and out.

(Last edited by muronghan on 24 Nov 2015, 14:53)

@muronghan  make sure your IPv6 is turned off.  That was causing all of my reboots on that version of the driver

Hot off the press: http://tinyurl.com/Lifehacksback-Testing-CC

New drivers + nyt's patch

Preliminary testing shows good and stable wifi speeds (Nexus 6P) (mind you I only get 180 mbps so ymmv)

craig.reiners wrote:

@muronghan  make sure your IPv6 is turned off.  That was causing all of my reboots on that version of the driver

Disable IPv6 DHCP on LAN? Or delete the interface of wan6? I do not use IPv6 here.

(Last edited by muronghan on 24 Nov 2015, 15:35)

I simply disabled my WAN6 interface and removed the global scope (so no local DHCPv6 was handed out.)   that solved my reboots.  I don't want to blow all the ipv6 away as I am hoping it will get resolved as I'd like to use ipv6

nyt wrote:

New driver updates, building now.

I submitted a pull request to fix a bug.  If you want to patch yourself...

diff --git a/main.c b/main.c
index a3d038f..4b2e44a 100644
--- a/main.c
+++ b/main.c
@@ -545,7 +545,7 @@ static int mwl_wl_init(struct mwl_priv *priv)
                     IEEE80211_HW_MFP_CAPABLE;
 #else
        ieee80211_hw_set(hw, SUPPORTS_PER_STA_GTK);
-       ieee80211_hw_set(hw, HW_MFP_CAPABLE);
+       ieee80211_hw_set(hw, MFP_CAPABLE);
 #endif

        hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;

I have never tried to patch on my own...  Any tips on how to?

Also, which driver version does this apply to?  Trunk is still showing .12 (while all my builds have been with .13).

Thanks in advance

Cheers

nyt wrote:

New driver updates, building now.

I submitted a pull request to fix a bug.  If you want to patch yourself...

diff --git a/main.c b/main.c
index a3d038f..4b2e44a 100644
--- a/main.c
+++ b/main.c
@@ -545,7 +545,7 @@ static int mwl_wl_init(struct mwl_priv *priv)
                     IEEE80211_HW_MFP_CAPABLE;
 #else
        ieee80211_hw_set(hw, SUPPORTS_PER_STA_GTK);
-       ieee80211_hw_set(hw, HW_MFP_CAPABLE);
+       ieee80211_hw_set(hw, MFP_CAPABLE);
 #endif

        hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;

Just pointing out that this fixes the bug in the trunk branch (if you're on kernel 4.3) but NOT if you're on CC (3.18) -- there's a typo in that if path related to variable types.  It looks simple to fix (famous last words) but I don't have the time right now to look into it.

Hi
I have seen different variations of this question many times in this thread but no clear answer.

I am working with a WRT1900ACS
It is flashed with this firmware:
https://downloads.openwrt.org/people/ka … actory.img

I have problems with the WiFi and I want to try the mwlwifi driver 10.3.0.14 that apparently solves the issue.

How can I do that? is there a guide somewhere?  I have followed this guide https://wiki.openwrt.org/doc/howto/build and I get a package of the mwlwifi driver compiled but an older version (10.3.0.12) and for a newer linux kernel (my installed version is 3.18.21, and the resulting compiled module is for 3.18.23

I know this is a noob question, but I can not find the right info. If it is somewhere in this long thread maybe it would be a good idea to edit the first post to include the info there, since I am sure I am not the only one trying to achieve something like this.

Thanks!!

bmork wrote:

Yes, I noticed.  So then I guess I should give them a second chance.  Only too bad that I just got another toy in the form of a mini PCIe LTE Advanced modem.  I feel that one needs my attention for a while smile

But there is no reasone you all couldn't dive in and fix the driver, now that we know they accept community fixes

Expect some code changes as the Linux wireless guys have been giving them feedback on their driver submission:
https://marc.info/?l=linux-wireless& … 63&w=3

Look at their feedback on spin_lock_bh:
This seems like a terrible idea. Spinning for 3 milliseconds (and more)while blocking local soft-irqs is really bad for general latency on the system. I don't like it at all.

And there doesn't really seem to be much reason for it either as far as I can tell - almost all places can (as I pointed out before) live with this being a mutex, you just need special handling in very few places that really do want to send a command while not being able to sleep.

Good to see fresh updates today!

Gazoo wrote:

Expect some code changes as the Linux wireless guys have been giving them feedback on their driver submission:
https://marc.info/?l=linux-wireless& … 63&w=3

This is very promising, the fact that they disable softirqs and spin sounds like a perfect trap to trigger the types of lockups we've been seeing.

reworking things for upstream submission usually results in significant reliability improvements

InkblotAdmirer wrote:
nyt wrote:

New driver updates, building now.

I submitted a pull request to fix a bug.  If you want to patch yourself...

diff --git a/main.c b/main.c
index a3d038f..4b2e44a 100644
--- a/main.c
+++ b/main.c
@@ -545,7 +545,7 @@ static int mwl_wl_init(struct mwl_priv *priv)
                     IEEE80211_HW_MFP_CAPABLE;
 #else
        ieee80211_hw_set(hw, SUPPORTS_PER_STA_GTK);
-       ieee80211_hw_set(hw, HW_MFP_CAPABLE);
+       ieee80211_hw_set(hw, MFP_CAPABLE);
 #endif

        hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;

Just pointing out that this fixes the bug in the trunk branch (if you're on kernel 4.3) but NOT if you're on CC (3.18) -- there's a typo in that if path related to variable types.  It looks simple to fix (famous last words) but I don't have the time right now to look into it.

This was already fixed, no need for it anymore


However, new patch or the mwlwifi package...  This is the #100 patch

--- a/main.c
+++ b/main.c
@@ -418,11 +418,7 @@ static void mwl_set_ht_caps(struct mwl_p
        band->ht_cap.cap |= IEEE80211_HT_CAP_SGI_20;
        band->ht_cap.cap |= IEEE80211_HT_CAP_SGI_40;

-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0)
-       hw->flags |= IEEE80211_HW_AMPDU_AGGREGATION;
-#else
        ieee80211_hw_set(hw, AMPDU_AGGREGATION);
-#endif
        band->ht_cap.ampdu_factor = IEEE80211_HT_MAX_AMPDU_64K;
        band->ht_cap.ampdu_density = IEEE80211_HT_MPDU_DENSITY_4;

@@ -524,29 +520,16 @@ static int mwl_wl_init(struct mwl_priv *
        hw->queues = SYSADPT_TX_WMM_QUEUES;

        /* Set rssi values to dBm */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0)
-       hw->flags |= IEEE80211_HW_SIGNAL_DBM | IEEE80211_HW_HAS_RATE_CONTROL;
-#else
        ieee80211_hw_set(hw, SIGNAL_DBM);
        ieee80211_hw_set(hw, HAS_RATE_CONTROL);
-#endif

        /* Ask mac80211 not to trigger PS mode
         * based on PM bit of incoming frames.
         */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0)
-       hw->flags |= IEEE80211_HW_AP_LINK_PS;
-#else
        ieee80211_hw_set(hw, AP_LINK_PS);
-#endif

-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0)
-       hw->flags |= IEEE80211_HW_SUPPORTS_PER_STA_GTK |
-                    IEEE80211_HW_MFP_CAPABLE;
-#else
        ieee80211_hw_set(hw, SUPPORTS_PER_STA_GTK);
        ieee80211_hw_set(hw, MFP_CAPABLE);
-#endif

        hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;

@nyt Did you patch your fork?

lifehacksback wrote:

@nyt Did you patch your fork?

my fork is behind, i nuked it, no need for it.  you can use the latest kaloz/mwlwifi.  I posted the updated patch #100 for the package/kernel/mwlwifi/patches/100-whatever patch

Sorry if this sounds a newbie question, but how do I flash the latest version of the firmware? I downloaded the Official Release 15.05 but I'm experiencing the router halts resulting to switching the router off and back on again. Is the trunk the latest builds and if so do I just flash the .img file via LuCI over and ethernet cable and then install LuCI?

Will

willowen100 wrote:

Sorry if this sounds a newbie question, but how do I flash the latest version of the firmware? I downloaded the Official Release 15.05 but I'm experiencing the router halts resulting to switching the router off and back on again. Is the trunk the latest builds and if so do I just flash the .img file via LuCI over and ethernet cable and then install LuCI?

Will

Trunk is latest and ever changing but with that comes *possible* instability. 

Read about all that here >> OpenWRT Wiki - Linksys WRT1900ac which also gives instructions on how to flash.  Also of note that trunk does not come with Luci(gui) pre-installed.

(Last edited by kirkgbr on 25 Nov 2015, 13:37)

nyt wrote:
lifehacksback wrote:

@nyt Did you patch your fork?

my fork is behind, i nuked it, no need for it.  you can use the latest kaloz/mwlwifi.  I posted the updated patch #100 for the package/kernel/mwlwifi/patches/100-whatever patch

When you create this patch did you do it against trunk or CC? my builds keep failing on CC and i havent tried it on trunk

lifehacksback wrote:

Here is a fresh copy of the new wireless diver build 5 minutes ago:
https://github.com/thagabe/mwlwifi/rele … 11-24-2015

this is with the latest git commits to openwrt-CC i will try to build the latest wireless drivers with the "final" CC commit ( basically the image that is labeled final)


root@AwkoTacoBeast:/tmp# opkg install kmod-mwlwifi_3.18.23.10.3.0.14-20151124-1_
mvebu.ipk
Upgrading kmod-mwlwifi on root from 3.18.23+10.3.0.13.-1 to 3.18.23+10.3.0.14-20151124-1...
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-mwlwifi:
*      kernel (= 3.18.23-1-dbc7b513d9b8252f7e3f457dd2a5fcc4) *
* opkg_install_cmd: Cannot install package kmod-mwlwifi.

craig.reiners wrote:
lifehacksback wrote:

Here is a fresh copy of the new wireless diver build 5 minutes ago:
https://github.com/thagabe/mwlwifi/rele … 11-24-2015

this is with the latest git commits to openwrt-CC i will try to build the latest wireless drivers with the "final" CC commit ( basically the image that is labeled final)


root@AwkoTacoBeast:/tmp# opkg install kmod-mwlwifi_3.18.23.10.3.0.14-20151124-1_
mvebu.ipk
Upgrading kmod-mwlwifi on root from 3.18.23+10.3.0.13.-1 to 3.18.23+10.3.0.14-20151124-1...
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-mwlwifi:
*      kernel (= 3.18.23-1-dbc7b513d9b8252f7e3f457dd2a5fcc4) *
* opkg_install_cmd: Cannot install package kmod-mwlwifi.

That is because you are trying to install a package build for the latest git of CC on a final build, as it is stated above.
the latest version of CC has a newer kernel.

(Last edited by JohnnySL on 25 Nov 2015, 21:35)

It sure would be nice to see commit that would give us a .15 against DD trunk this piecemeal stuff is giving me a headache. smile

I have make all this, i use Windows 7, wireless driver WRT1200AC v.10.3.0.3, PC have Intel AC-7260 driver version v.  18.21.0, AC Network:

1. uci set dhcp.lan.dhcpv6=disabled
2. uci commit

3. vi /etc/config/wireless

Add to end of config wifi-iface, 2 times for under config wifi-device 'radio0' and config wifi-device 'radio1':

    option wpa_group_rekey '0'

Now i have no more WPA group rekey trouble with my tablet Huawei Mediapad X1, her have no more internet connection after about 30 minutes.

4. vi /etc/sysctl.conf

Add to end:

vm.min_free_kbytes=16384

Now i have no more problems, when i copy using samba more as 1 Gbyte file to or from router.
5. vi /etc/dnsmasq.conf

Add to end:

dhcp-option=252,"\n"

Spamming in Syslog under Windows 7 as client. No more spamming logs.

6. reboot ; exit
I have in syslog after 36 hours router work without reboot this messages:

Thu Nov 26 11:29:18 2015 kern.err kernel: [126976.011439] ieee80211 phy1: result error
Thu Nov 26 11:29:19 2015 kern.err kernel: [126977.016912] ieee80211 phy1: result error
Thu Nov 26 11:29:20 2015 kern.err kernel: [126978.022310] ieee80211 phy1: result error
Thu Nov 26 11:29:21 2015 kern.err kernel: [126979.027769] ieee80211 phy1: result error
Thu Nov 26 11:29:22 2015 kern.err kernel: [126980.033180] ieee80211 phy1: result error
Thu Nov 26 11:29:23 2015 kern.err kernel: [126981.033585] ieee80211 phy1: error code: -22
Thu Nov 26 11:29:24 2015 kern.err kernel: [126981.601354] ieee80211 phy1: result error
Thu Nov 26 11:29:25 2015 kern.err kernel: [126982.609171] ieee80211 phy1: result error
Thu Nov 26 11:29:26 2015 kern.err kernel: [126983.616591] ieee80211 phy1: result error
Thu Nov 26 11:29:27 2015 kern.err kernel: [126984.624288] ieee80211 phy1: result error
Thu Nov 26 11:29:28 2015 kern.err kernel: [126985.630300] ieee80211 phy1: result error
Thu Nov 26 11:29:29 2015 kern.err kernel: [126986.631324] ieee80211 phy1: error code: -22
Thu Nov 26 11:29:29 2015 kern.err kernel: [126987.121322] ieee80211 phy1: result error
Thu Nov 26 11:29:30 2015 kern.err kernel: [126988.127865] ieee80211 phy1: result error
Thu Nov 26 11:29:31 2015 kern.err kernel: [126989.138260] ieee80211 phy1: result error
Thu Nov 26 11:29:32 2015 kern.err kernel: [126990.143662] ieee80211 phy1: result error
Thu Nov 26 11:29:33 2015 kern.err kernel: [126991.149120] ieee80211 phy1: result error
Thu Nov 26 11:29:34 2015 kern.err kernel: [126992.149568] ieee80211 phy1: error code: -22

The router are 38 hours up, with only this bug reports. In the time 11.29 i use my tablet Huawei Mediapad X1, there is no more clients except me.

(Last edited by slan on 26 Nov 2015, 17:16)

Is there anyone in this forum from Canada, who has been able to get a WRT1900ACS(1.6ghz) ?
If so, where? Everywhere I've been, have had the WRT1900ACv2, even though they have the shelf labelled WRT1900ACS.

Edit:

After doing more digging, maybe someone can answer this question.

Is the WRT1900ACv2, running the 1.6 processor, even though the box says 1.3?
there seems to be alot of conflict on that.

(Last edited by mojolacerator on 26 Nov 2015, 19:44)

@kaloz
So far the commit you pushed to trunk seems to improve ftp speeds from avg. 25MB to 34MB.
I don't have time right now but will beat on it more when I have more time.

Hello all,

I have recently purchased the WRT1200AC router, so far very impressed.

I have installed the latest version of caiman onto the unit. I would like to setup port based VLANS. I would like to connect my home network to port 1, my work laptop to port 2 and then ports 3 and 4 are for childrens pc's etc. i would also like wifi to be on a separate vlan to the wired network.

Is this possible with the firmware, I have tried but I cant see eth2/3/4 listed under the interface.