Linksys to release the drivers for their WRT routers for better open-source support

The drivers have been open-source since day one, and are still accessible at a repo maintained by @kaloz:

However, these.deivers contain a firmware, that gets loaded on the wireless chipset at boot, and that firmware is closed-sourced and undocumented.

Development of the drivers without access to the documentation or source code for the firmware is very limited. Reverse engineering the firmware is next to impossible.

2 Likes

Well this is what I've been trying to acquire from Belkin/Linksys.

1 Like

I think @eduperez is saying they aren't likely to release anything further than they have to, since most companies still follow an "security through obscurity" model when it comes to their code.

Marvell, for example, makes the kernel available for their SoC, but it was 4.14 last I checked. The SDK's are years out of date. They will usually part with only what they HAVE to (and sometimes, not even then), but are under no obligation to part with the proprietary stuff (ie: Broadcom's cts.ko instantly springs to mind)

I support what you are trying to do. MT "seems" to be the "most open" to these kinds of requests historically from the postings I've read over the years, but I have no experience with those devices or the drivers specific to them.

1 Like

There's also a huge possibility they don't even have access to this.

They bought a bunch of Broadcom chips (like the RPi folks) and probably got a single SDK to work with. The SDK could consist of one firmware blob, one integration manual/reference guide and one hefty NDA. Maybe this SDK has an open source disclaimer package, but usually they just break the law.

The documentation part can be reverse engineered by looking at some more proprietary calls to the driver and how it responds (like starting a debug mode).

The firmware blob is a whole lot more difficult, just look at the people from xda developers who are doing great but tedious work backporting Android (and Windows CE) to older devices giving obsolete devices a well deserved update... Or like the sunxi project who never got the blob the RPi has had and have to reverse an antiquated Android driver that's buggy and insecure. The worst I've seen is the (not so Intel) PowerVR, I've had to dump so many nice devices just for having this totally unusable GPU... :frowning:

2 Likes

@eduperez are you happy to contact Linksys/Belkiin support so that the support person I am in communication with can forward it to their development team?

I am going to be sharing this thread with the Linksys/Belkiin technical support team. If anyone has any technical information that's relevant for them to see such as a list of things not working or needs improvement in terms of the wireless functionality it'll be much appreciated.

Tricky, tricky. I happen to have talked to them NXP Wi-Fi people lately as we are an NXP partner and do use them former Marvell chips in some of our products as well. While much of such discussion is under NDA I guess I can share that NXP starting with their October 2020 i.MX Linux BSP release includes validated mwifiex Wi-Fi driver/firmware now as well. While they started with 88W8987 support they plan to add more over time. Just before X-mas they released the next version which added 88w8997 support as well. Their latest release notes may be found here. I would have more detailed Wi-Fi release notes which I believe are not NDA restricted and are supposed to be publicly posted as well. However, I could not quite find them anywhere on NXP's website as of yet and I don't believe I can upload PDFs to this forum. PM me and I can send them along.

Anyway, one idea could now be to integrate those drivers/firmware for use with OpenWrt on them WRT routers as NXP will regularly officially validate and update those (e.g. for their quarterly i.MX BSP releases).

As mainline Linux support is important for us as well we will keep bugging NXP about this and I will mention OpenWrt in our next sync call with them as well. Let's see...

3 Likes

I'm sorry, but I do not know anyone at Linksys / Belkin support to contact.

Could you PM what you would like Belkin/Linksys to do to resolve the mwlwifi issues and/or what documentation on the firmware the community would need to be able get to to work on fully implementing the wireless firmware please? I can then forward your message to the technical person I am in contact with.

The reason I'm asking is you is because you most likely will be able to provide a more detailed and technical explanation to Belkin/Linksys's.

That would be great if you can mention OpenWrt and what we're trying to do here in your next call.

I tried several ways to contact both Marvell and NXP and had no luck. If we can get Linksys/Belkiin and NXP/Marvell talking we might be getting somewhere.

BTW: They even have a readme about OpenWrt integration.

Note that you seem to talk about mwifiex, not mwlwifi (which is the problematic one)

mwifiex is used for the limited-functionality "third radio" in WRT3200ACM. But the main radios in mvebu routers are with mwlwifi

3 Likes

Hm, yeah, I wasn't really aware of them being two different drivers, yikes! I thought those devices are all of the same Avastar family. One can really not use the regular mwifiex stuff with all of them? Anyway, let me bring this up in our next call with NXP wondering what they will say about this topic...

1 Like

No, the regular mwlwifi :slight_smile: is used with chipsets like 88w8864 and 88w8964.

1 Like

The WiFi NIC's for the Pi's were sold off to Cypress... anyways with Pi - they have a close relationship with Broadcom on the main SoC, so it's vertical there...

FWIW - at least with Cypress, they were more open than Broadcom with Data Sheets, etc - with Broadcom that was all NDA stuff...

Yeah, I was mainly talking about the GPU :wink:

@sumo any news from your conversation with NXP?

Sorry, but still waiting for their feedback.

maybe your barking on the wrong tree here? linksys is just like a motherboard partner, they just build stuff but the actual chips it self is owned by someone (eg broadcom, atheros, realtek, mediatek).

so I guess if you want the drivers, you might want to go directly from the chip owners instead.

Yes, you could do that and appeal to their sense of decency, understanding of open source, respect for end users, or whatever. Good luck with that!

Or you'll just have to use your consumer power, which is indirect. You're not a customer of broadcom, atheros, realtek, or mediatek. But you can hope that Linksys use their power as "chip consumers" to forward the request on your behalf.

Precisely. I have tried contacting NXP and it's impossible. I've left a message on their forum, I phoned companies that had connections with NXP here in the UK and they couldn't help and I also even went to the point of messaging people that work for NXP through LinkedIn, however, they probably thought I was spam so it's most likely not gone through anyway. NXP will only listen to their customer (Linksys/Belkin) as they are the manufactures who are provide the wireless chips inside these routers.