After the update from Suse Leap 42.2 to Suse Leap 42.3, my Wifi stopped working. Which is kind of bad, because I need internet to figure out what is wrong…
This was the situation right after the update, when it was not working:
> lspci -nnk | grep -A 3 "Network"
04:00.0 Network controller [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)
Subsystem: Hewlett-Packard Company Device [103c:804a]
Kernel driver in use: bcma-pci-bridge
Kernel modules: bcma
> hwinfo --short
network:
eth0 Realtek RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller
Broadcom BCM43142 802.11b/g/n
network interface:
eth0 Ethernet network interface
lo Loopback network interface
> iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
> lsmod | grep "wl"
No WiFi to be seen!
So now this is what I did:
- Remove the old driver:
> rpm -e broadcom-wl broadcom-wl-kmp-default
- Find out my exact kernel version (the last part is the part we need, i.e., “default”):
> uname -r
4.4.104-39-default
- Add the Packman repository to my repositories:
> zypper addrepo http://packman.inode.at/suse/openSUSE_Leap_42.3/ packman
- Install the drivers, paying attention to my kernel type (…-“default”):
> zypper install broadcom-wl-kmp-default broadcom-wl
You can also download the rpm
by hand and install it. In that case, you need to pay attention to the full kernel number. Meaning, for my kernel 4.4.104-39
, I should install the driver from broadcom-wl-kmp-default-6.30.223.271_k4.4.49_19-3.6.x86_64.rpm
where the numbers after the k
match exactly. Using Packman does that for you.
Another issue I had with manual installation was missing keys. At least my configuration forces a valid PGP key and aborts if no key is in the key list. And I didn’t have a key for the downloaded rpm
s. It is possible to tell rpm
to install the packages without checking the key (option --nosignature
), but that did not properly install the package (without error messages, of course). When installing with zypper
it looks for the key itself and you don’t have to worry.
- I rebuilt the loaded modules list and then restarted, but I am not sure it is necessary:
> mkinitrd
Finally, the outputs of the above commands are (for reference, the next time it breaks):
> lspci -nnk | grep -A 3 "Network"
04:00.0 Network controller [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)
Subsystem: Hewlett-Packard Company Device [103c:804a]
Kernel driver in use: wl
Kernel modules: bcma, wl
> hwinfo --short
network:
eth0 Realtek RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller
wlan0 Broadcom BCM43142 802.11b/g/n
network interface:
wlan0 WLAN network interface
eth0 Ethernet network interface
lo Loopback network interface
> iwconfig
lo no wireless extensions.
wlan0 IEEE 802.11abg ESSID:"..."
Mode:Managed Frequency:2.412 GHz Access Point: ...
Bit Rate=65 Mb/s Tx-Power=200 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=70/70 Signal level=-39 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
eth0 no wireless extensions.
> lsmod | grep "wl"
wl 6451200 0
cfg80211 610304 1 wl
And it only took all afternoon … sometimes I hate Linux đ