On my Dell Laptop it has a handy hardware WiFi Switch on the side that when switched/toggled it disables all Wireless (WWAN/WLAN/Bluetooth).
When booted from Live ISO (USB) on USER session or SYSMAINT session if I then go to toggle the WiFi switch to disable wireless at any given time it causes the system to permanently freeze. This is regardless if I connect to network first or not before toggling the switch.
To my knowledge Dell Laptops that are in the “Enterprise” category only come with these hardware style WiFi switches or these are just the ones that I have seen. I’m not sure about other brands but it’s nice for the obvious security reasons to disable wireless if you don’t need or are using wired Ethernet connection specifically as I’m doing.
Also why is rfkill
not a included as a package or prepackages with the ISO?
My guess is its either network manager wifi power saving settings related or a driver related issue i.e. not installed…
1 Like
To provide additional context for my post, this is not related to the Kicksecure installation (I will test it later).
This is just via LiveUSB and WiFi is working as I’m able to connect to network no problem.
[sysmaint ~]% iwconfig wlan0 | grep "Power Management"
Power Management:on
[sysmaint ~]%
[sysmaint ~]% iwconfig wlan0 power off
Error for wireless request "Set Power Management" (8B2C) :
SET failed on device wlan0 ; Operation not permitted.
zsh: exit 250 iwconfig wlan0 power off
[sysmaint ~]% systemctl stop NetworkManager
[sysmaint ~]% iw wlan0 set power_save off
command failed: Operation not permitted (-1)
zsh: exit 255 iw wlan0 set power_save off
[sysmaint ~]%
Oh wow I just realized that I needed to still use sudo in my commands in sysmaint mode. I thought for some reason the terminal was ran as sudo su in sysmaint control panel lol
Anyhow I was able to disable power saving mode but it still froze permanently after switching the WiFi hardware switch so that did not fix the issue.
This does sound like a driver issue or similar to me. If you want a possible quick solution, you can try to install a newer kernel from the backports repository using sudo apt install -t bookworm-backports linux-image-amd64
, and see if that fixes it. (See Backports - Debian Wiki for more info on Debian backports.) This isn’t guaranteed to work, but if it is a driver issue, this has a decent chance of solving it.
You could also try other distros to see if they have the same problem. Kicksecure 17 is based on Debian 12, so testing Debian 12 would help you determine if it’s a Kicksecure-specific issue or if it’s just a Debian problem.
2 Likes
On Debian 12 Live Xfce the hardware WiFi switch works and doesn’t freeze. Same for Tails 6.17 the hardware WiFi switch works and no system freezes. Here are some outputs of commands across all three live systems bellow as I’m trying to narrow it down.
Debian 12.11.0 Live Xfce:
user@debian:~$ lsusb |grep wireless
Bus 001 Device 007: ID 8087:07dc Intel Corp. Bluetooth wireless interface
user@debian:~$ lspci |grep Network
02:00.0 Network controller: Intel Corporation Wireless 7260 (rev 73)
user@debian:~$ sudo dmesg | grep -i "wifi"
[ 17.347003] Intel(R) Wireless WiFi driver for Linux
[ 17.347109] iwlwifi 0000:02:00.0: enabling device (0000 -> 0002)
[ 17.540002] iwlwifi 0000:02:00.0: firmware: direct-loading firmware iwlwifi-7260-17.ucode
[ 17.540296] iwlwifi 0000:02:00.0: loaded firmware version 17.3216344376.0 7260-17.ucode op_mode iwlmvm
[ 17.976223] iwlwifi 0000:02:00.0: Detected Intel(R) Dual Band Wireless AC 7260, REV=0x144
[ 17.982616] iwlwifi 0000:02:00.0: reporting RF_KILL (radio disabled)
[ 17.982637] iwlwifi 0000:02:00.0: RF_KILL bit toggled to disable radio.
[ 18.013307] iwlwifi 0000:02:00.0: base HW address: 00:50:93:fb:8a:d2, OTP minor version: 0x0
[ 18.061377] iwlwifi 0000:02:00.0 wlp2s0: renamed from wlan0
[ 70.945980] iwlwifi 0000:02:00.0: RF_KILL bit toggled to enable radio.
[ 70.945985] iwlwifi 0000:02:00.0: reporting RF_KILL (radio enabled)
user@debian:~$ sudo dmesg | grep -i iwlwifi
[ 17.366954] iwlwifi 0000:02:00.0: enabling device (0000 -> 0002)
[ 17.548906] iwlwifi 0000:02:00.0: firmware: direct-loading firmware iwlwifi-7260-17.ucode
[ 17.549152] iwlwifi 0000:02:00.0: loaded firmware version 17.3216344376.0 7260-17.ucode op_mode iwlmvm
[ 18.130315] iwlwifi 0000:02:00.0: Detected Intel(R) Dual Band Wireless AC 7260, REV=0x144
Kicksecure kernel version:
[sysmaint ~]% sudo uname -r
6.1.0-34-amd64
[sysmaint ~]%
Debian 12.11.0 Live Xfce kernel version:
user@debian:~$ uname -r
6.1.0-35-amd64
user@debian:~$
Tails 6.17 kernel version:
amnesia@amnesia:~$ uname -r
6.1.0-37-amd64
amnesia@amnesia:~$
Do you think that is what it is or do you think its something related to pci firmware that manages the switch? I’m pretty sure its all managed by the same network controller.
If a Debian 12 live ISO doesn’t trigger it, then it’s very likely Kicksecure’s fault. Now the question is, what part of Kicksecure?
As a first step, can you try booting without any of the hardening kernel command line options passed? To do this, boot the laptop, then press the E key on the boot menu rather than Enter. Move your cursor to the line that starts with the word linux
, then move the cursor immediately after the ro
kernel parameter. (Note that if you have an encrypted installation, you’ll probably have a kernel parameter with the word luks
somewhere in there, make sure to NOT delete that one.) Then just press and hold the delete key until the rest of the line is erased (though don’t erase parameters you want to keep). Once that’s done, press Ctrl+X to boot. This change will only apply to this boot, it isn’t persistent.
Once you’ve booted in that configuration, try the WiFi switch again. If it works, then we’ve narrowed it down to a kernel parameter, and we can start narrowing down which one.
2 Likes
Yeah I will try that here, and yeah it only appears to be Kicksecure specific.
1 Like