-
-
Save torresashjian/e97d954c7f1554b6a017f07d69a66374 to your computer and use it in GitHub Desktop.
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 |
networkdude2k
commented
Mar 6, 2025
via email
@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
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!