Wifi Driver
JediBrooker opened this issue · 2 comments
Forgive my lack of knowledge, this is new to me...
I'm looking at the readme on https://github.com/qzed/linux-surface-kernel/tree/v5.3-surface-devel/drivers/net/wireless/marvell/mwifiex and it says to copy sd8787.bin to /lib/firmware/mrvl/ directory. Currently in that directory is a bunch of bin files including sd8787_uapsta.bin, and other like sdsd8997_combo_v4.bin, and sd8688.bin. What's the difference between all the files in this directory? Are they all different drivers or different versions of the same driver? Can I remove any of these files and keep just one? Is my Surface Book 2 using sd8688 or is it using a different one? How do I check? If it is using sd8688.bin where can I find sd8787.bin? I've googled and can't find it sorry.
Ignore the README, it was last updated ages ago.
8688
seems to be a bluetooth adapter, and 8787
some SoC stuff that you can find nowhere. The only relevant chipset is 8997
, which is the clientside chip that is built into the surfaces. Since it is connected via. PCIe internally, the neccessary files are these:
-rw-r--r--. 1 root root 723540 15. Aug 18:02 pcie8897_uapsta.bin
-rw-r--r--. 1 root root 456488 15. Aug 18:02 pcie8997_wlan_v4.bin
-rw-r--r--. 1 root root 632240 15. Aug 18:02 pcieuart8997_combo_v4.bin
-rw-r--r--. 1 root root 634228 15. Aug 18:02 pcieusb8997_combo_v4.bin
Those are firmware files, which are loaded to the device by the driver, and then control it and talk to that driver. The driver itself is not in /lib/firmware
but in /lib/modules
and comes with the packaged kernel you install.
You should not remove the files in /lib/firmware
. They are managed by your packet manager, and it will either complain that files are missing, reinstall them, or both.
In addition to @StollD's answer: As long as you have the firmware package (e.g. linux-firmware
on Ubuntu) of your distribution installed (which you seem to have, based on the files present), you won't need to do anything by yourself. The firmware is updated and managed alongside the Kernel (see https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/ for the original "source"), any firmware files the kernel needs will be there.
The only additional firmware required that is not in this package is the IPTS firmware, as that driver is not upstream.