Ubuntu with BCM4313 Wifi client

Recently I’m having unstable WiFi connections. The Router is running Openwrt which works with all others Wifi clients reliably, but my own PC running Ubuntu 18.04 64bit keeps getting disconnected and the performance is also below par.

First I need know what Wifi chip is used on the PC.

lspci
    02:00.0 Network controller: Broadcom Limited BCM4313 802.11bgn Wireless Network Adapter (rev 01)
lsmod | grep wl
    wl

Obviously Broadcom BCM4313 chip is used for Wifi, but for whatever reason it is running an old driver named wl in Ubuntu 18.04 by default.

Based on https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx I decide to try a new open source driver instead: brcmsmac

sudo modprobe -r wl
sudo modprobe brcmsmac

After that the wifi becomes stable.

To make sure the above changes survives next reboot, I blacklisted the wl driver and enabled brcmsmac driver:

sudo -i
echo brcmsmac >> /etc/modules
echo wl >> /etc/modprobe.d/blacklist-broadcom-wireless.conf

Ubuntu 18.04 UI

While I use Ubuntu all these years I think Canonical should forego its efforts on UI changes all together. Ubuntu finally switched back to Gnome 3 from its own Unity last year, which is a good start.

There are so many pointless UI changes from Ubuntu:

  • Gnome to Unity and back to Gnome
  • Min/Max/Close from up-right corner to left-up corner, now back to up-right.
  • Save/Open button to the top of the dialog window instead of bottom as it was used to be all these years. This change is new in Ubuntu 18.04 and there is no easy way to change it(see below).
  • Opened multiple terminals(or other programs) will be grouped together and there is no way to un-group them. You now need extra steps to pick a program out of a group which is totally dumb. Alt-Tab won’t pick your exact program directly any more.
  • Click on a docked program to auto minimize/maximize a window is gone, you have to explicitly click on the “minimize” on the window to do it now.

gnome-tweak-tool package can mitigate some of the issues, but not all. It would be nice if Ubuntu just stick with Gnome and improve it along with others such as Redhat.

I now use gnome-session-flashback to get a legacy Gnome experience, which fixes all the problems Canonical added to its “enhanced” UI.

Last, to revert the position of Save/Open button location I need do:

gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/DialogsUseHeader':<0>}"