Pre-compiled updated mwlwifi drivers for stable releases

@eduperez:
I have a question.

I compared the hashes of the .bin firmware files that are included in 17.01.1 to those that you provide in your "10.3.4.0" package. The 88W8864.bin and 88W8897.bin are the same, only the 88W8964.bin has a different hash.

So... will installing the package that you provide, make a difference to my 1900ACS v1 since it has the same 8864 .bin file?

SHA1 hashes of the 17.01.1 release:
88W8864.bin 06272EF64889AE9E1EF935C4F526BBEB6069FE9F
88W8897.bin F8EF40740D19C99D587B4F02C4D867D326720544
88W8964.bin A04074E6C8A6ED2B9872A50ECA3711EFDC415E9B

SHA1 hash of the "10.3.4.0" 88W8964.bin:
D19C23B7ECF11DC1F10E104935F18C4624292EC6

Also... are there any plans to release updated 8864/8897 firmware .bin files?
Thank's!

Yes because of all the other code changes. Althought it appears that most of the recent development has been focused on the WRT3200acm it does fix other issues and added minor enhancements to WRT1900x devices.

For starters you can look at the mwlwifi github page, and brose all the "closed" issues.

So, the file that "makes the difference" is the mwlwifi.ko?
The structure of the package is this:

control.tar.gz
.\control
.\postinst
.\postinst-pkg
.\prerm

data.tar.gz
.\etc\modules.d\50-mwlwifi
.\lib\firmware\mwlwifi\88W8864.bin
.\lib\firmware\mwlwifi\88W8897.bin
.\lib\firmware\mwlwifi\88W8964.bin
.\lib\firmware\mwlwifi\Marvell_license.txt
.\lib\modules\4.4.61\mwlwifi.ko

debian-binary

Sorry to insist, I would just like to know (better) how things work. :slight_smile:

Sorry, but I do not know the details of how is the development evolving; I am just building the .ipk files from the sources provided by Linksys.

It's okay, I should thank you anyway for your effort to provide the pre-compiled package!

I manually extracted the .ko file, replace the original /lib/modules/4.4.61/mwlwifi.ko with your's and rebooted. Of couse I took a backup of the original file first.

I'm not sure if the radio of my 1900ACS works better. To test the wifi connection, I try to download a large file (always the same and from the same server and it's ~4 GB) and check if the download will complete without any problem.

I haven't manage to download the file (my ADSL speed is around 8Mbps), neither with the default 17.01.1 image (or previous), nor with the mwlwifi.ko file from "10.3.4.0-20170421-bd62e37" package. The WiFi just "hangs" randomly (both bands), sometimes after 20 minutes, sometimes after 35 minutes and so on...

To tell you the truth... I'm a little bit frustrated, the WRT devices are NOT cheap and Linksys/Belkin has sold many units because of the OpenSource support and they don't work as they should, despite the fact there are on the market for some years now. I hope to see a stable release soon (or at least later).

Anyway, thank's again eduperez!

