Since I bought a new laptop, during already two years, I have endless problems with WiFi on my laptop (Lenovo Y50-70) on Ubuntu (16.04, 18.04).

Firstly, it always disconnects from connections, such as eduroam or any other enterprise connections. I tried maaany things to solve it, but none of them worked:

  • Change IPv6 to Ignore/Disable
  • Installing/reinstalling wifi drivers (I have broadcom wifi card)
  • Connecting to the specific access point (iwlist scan and choosing the best connection according to the signal strength)
  • Adding b43 to blacklist
  • Disabling Secure Boot
  • Using Wicd Network Manager
  • And many many other things found in stackoverflow or elsewhere...

My WiFI card details:

08:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4352 802.11ac Wireless Network Adapter [14e4:43b1] (rev 03)
Subsystem: Lenovo BCM4352 802.11ac Wireless Network Adapter [17aa:0623]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 17
Region 0: Memory at d1600000 (64-bit, non-prefetchable) [size=32K]
Region 2: Memory at d1400000 (64-bit, non-prefetchable) [size=2M]
Capabilities: <access denied>
Kernel driver in use: wl
Kernel modules: bcma, wl

Now, I was trying to play with drivers etc... And endup with a biger problem. Now, when I connect to the eduroam I can use it for 5-10 minutes after it disconnects and never connects back, also all wifi connections disappears. In the syslog, on disconnect I caught this error: https://pastebin.com/FxP7PmPn To connect again I need to unbind and bind again wl driver:

sudo rmmod wl

sudo modprobe wl

Maybe someone can explain why it happens to me? Is it possible to fix? I really tired of that for 2 years...

Some details:

  • Laptop: Lenovo Y50-70
  • OS: Ubuntu 18.04 LTS
  • I have dual boot with Windows 10
  • I installed wifi drivers using command:

    apt-get install bcmwl-kernel-source 
    

If you need more details - let me know.

Also this (output from command rfkill list all):

2: ideapad_wlan: Wireless LAN
    Soft blocked: no
    Hard blocked: no
3: ideapad_bluetooth: Bluetooth
    Soft blocked: no
    Hard blocked: no
4: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
11: phy3: Wireless LAN
    Soft blocked: no
    Hard blocked: no
12: brcmwl-0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

Thank you for any kind of help.

UPDATE: I bought TP-Link (TL-WN725N) wifi usb adapter and tried to use it with eduroam networks. I can confirm that the problem is still the same - it disconnects after some time and it's very difficult to connect again. I need to restart network-manager several times or unload and load r8188eu module. Of course, there are no errors in the syslog which I posted above, but still...


FINALLY. I can confirm that since two years I finally fixed my wifi problem. The solution was actually super easy and near to me: I had to change REGDOMAIN in crda (I had there different country code):

  1. sudo -H gedit /etc/default/crda

  2. REGDOMAIN=<YOUR COUNTRY CODE>

  3. reboot (mandatory!!)

You can take your country code from here.

To sum up, I'm using bcmwl-kernel-source wl driver for my Broadcom BCM4352 card. (good info/tutorial about it is here). I still receive sometimes those errors and have few small timeouts for ~1 second (no disconnects!), but I think it's natural and it doesn't bother me compared to what I had before...


sudo -H gedit /etc/default/crda

REGDOMAIN=[YOUR COUNTRY CODE]

reboot (mandatory!!)

Fun fact: works the other way around too. My PC had that issue and Tomas' solution did the trick. My laptop on the other hand worked just fine but I thought might as well take precautions. Put my country code and rebooted the system. Had the exact same issue with the country code on my laptop as I had without country code on my PC. I just undid what I had changed, rebooted again, and everything went back to working normally. I don't quite understand why that happened but I wanted to share this regardless. Could help one person at least. I would have simply commented but I can't do that yet because I'm new.