First, I knew the card had a Broadcom 4306 Rev3 chipset with a PC-ID of 14e4:4320. According to wireless.kernel.org's information here, this meant the b43 firmware was necessary to get the card working properly. The Arch Wiki broadcom page states that the firmware package is in the AUR, so I proceeded to install that and follow the additional instructions on the wiki page. After this the device was recognized, but no wireless yet. I checked the status and name of the device with:
aerotachyon@arch % ip link
Which told me my device was named wlp3s7 and that it was down. I tried fixing that with:
aerotachyon@arch% sudo ip link set wlp3s7 up
SIOCSIFFLAGS: Operation not possible due to RF-kill
SIOCSIFFLAGS: Operation not possible due to RF-kill
I didn't know enough to make heads or tales of this error, so I consulted Google finding out that a utility called 'rfkill' could solve my problems. I hadn't installed it yet and it was in the core repository, so I quickly installed it with:
aerotachyon@arch % sudo pacman -S rfkill
Next on the list was to have rfkill list all the devices:
aerotachyon@arch % rfkill list all
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
Here I could see that the card was soft blocked. I did some more searching and found out that a soft block is essentially the kernel or some software disabling the card (please correct me if I am wrong here, as I couldn't find anything very definitive). The next step was to have rfkill unblock the card, then list the devices to make sure it worked:
aerotachyon@arch % sudo rfkill unblock all
aerotachyon@arch % rfkill list all
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
aerotachyon@arch % rfkill list all
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
After seeing it didn't work, I tried to find an explanation as to why it didn't but came up empty handed.
At this point I had run out of ideas and decided I would try another card. I wasn't completely confident it would fix the problem, but it was a last ditch effort. Additionally, at the very least, I could get a card with a kernel supported chipset that didn't require any proprietary firmware so I wouldn't need to worry about having another computer handy to get my desktop setup any time I decided to try a new distribution or do a fresh install.
I knew I could get a supported wireless card from Think Penguin's site, but I was under a time constraint and needed one I could get from a local store. I ended up finding a TP-Link TL-WN851ND for about $25 that has an Atheros AR9227 chipset which uses the ath9k driver. According the Arch Wiki wireless page, it is officially supported and included in the Linux kernel since v2.6.27.
After it was installed, I booted to find it not working. First I checked to see if the module was loaded:
aerotachyon@arch % lsmod | grep ath9k
ath9k 88740 0
ath9k_common 2096 1 ath9k
ath9k_hw 373214 2 ath9k_common,ath9k
ath 15489 3 ath9k_common,ath9k,ath9k_hw
mac80211 488494 1 ath9k
cfg80211 452332 3 ath,ath9k,mac80211
ath9k 88740 0
ath9k_common 2096 1 ath9k
ath9k_hw 373214 2 ath9k_common,ath9k
ath 15489 3 ath9k_common,ath9k,ath9k_hw
mac80211 488494 1 ath9k
cfg80211 452332 3 ath,ath9k,mac80211
I could see the module did load and checking with a quick 'ip link' command, saw the interface was down. I tried setting it up again as before, but encountered the same SIOCSIFFLAGS error. Checking with rfkill the card was softblocked and was still unable to unblock the card.
I wanted to check that this card would work, like it should, out of the box on a system that hadn't been altered as much as mine had. I tried a Linux Mint Cinnamon live DVD I had handy and, sure enough, the wireless worked immediately without any configuring necessary.
Now that I knew it wasn't just a problem with my old card but more a problem with the state of my system, I started to think harder about the soft block. Since it was my understanding that software could be blocking the card, I double checked to see that Network Manager (since that is what I am using) was set up correctly according to the corresponding Arch wiki page, but to no avail.
Finally, it had occured to me that it may be software packaged with another desktop environment I had installed to give a try. I had Enlightenment (E17) and i3 installed that I hadn't really used. I proceeded to uninstall them and finally was able to unblock the card and get my wireless working.
If anyone does happen to know the exact cause of this issue and why rfkill couldn't unblock the card, please leave an explanation. It still bugs me that I don't know the exact cause.
No comments:
Post a Comment