Launchpad report: for all those with the same problem, please subscribe to this report I opened in Launchpad so that it can gain some traction.
I've been using Ubuntu 16.04 with kernel 4.7 for some time and wifi must mostly fine, except for a few random times that the connection was lost (solved by restarting network-manager). But after upgrading to kernel 4.8, wifi simply does not work when the router is using certain channels (the connection is lost in ~1 minute cycles).
On the channels it does work, I get a choppy connection that briefly stops working (packets are lost but the connection is kept up) in regular cycles.
dmesg shows a bunch of intermittent brcmf_cfg80211_reg_notifier: not a ISO3166 code errors:
$ dmesg | grep brcmf
[ 5.109218] usbcore: registered new interface driver brcmfmac
[ 5.109280] brcmfmac 0000:3a:00.0: enabling device (0000 -> 0002)
[ 5.219983] brcmfmac 0000:3a:00.0: Direct firmware load for brcm/brcmfmac4350-pcie.txt failed with error -2
[ 5.651605] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Oct 22 2015 06:16:26 version 7.35.180.119 (r594535) FWID 01-e791c176
[ 5.672505] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 5.691020] brcmfmac 0000:3a:00.0 wlp58s0: renamed from wlan0
[ 6.755994] brcmfmac: brcmf_cfg80211_escan_handler: scan not ready, bsscfgidx=0
[ 6.755997] brcmfmac: brcmf_fweh_event_worker: event handler failed (69)
[ 78.628101] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 144.057646] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[ 211.640770] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
...
[ 2644.643388] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
The wifi adapter is detected fine:
$ lspci -k | grep Net
3a:00.0 Network controller: Broadcom Corporation BCM4350 802.11ac Wireless Network Adapter (rev 08)
Subsystem: Dell BCM4350 802.11ac Wireless Network Adapter
I tried rolling back to an older version of network-manager but nothing changed. Currently using:
+++-=========================================-=========================-=========================-========================================================================================
hi network-manager 1.1.93-0ubuntu4 amd64 network management framework (daemon and userspace tools)
Normally I would just roll back to 4.7 and wait for a fix, but kernel 4.8 fixes other issues for Skylake-based hardware which are relevant to me.
EDIT I've tried Ubuntu 16.10's daily build (ships with kernel 4.8) and the exact same problem is present.