I am using "10.3.4.0-20170421-bd62e37" on a WRT3200ACM, and so far it seems quite stable; I have torrented several large files simultaneously, and also done some large transfers internally, all over wifi. Only bug I have found is related to broadcast packages being lost (https://github.com/kaloz/mwlwifi/issues/36).

The WRT3200ACM has a different chip (88W8964) than WRT1900ACS (88W8864); however, the same driver is reported to work for both (see https://github.com/kaloz/mwlwifi/issues/118#issuecomment-297019274); so recent work on the driver should benefit your device, too.

AFAIK, my .IPK files should work on all the mvebu platform. You do not need to strip the file and copy the parts manually, just install it with opkg. And if you want to revert to the stock driver, just remove it and install it again from the official repos.

Updated to 10.3.4.0-20170421-7b7611d at https://github.com/eduperez/mwlwifi/releases/download/7b7611d/kmod-mwlwifi_4.4.61.10.3.4.0-20170421-7b7611d-1_arm_cortex-a9_vfpv3.ipk.

This is AWESOME. Updated to 7b7611d, no issues so far. I had to use wget to download the file, opkg said the file wasn't found when I passed the entire URL: opkg install https://github.com/eduperez/mwlwifi/releases/download/7b7611d/kmod-mwlwifi_4.4.61.10.3.4.0-20170421-7b7611d-1_arm_cortex-a9_vfpv3.ipk

Any idea what I'm doing wrong?

Thanks again!

@jbrossard: You need to install libustream-openssl first, then use http instead of https; i will update the documentation.

I have also updated the package to commit 7e29d87 at https://github.com/eduperez/mwlwifi/releases/tag/7e29d87.

@eduperez Perfect. I have installed libustream-openssl and updated to 7e29d87. Thank you for your reply and for creating these driver packages.

Regards,

Jim

@eduperez I reviewed the updated readme.md. I was able to install directly without installing "ca-bundle".

Regards,

Jim

If you use http:// you do not need libustream-openssl. Merely passing HTTP URLs to opkg is enough.

This is running VERY well on my WRT1900ACS V1.

Thanks for making these builds, the current version is running well for me so far. (WRT1900acs)
Installing the ca-bundle package resolved the download issues for me, cheers.

Hi everyone !
Thanks for the ipk. Unfortunately, I try to use the LEDE snaptshot, and it seems that you compiled your driver for the 4.4 kernel.
Do you it would be possible to compile the driver for the LEDE snapshot version (WRT3200ACM):

root@linksys:~/ipk# uname -a
Linux linksys 4.9.20 #0 SMP Wed May 3 15:20:12 2017 armv7l GNU/Linux

Or do you have another solution ?
Because I like the davidc502 version but I don't knowif he will continue in the future (releases, repos...) and I'd to have a recent kernel with LEDE repos and of course a solid Wifi driver :slight_smile:

Thanks

P.S: I've checked @admiral0 repos (https://lede.admiral0.it/jenkins/targets/mvebu/generic/packages/) and there is a kmod-mwlwifi_4.9.20%2B10.3.4.0-20170427-1_arm_cortex-a9_vfpv3.ipk wich I tried to install but I've got an error:

root@linksys:/tmp# opkg install kmod-mwlwifi_4.9.20\+10.3.4.0-20170427-1_arm_cortex-a9_vfpv3.ipk 
Upgrading kmod-mwlwifi on root from 4.9.20+10.3.2.0-20170110-1 to 4.9.20+10.3.4.0-20170427-1... 
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-mwlwifi:
 * 	kernel (= 4.9.20-1-1585c357d26881b88fdd4b059dbf53dd) * 
 * opkg_install_cmd: Cannot install package kmod-mwlwifi.

In LEDE, compiled kernel modules must match the same exact kernel version and kernel parameters than the running kernel (that "585c357d26881b88fdd4b059dbf53dd string" is actually a hash of the kernel version and configuration).

So far, my builds are expected to be installed on top of the stable version 17.01.1, and will not work on any other kernel version or kernel configuration. For the same reason, modules at @admiral0 repositories are only valid for those running the same snapshot as he used for his buids: if you installed a snapshot version yesterday, you cannot install a kernel module from today's snapshot.

I can build my modules for the current (as of today) snapshot, but they will only work for that snapshot, and as soon as there is a new snapshot available, I will have to compile the modules again, so people who downloads a new snapshot can keep using them. Or I will have to host a full LEDE repository, so people can install all modules from my repository, and keep it updated. And both options seem like a lot of work to me.

Ok, thanks for the response @eduperez, I didin't know that fact.
I think the workload does not worth the effort, as I hope the Wifi driver will be embedded in LEDE...

Thanks of lot !

It will likely be updated there once it is seen as stable enough. So far there may still be a severe memory leak for some routers and apparently also the 802.11r fast transition functionality is broken.

Also, wireless clients can reach and be reached from the router, but are invisible for wired clients.

Is this is a bug in the new mlwifi driver?