Home › Forums › Software discussion › Linux Kernel › Source for pcie8879/mlan driver
Tagged: wifi realtek marvell drivers
Hi,
Where can the pcie8879 and mlan drivers as included on the shipped espressobin’s root filesystem be obtained? And should I be using these or the in-tree mwifiex driver?
Also, the buildroot tree on the Marvell github account doesn’t appear to correspond to the buildroot image on the shipped sd card – for one thing, the buildroot config references kernel 4.1, but the shipped image has 4.4.
Thanks!
Hi glasgall,
its not source but for know here is the link to the compiled RTFS with Wi-Fi drivers until we can make the source available.
ftp://downloads.globalscaletechnologies.com/Downloads/Espressobin/buildroot_fw/
Hi Bryan,
If this is just the rootfs that was on the SD card, I already extracted the kernel and modules from it and am using it in the Ubuntu 16.04 rootfs I built, but thank you.
Do you have any idea what the timeline for obtaining driver source is going to be like? I would very much like to be able to add some additional stuff to the kernel running on my espressobin.
Also, I don’t want to be a pain, but the pcie8897/mlan driver is at least in part GPL code, according to module license declarations…
(PS: The in-tree mwifiex driver, at least as of Marvell’s 4.4.52-17.06 tree, panics immediately on load. The various “mwlwifi” trees I’ve found elsewhere either don’t build against 4.4 or also panic on load. So I can’t use either of those and really do need the pcie887/mlan driver source, at least until such time as mainline support for the board happens. I’m very happy to see the work you’re doing with Free Electrons to make that happen!)
Hello Bryan and other Globalscale folks,
I don’t want to be a pain, but I really must insist on a timeline for source availability for the Marvell WLAN driver.
The driver has two parts: mlan.ko and pcie8897.ko. pcie8897.ko declares itself as GPL, so you’re _required_ to redistribute the source for that. mlan.ko claims to be proprietary…but a bit of Googling turns up _multiple_ copies of source code for a Marvell 8W8897 driver that looks strikingly similar in terms of symbol names to the mlan.ko+pcie8897.ko combination (e.g. https://github.com/ValveSoftware/steamlink-sdk/tree/master/kernel/arch/arm/mach-berlin/modules/wlan_sd8897), only missing the pcie bits. In short, unless there’s some really complicated stuff going on in the PCIE glue (which seems doubtful to me), it’s hard to believe given the availability of that that mlan.ko is closely-held trade secret intellectual property that Marvell will not divulge under any circumstances.
I need to build some additional functionality into the kernel running on my espressobin to be able to use it for what I paid for, and I’d like to be able to do so without giving up the ability to use the wifi card that I also paid for. Please help a customer out here.
Thanks,
Adam Glasgall
While admittedly the files in Steam Link SDK’s version of the mlan driver claim to be Marvell confidential in the headers, https://android.googlesource.com/kernel/tegra/+/android-5.0.0_r0.10/drivers/net/wireless/sd8897/ is an example of a Marvell 8897 WLAN driver whose mlan source in fact claims to be GPL. So it’s definitely hard to believe that it’s going to be impossible to redistribute source for this very similar driver.
Hello Bryan and other Globalscale folks,
Any word on this? Failing that, any updates on the mainlining work?
Thanks,
Adam Glasgall
Hello Adam,
do you have Realtek RTL8191SE from GlobalScale or another one? I would like to use that drivers from FTP server which Bryan sent us.
So I would like to know, if that drivers helped or not, because my compiled drivers doesn’t work for this mPCI wifi card 🙁
No, the wifi card shipped with my Espressobin was a Marvell 8W8897.
The in-tree mwifiex_pcie driver works out of the box (4.12).
[ 6.443748] mwifiex_pcie: try set_consistent_dma_mask(32)
[ 6.443832] mwifiex_pcie: PCI memory map Virt0: ffff000009700000 PCI memory map Virt2: ffff000009900000
[ 6.443984] mwifiex: rx work enabled, cpus 2
...
[ 7.864608] mwifiex_pcie 0000:00:00.0: info: FW download over, size 803884 bytes
[ 8.618814] mwifiex_pcie 0000:00:00.0: WLAN FW is active
[ 8.689914] mwifiex_pcie 0000:00:00.0: CMD_RESP: cmd 0x242 error, result=0x2
[ 8.689932] mwifiex_pcie 0000:00:00.0: mwifiex_process_cmdresp: cmd 0x242 failed during initialization
[ 8.720109] mwifiex_pcie 0000:00:00.0: info: MWIFIEX VERSION: mwifiex 1.0 (15.68.7.p53)
[ 8.720120] mwifiex_pcie 0000:00:00.0: driver_version = mwifiex 1.0 (15.68.7.p53)
Do you have a 4.12 DT with the SD card working and, if so, can you post it somewhere? Also, can you post the precise firmware blobs you’re using?
Also, were you able to get mwifiex working with multiple phys for 5GHz and 2.4? I briefly managed to get mwifiex working at one point, but as far as I can tell, the number of phys in mwifiex is fixed at 1 and you have to pick between 5 and 2.4 (whereas the marvell driver lets you do both). I suppose if you have 4.12 working I can try mwlwifi, though.
umiddelb, I found your tree in the other thread (thank you!!) and was able to get it built and booted. Both mwifiex and mwlwifi build and load (obviously not simultaneously), which is great!
However, the Marvell driver appears to let you set the card as an AP for both 2.4ghz and 5ghz simultaneously and for the life of me I can’t figure out how to make mwlwifi or mwifiex do that. mwlwifi’s docs seem to suggest that I should have two phys, but I can only get one to show up. I know the hardware’s capable of it since, well, like I said, I got it working with the Marvell driver on Globalscale’s kernel. Any advice?
The buildroot “image” (is this what you mean with Globalscale’s kernel?) uses the MWLWIFI driver which is out of tree (https://github.com/kaloz/mwlwifi). IHMO there is no 3rd Marvell driver. My be they use a different firmware blob, you may check this.
Wait, what? That’s trivially not true – the driver in the buildroot image is two modules (mlan.ko and pcie8897.ko) and has symbols that look like the sd8897 driver that can be found elsewhere (as linked earlier) and mwlwifi is one (mwlwifi.ko) whose symbols look nothing like either.
Technical specification tables can not be displayed on mobile. Please view on desktop