Можно ли обойти аппаратный переключатель wifi, если не работает `rfkill unblock all`?
Резюме
Недавно я восстановил старый ноутбук Sony Vaio VGN-N230E и установил на нем Linux Mint:
gctrindade@gctrindade-VGN-N230E ~ $ lsb_release -irc
Distributor ID: LinuxMint
Release: 13
Codename: maya
gctrindade@gctrindade-VGN-N230E ~ $ uname -or
3.2.0-23-generic GNU/Linux
Ноутбук работает просто отлично, за исключением одной проблемы: у него есть аппаратный переключатель Wi-Fi, который немного "болтается". Как следствие, ноутбук будет случайным образом / постоянно выключать свой Wi-Fi, даже когда физически бездействует (возможно, что-то связанное с какой-то весной).
Когда это происходит, rfkill отображает Wi-Fi как "жестко заблокированный":
gctrindade@gctrindade-VGN-N230E ~ $ rfkill list
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: yes
Это особенно расстраивает, видя, как я подключаюсь к нему удаленно (SSH).
Несколько вещей, которые я попробовал:
Проверка BIOS на наличие каких-либо настроек wlan/wifi. Я не смог найти ничего, связанного с этим. (Примечание: я не пытался "восстановить заводские настройки по умолчанию", как предлагали некоторые другие посты.)
дела rfkill unblock all
не работает, так как Wi-Fi остается "жестко заблокированным".
дела ifconfig wlan0 up
выдает следующее сообщение об ошибке:
gctrindade@gctrindade-VGN-N230E ~ $ ifconfig wlan0 up
SIOCSIFFLAGS: Operation not possible due to RF-kill
дела ip link set wlan0 up
также не удается:
gctrindade@gctrindade-VGN-N230E ~ $ ifconfig wlan0 up
RTNETLINK answers: Operation not possible due to RF-kill
дела lsmod | grep sony
показал, что модуль называется sony_laptop
был загружен, и поэтому я продолжил делать echo "blacklist sony_laptop" >> /etc/modprobe.d/blacklist.conf
и перезагрузил мой компьютер. К сожалению, проблема сохраняется.
дела rm /etc/rfkill
и перезагрузка не работает, так как Wi-Fi остается "жестко заблокированным".
дела rfkill event
, с последующим rfkill unblock xxxxxxxxxx.xxxxxx
(с номером, показанным предыдущей командой), тоже не работает.
Можно ли вообще обойти аппаратный коммутатор?
Надеюсь, у вас, ребята, есть идея, как это решить. Очень неприятно возвращаться к ноутбуку, просто нажимать переключатель Wi-Fi (сильнее) в положение ON каждые пару часов.
Возможно, это имеет некоторую ценную информацию:
gctrindade@gctrindade-VGN-N230E ~ $ lshw -c network
[sudo] password for gctrindade:
*-network
description: Ethernet interface
product: 88E8036 PCI-E Fast Ethernet Controller
vendor: Marvell Technology Group Ltd.
physical id: 0
bus info: pci@0000:02:00.0
logical name: eth0
version: 16
serial: 00:13:a9:4f:a9:73
capacity: 100Mbit/s
width: 64 bits
clock: 33MHz
capabilities: pm vpd msi pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=sky2 driverversion=1.30 firmware=N/A latency=0 link=no multicast=yes port=twisted pair
resources: irq:43 memory:d6000000-d6003fff ioport:2000(size=256)
*-network
description: Wireless interface
product: PRO/Wireless 3945ABG [Golan] Network Connection
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:06:00.0
logical name: wlan0
version: 02
serial: 00:19:d2:23:7f:eb
width: 32 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwl3945 driverversion=3.2.0-23-generic firmware=15.32.2.9 ip=192.168.15.4 latency=0 link=yes multicast=yes wireless=IEEE 802.11abg
resources: irq:44 memory:da000000-da000fff
Заранее спасибо!