With linux-lts 4.9.84-80 broadcom-sta 6.30.223.271-175 worked out of the box as expected.
With linux-current 4.15.6-58 and broadcom-sta-current 6.30.223.271-175 the module wasn't loaded automatically as I would expect. Loading the module manually failed:
# modprobe wl modprobe: FATAL: Module wl not found in directory /lib/modules/4.15.6-58.current
Even though the module exists:
$ find /lib/modules/4.15.6-58.current/ -name wl.ko /lib/modules/4.15.6-58.current/kernel/drivers/net/wireless/wl.ko
Loading module file directly failed too:
# insmod /lib/modules/4.15.6-58.current/kernel/drivers/net/wireless/wl.ko insmod: ERROR: could not insert module /lib/modules/4.15.6-58.current/kernel/drivers/net/wireless/wl.ko: Unknown symbol in module
The reason for failure:
# journalctl -b | grep wl: Feb 26 23:36:35 solus kernel: wl: Unknown symbol cfg80211_inform_bss_frame_data (err 0) Feb 26 23:36:35 solus kernel: wl: Unknown symbol cfg80211_scan_done (err 0) Feb 26 23:36:35 solus kernel: wl: Unknown symbol cfg80211_disconnected (err 0) Feb 26 23:36:35 solus kernel: wl: Unknown symbol wiphy_new_nm (err 0) Feb 26 23:36:35 solus kernel: wl: Unknown symbol wiphy_register (err 0) Feb 26 23:36:35 solus kernel: wl: Unknown symbol cfg80211_put_bss (err 0) Feb 26 23:36:35 solus kernel: wl: Unknown symbol cfg80211_roamed (err 0) Feb 26 23:36:35 solus kernel: wl: Unknown symbol cfg80211_gtk_rekey_notify (err 0) Feb 26 23:36:35 solus kernel: wl: Unknown symbol cfg80211_ibss_joined (err 0) Feb 26 23:36:35 solus kernel: wl: Unknown symbol cfg80211_michael_mic_failure (err 0) Feb 26 23:36:35 solus kernel: wl: Unknown symbol ieee80211_get_channel (err 0) Feb 26 23:36:35 solus kernel: wl: Unknown symbol wiphy_unregister (err 0) Feb 26 23:36:35 solus kernel: wl: Unknown symbol cfg80211_get_bss (err 0) [omitted]
Looking at the dependency information for wl module which linux-current is missing:
$ grep wl.ko /lib/modules/4.9.84-80.lts/modules.dep kernel/drivers/net/wireless/wl.ko: kernel/net/wireless/cfg80211.ko kernel/net/rfkill/rfkill.ko $ grep wl.ko /lib/modules/4.15.6-58.current/modules.dep $ lsmod | grep rfkill rfkill 24576 7 bluetooth,cfg80211 $ lsmod | grep cfg80211 # modprobe cfg80211
Now I was able to load wl successfully:
# insmod /lib/modules/4.15.6-58.current/kernel/drivers/net/wireless/wl.ko
The cause of the problem appears to be missing dependency information for wl for linux-current which I was being able to verify by using modules.dep.bin from linux-lts (as modprobe no longer fallbacks to the plain text modules.dep):
# mv /lib/modules/4.15.6-58.current/{,_}modules.dep.bin # cp /lib/modules/4.{9.84-80.lts,15.6-58.current}/modules.dep.bin # modprobe wl # echo $? 0