### How to make the wifi module of Lenovo B590 work with Linux ### This is actually pretty trivial, but I struggled with this for a few hours, so I though that creating a short note about this is probably a good idea, so I don't waste time if the problem happens again in the futur... On this Lenovo B590 laptop, it appears that the wifi chipset is a 'Broadcom BCM4313' model. At least that's what suggests lspci: 02:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01) By default, OpenSUSE 12.2 and 12.3 are both using the opensource B43 driver for it. On OpenSUSE 12.3, I noticed there are packages 'b43', 'b43-legacy' and 'b43-fwcutter'. I am not sure of the difference, but tried every one of them, and the behavior was always the same: wifi somewhat works, but it's *really* weak. Detects only the very nearest APs, with a weak signal (even at 1 meter of the AP device). It takes a long time to connect (if at all), and stops working after a few minutes anyway. The solution to this problem is simple: forget the open-source B43 driver. Broadcom provides a proprietary blob named 'broadcom-wl' (also called 'Linux STA driver'), and it works just great (at least with my laptop/wifi chipset - but YMMV). Yes, it's contrary to the 'freedom/libre' principles, but... well, it works, while the opensource drivers just don't. How to use the broadcom proprietary driver on OpenSUSE? First I took care to remove all packages related to b43, to be sure that the kernel won't be tempted to use it. Then, I installed following packages: broadcom-wl broadcom-wl-kmp-desktop Finally, I rebooted. And since then, the wifi connectivity is working flawlessly. Note: the broadcom-wl driver appears in the lsmod output simply as 'wl'.