You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
Activity
StollD commentedon Sep 24, 2019
Ignore the README, it was last updated ages ago.
8688seems to be a bluetooth adapter, and8787some SoC stuff that you can find nowhere. The only relevant chipset is8997, which is the clientside chip that is built into the surfaces. Since it is connected via. PCIe internally, the neccessary files are these: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/firmwarebut in/lib/modulesand 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.qzed commentedon Sep 24, 2019
In addition to @StollD's answer: As long as you have the firmware package (e.g.
linux-firmwareon 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.
usercopy: Avoid HIGHMEM pfn warning
perf stat: Fix a segmentation fault when using repeat forever
perf tools: Fix segfault in cpu_cache_level__read()
usercopy: Avoid HIGHMEM pfn warning
perf stat: Fix a segmentation fault when using repeat forever
perf tools: Fix segfault in cpu_cache_level__read()
usercopy: Avoid HIGHMEM pfn warning
perf tools: Fix segfault in cpu_cache_level__read()
perf stat: Fix a segmentation fault when using repeat forever
scsi: target: iscsi: Wait for all commands to finish before freeing a…
276 remaining items
perf parse-events: Fix tracepoint name memory leak
nvme: check for valid nvme_identify_ns() before using it
nvme: check for valid nvme_identify_ns() before using it
RDMA/irdma: Avoid free the non-cqp_request scratch
RDMA/irdma: Avoid free the non-cqp_request scratch
leds: trigger: netdev: fix RTNL handling to prevent potential deadlock
x86/kprobes: fix incorrect return address calculation in kprobe_emula…
x86/kprobes: fix incorrect return address calculation in kprobe_emula…
libbpf: Fix NULL pointer dereference in bpf_object__collect_prog_relos
drm/vmwgfx: Create debugfs ttm_resource_manager entry only if needed
net: add netdev_lockdep_set_classes() to virtual drivers
libperf evlist: Avoid out-of-bounds access
tun: limit printing rate when illegal packet received by tun dev
perf record: Delete session after stopping sideband thread
perf ui browser: Don't save pointer to stack memory