3

I have an Alienware 18 laptop, with a "Broadcom Corporation BCM4352 802.11ac Wireless Network Adapter [14e4:43b1] (rev 03)" WiFi card. I'm dual booting Windows 7 (home 64-bit) and Ubuntu 14.04.3 LTS. Windows is on a SSD, Ubuntu runs off of a HDD. After I installed Ubuntu (I was originally using Windows by itself) the WiFi was not working on Ubuntu.

I followed the steps described here by Chili555 How can I install Broadcom Wireless Adapter BCM4352 802.11ac PCID [14e4:43b1] (rev 03) on fresh install of Ubuntu 14.10 (Utopic Unicorn)? to install the Ubuntu driver. That fixed the problem, but now the Windows 7 WiFi does not work. It turns on, but does not detect any networks. Ethernet connections work fine. Ubuntu WiFi and Ethernet connections work fine.

I have run the Windows network diagnostic tool, tried uninstalling, reinstalling, updating, rolling back, and every combination of things for the Windows Broadcom driver, but nothing fixes the problem. Throughout all of this, the Ubuntu WiFi continues to function normally.

What did I do wrong and how can I fix it? I'm new to Linux, so I apologize if this is a dumb question, but hours of my best google searching have failed to produce results.

Update: I think I have it figured out. When I hit restart from Ubuntu, and then boot Windows, the WiFi does not work. If I shut down, and then start the computer fresh, it works. Why does this happen though? What is the difference between hitting "restart" and doing a "complete" shut down? And why did this only start happening after I installed the Ubuntu wifi driver?

  • 1
    It seems unlikely, that the Linux driver influences the device in a way, that renders the device dysfunctional under Windows. This issue is likely isolated to Windows and hence off topic here. – David Foerster Dec 10 '15 at 23:07
  • I see your point, but I find it extraordinarily unlikely that they are unrelated. My Windows wifi has worked for the past two years, and the instant the Linux wifi software was installed, the Windows wifi stopped working. Perhaps the commands I entered from the link above did something beyond simply installing the Linux driver? – MindSeeker Dec 11 '15 at 1:20
  • 1
    Attention close voters: Valid question with a valid answer (please read below) – Fabby Dec 13 '15 at 20:46
5

First of all: while reading your question, I was going to advise you to completely shut down your machine, remove the battery if it has one and finally the power chord.

Then wait for 1 second and then turn on and do a complete cold boot, but apparently, you've found that a normal cold boot solves your problem. ;-)

Why is this happening?

What you're experiencing is called an unintentional side-effect and you need to know more about the intricacies of the Broadcom chip-set to understand what's going on:

  • Broadcom chip-sets are not really WiFi chip-sets but DSPs who not only have drivers, but firmware as well: this means that the driver loads a piece of software in the computer's memory and another piece of software on the DSP chip itself.
  • Broadcom does not support Linux, but there is a bunch of hackers who do a tremendous (and extremely difficult) job of reverse-engineering the Broadcom firmware to make their drivers compatible with Linux, but couldn't care less about Windows compatibility.
  • Broadcom doesn't properly test their Windows drivers/firmware and just uses Microsoft update to push out stuff if anything fails.

What is actually happening?

The DSP chip's registers get set by the Linux drivers to work as robustly as possible under Linux, but your BIOS subsystem doesn't properly reset the DSP, nor does the Windows firmware written by Broadcom! As Broadcom doesn't care about Linux, they don't test whether their Windows firmware gets properly re-initialised after a warm boot whereas the Linux firmware does!

Symptoms:

Warm booting from Windows to Linux works, whereas to reboot from Linux to Windows, you need a cold boot!

  • As you're a reputation 1 user: If this answer helped you, don't forget to click the grey at the left of this text, which means Yes, this answer is valid! ;-) – Fabby Dec 13 '15 at 20:46
  • @MindSeeker: the acceptance of my answer is all the thanks I need... ;-) Favour returned though and upvoted your question! :-) – Fabby Dec 15 '15 at 12:25

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.