Skip to content

Instantly share code, notes, and snippets.

@torresashjian
Last active June 13, 2025 11:35
Show Gist options
  • Save torresashjian/e97d954c7f1554b6a017f07d69a66374 to your computer and use it in GitHub Desktop.
Save torresashjian/e97d954c7f1554b6a017f07d69a66374 to your computer and use it in GitHub Desktop.
How to install Broadcom bcm43602 Drivers on Ubuntu Linux
sudo apt-get purge bcmwl-kernel-source
sudo apt update
sudo update-pciids
sudo apt install firmware-b43-installer
sudo reboot #note that this will restart your computer
sudo iwconfig wlp3s0 txpower 10dBm
#sudo iwconfig wlp2s0 txpower 10dBm
@isezen
Copy link

isezen commented Aug 28, 2022

Thank you very much 🥹

@jonpontet
Copy link

Thank you sir!
Just installed Ubuntu 22.04.1 LTS on my MacBook Pro 2016 13 inch and WiFi was not working.
I followed your steps as follows and WiFi now works:

sudo apt-get purge bcmwl-kernel-source
sudo apt update
sudo update-pciids
sudo apt install firmware-b43-installer
sudo reboot #note that this will restart your computer
sudo iwconfig wlp2s0 txpower 10dBm

FYI, the network controller is:
Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 02)

@satellite73
Copy link

Works great except I have to enter the last line every time I reboot. Any suggestions?
Thanks!

@satellite73
Copy link

I am sorry I do not understand this reply. My wifi works in Ubuntu 22.04 but it will not work after a reboot. I have to paste
sudo iwconfig wlp2s0 txpower 10dBm
in a terminal on each reboot. Is there a remedy for this?
I do not see a file "wlp2so" in my files, and I would not know where to drag and drop it to even if I did see one.
Sorry If this is a silly question but I am lost.
Thanks

@jonpontet
Copy link

jonpontet commented Dec 30, 2022

@satellite73 same for me -- I have to run the command sudo iwconfig wlp2s0 txpower 10dBm after each reboot.
I have not yet found a solution.

@satellite73
Copy link

@jonpontet I am going to try this
https://easylinuxtipsproject.blogspot.com/p/root-command-startup.html
to see if it will automatically run the command on reboot, which does not really address the problem, but will save some time

@satellite73
Copy link

@jonpontet the above worked for me. In step #4 and #8 you must replace "xed" by "gedit" . I replaced "5" by "10" in step #5. Hope it works for you.

@networkdude2k
Copy link

I got the same procedure to work for Kali Linux 2023.3 on a late 2013 MBP. The only difference is the adapter designation in Kali is simply wlan0. However, the procedure is solid and worked on the first attempt. Thanks for posting this!

@joeltone
Copy link

Thanks, this worked great!

@DannoXYZ
Copy link

How can this step possibly work?

- sudo apt install firmware-b43-installer

The installer goes and tries to download this file:
https://www.lwfinger.com/b43-firmware/broadcom-wl-6.30.163.46.tar.bz2

Which is impossible if you don't already have wifi connection to begin with...

@networkdude2k
Copy link

networkdude2k commented Mar 6, 2025 via email

@phpmaven
Copy link

@satellite73 same for me -- I have to run the command sudo iwconfig wlp2s0 txpower 10dBm after each reboot. I have not yet found a solution.

This worked for me:
sudo nano /etc/systemd/system/set-wifi-power.service
Enter the following:

[Unit]
Description=Set Wi-Fi transmit power
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/sbin/iwconfig wlp3s0 txpower 10dBm
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Now enable the service:
sudo systemctl enable set-wifi-power.service

reboot

@RetepV
Copy link

RetepV commented Jun 13, 2025

I had the problem on my old i7 MacBook Pro 2016 (MacBookPro13,3), running Ubuntu 24.04.2 LTS. The Macbook did have WiFi, could detect access points, etc., but simply wouldn't accept the password and would refuse to connect, asking me for the password over and over again.

So I set out to fix it and found this post. I'll give my experiences.

I took the exact following steps in a shell, as per the recommendations:

sudo apt-get purge bcmwl-kernel-source
sudo apt update
sudo update-pciids
sudo apt install firmware-b43-installer
sudo reboot

After reboot, typed:

sudo iwconfig wlp3s0 txpower 10dBm

Connected, and it worked, my password was accepted and I had the internet connection working fine.

Then I did what phpmaven did, because I wanted this to be permanent (but using vi, I'm a vi-man ;)):

sudo vi /etc/systemd/system/set-wifi-power.service

Entered following:

[Unit]
Description=Set Wi-Fi transmit power
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/sbin/iwconfig wlp3s0 txpower 10dBm
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Enabled the service:

sudo systemctl enable set-wifi-power.service

Rebooted.

And now my WiFi fully works.

However, after doing all that, I got to think a bit more. I think that the problem was not the firmware at all, because my system could scan the WiFi access points even before installing the b43 driver. It might have simply been that the WiFi was in some low-power or simply some unsupported power TX mode, which caused timeouts or drops on the communication with the access point (I saw some messages about timeouts in the system journal). Even though my laptop is only 1 meter away from the access point.

To test my theory, I went back to an older install from before I installed the b43 driver and only typed this into a shell:

sudo iwconfig wlp3s0 txpower 10dBm

And then I could connect fine as well.

So most probably, it's not even necessary to install the b43 driver. Which means that I actually only had to do what phpmaven did.

I checked by typing just iwconfig, and saw that the TX-Power is set to 31dBm by default. Setting the TX-Power to 10dBm is probably the only thing necessary.

Be aware that I was doing this on Ubuntu 24.04.2 LTS. For other versions it could still be necessary to install the b43 drivers. If setting the TX Power doesn't fix your problem, you should probably only then try installing the b43 driver.

Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment