FS#48005 - [linux] iwl3945 (almost) always blocked by rfkill on boot

Attached to Project: Arch Linux
Opened by jackoneill (jackoneill) - Wednesday, 03 February 2016, 09:51 GMT
Last edited by Andreas Radke (AndyRTR) - Sunday, 27 February 2022, 08:44 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Ever since upgrading from kernel 3.14.x (most recently 3.14.48), the wireless interface usually gets blocked on boot. I tried several kernel versions since the linux-lts package moved on from 3.14.x, and went back to this version every time because of this problem. Currently I'm using linux 4.3.3-3, because the wifi happened to not be blocked when booting it the first three or four times.

I'm using netctl with the following profile:
Connection=wireless
Interface=wlp16s0
Security=wpa-configsection
IP=static
Address=('192.168.2.50/24')
Gateway=192.168.2.1
DNS=('78.96.7.88' '8.8.8.8')
WPAConfigSection=(
'ssid="whatwouldxenado"'
'key_mgmt=WPA-PSK'
'eap=TTLS'
'group=CCMP TKIP'
'pairwise=CCMP TKIP'
'psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
)
# Sadly not enough, because "phy0" also needs to be unblocked.
#RFKill=hp-wifi
# end profile

The wireless card is
10:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection [8086:4222] (rev 02)
inside an HP Compaq 6720s laptop.

Sometimes I see
systemd[1]: Started Load/Save RF Kill Switch Status.
during boot. Sometimes I don't. It doesn't seem to make any difference.

Manually running
# systemctl start rfkill-unblock@all.service
# netctl start whatwouldxenado
after logging it does work.

# systemctl enable rfkill-unblock@all.service
does not make a difference. It runs during boot but has no effect.

# ln -s /dev/null /etc/systemd/system/systemd-rfkill.service
did not help.

I'm guessing it would help if the RFKill key in netctl profiles would accept values like "all" and "wifi" in addition to specific device names, because I have to unblock two devices to make this card work, "hp-wifi" and "phy0". The device names have also changed over time. (kernel updates?)

If someone could tell me how to convince systemd to run rfkill-unblock@all.service at the right time (after the card is ready and before netctl) that would be great too. Systemd is a bit of a mystery.
This task depends upon

Closed by  Andreas Radke (AndyRTR)
Sunday, 27 February 2022, 08:44 GMT
Reason for closing:  None
Additional comments about closing:  No response in years. Let's assume fixed upstream.
Comment by jackoneill (jackoneill) - Sunday, 06 March 2016, 12:41 GMT
Right, well I switched to connman, which manages the rfkill stuff directly and works just fine.
Comment by mattia (nTia89) - Monday, 02 October 2017, 19:50 GMT
is this issue still valid?

Loading...