How do I add the latest wifi and kernel to the image for wrt1900acs?


I would like to build my own image with the latest available wifi driver and the latest available driver.
Is there somewhere any describtion how to do this?
Where do I find the latest kernel for the image or how do I build a kernel for the ImageBuilder?

I would like to build it for the WRT1900ACS (v1).

Thanks for help!

Kindly regards..

At this point, to my knowledge, the latest mwlwifi driver is included in 17.01 (but I don't own any such device, so I'm not keeping tabs on it). You cannot replace a kernel once your firmware is installed onto your device, due to how LEDE functions. If you want another kernel, you need to flash an image containing that kernel.

The kernel itself does not provide the wireless drivers in LEDE; LEDE relies on upstream compat-wireless tarballs (I'm not familiar enough with the process - so it's unclear to me whether they have actual 'stable' releases or if the LEDE developers merely grab a snapshot they deem stable enough). LEDE also integrates a lot of patches on top of the kernel + compat-wireless. Compat-wireless allows the LEDE developers to use recent networking code on top of an 'older' LTS kernel, enjoying both the stability of a mature kernel and the improvements of a recent networking codebase, at the cost of some extra complexity.

You can find basic compilation instructions here; however, like explained above, integrating a newer driver isn't always as simple. LEDE master will be moving to 4.9 gradually. More comprehensive compilation instructions can be found on the OpenWrt wiki, but they largely apply (except for a few LEDE-specific things like repository URLs etc.).

Thanks Boromini,

I am all aware about what you said. May I descript my plans a bit to bad.
I started now first time compailing custom kernel for my desktop.

For the lede image (or wrt) ther are some things which can be changed to modify the version of kernel and drivers used during build. I just don remember where exactly what to modify / add. If I remember right than the kernel can be modified in target/linux make file by adding a file and modifying the make file.

The same should be possible for the mwlwifi driver. Like said I don remember exact where to modifiy what. I have done that a long time before.

As I have more than enough time I like to dive more deeply into the material building and creating custom builds modified to fit perfect my needs or the needs of customers.

The building process always stops somewhere amd the last tries I started always stopped at some point complaining about missing packages or what ever. Doesn't matter if I use openwrt or lede.

the imagebuilder file which can be downloaded under mvbu (and all other), do you know what this contains? Is it the configured build how it is if I download it as image and flash it ?

Have a nice day!

I would start off by grabbing the config (copied to .config) from the LEDE build
for your device and make sure that you can compile to match the existing build.

Once you know your environment is setup, then you can do make menuconfig and go
in and tweak settings.

Replacing the built-in drivers with new ones is reasonably simple (but not error
free) the OpenWRT forum for the wrt1X00AC* series has covered this multiple
times but as I understand
it, LEDE contains the latest drivers already.

If you go to shift to a newer kernel than what's included in LEDE/OpenWRT, then
you are going to have to port a bunch of patches, people already do that and you
may want to look at piggy-backing on their work (or work to get the patches
upstreamed so they don't need to be ported :slight_smile:

but if you are getting missing package errors, forget about new drivers or new
kernel and just work to get the build environment working for you (don't forget
to install the feeds as a lot of packages are part of them instead of in the
main repo)

David Lang

Hey David,

thank you for the answer!

Do you know the files where I have to make the changes about which version of driver have to be compiled?
I remember that if I like to take a driver which already exists in the build than I just have to change the version number in any file and thats it. Same with the kernel, but exactly that I donĀ“t remember!

Kindly regards,


I've seen the discussion go by on the openwrt forum for the wrt1900ac family of
devices, but I don't remember the details.

search that thread

David Lang

The wireless driver is built from the Makefile in package/kernel/mwlwifi.

The kernel is target/linux/generic and target/linux/mvebu. You can update it in include/ and select which is built in target/linux/mvebu/Makefile.

There are recent commits in trunk converting from kernel 4.4 to 4.9. Search for those as an example of the patches that will need to be analyzed for porting or removing if upstreamed.

Edited a bit for clarity, sorry.