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 kernel4.4.104-39
, I should install the driver frombroadcom-wl-kmp-default-6.30.223.271_k4.4.49_19-3.6.x86_64.rpm
where the numbers after thek
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 tellrpm
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 withzypper
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 đ