[ 1.154583] sunxi-rfkill soc@3000000:rfkill@0: get gpio chip_en failed [ 1.161892] sunxi-rfkill soc@3000000:rfkill@0: wlan_regon gpio=204 assert=1 [ 1.198307] sunxi-rfkill soc@3000000:rfkill@0 soc@3000000:rfkill@0: bus_index: 1 [ 446.305249] sunxi-rfkill soc@3000000:rfkill@0: wlan power on 可以正常工作: # echo 0 > /sys/class/rfkill/rfkill0/st[ 686.015413] sunxi-rfkill soc@3000000:rfkill@0: set /class/rfkill/rfkill0/state 0 # # echo 1 > /sys/class/rfkill/rfkill0/st[ 700.247367] sunxi-rfkill
soc@3000000:rfkill@0: module version: v1.0.9 [ 0.757395] sunxi-rfkill soc@3000000:rfkill@0: get gpio ] sunxi-rfkill soc@3000000:rfkill@0: wlan_busnum (1) [ 0.778768] sunxi-rfkill soc@3000000:rfkill@0 0.793468] sunxi-rfkill soc@3000000:rfkill@0: wlan_regon gpio=204 assert=1 [ 0.801331] sunxi-rfkill soc@3000000:rfkill@0: wlan_hostwake gpio=202 assert=1 [ 0.809469] sunxi-rfkill soc@3000000:rfkill 0.823870] sunxi-rfkill soc@3000000:rfkill@0: bt clock[0] (32k-fanout1) [ 0.831419] sunxi-rfkill soc
CVE-2017-0785 疑难解答 如果遇到”Can’t find the ID of hci0 in rfkill”报错信息,是因为某些旧版本的rfkill不支持-r或-n选项,比如说: # Ubuntu 16.04.1 rfkill --version # rfkill 0.5-1ubuntu3 (Ubuntu)" 请更新rfkill或操作系统版本便可解决该问题。
#驱动路径要根据固件实际路径 insmod /lib/modules/5.4.61±ab179/xradio_btlpm.ko 等驱动安装完再执行后续操作 echo 0 > /sys/class/rfkill /rfkill0/state sleep 1 echo 1 > /sys/class/rfkill/rfkill0/state sleep 1 hciattach -n ttyS1 xradio &
\ CONFIG_AIC8800_WLAN_SUPPORT=m \ CONFIG_AIC_WLAN_SUPPORT=m \ CONFIG_PM=y \ CONFIG_RFKILL =y \ CONFIG_RFKILL_PM=y \ CONFIG_RFKILL_GPIO=y FILES+=$(LINUX_DIR)/drivers/net/wireless/aic8800 wlan Support <M> AIC8800 bluetooth Support (UART) Misc Devices Drivers ---> <*> Allwinner rfkill driver <*> Allwinner Network MAC Addess Manager Linux 5.15 内核设备树 &rfkill { compatible = "allwinner ,sunxi-rfkill"; chip_en; power_en; pinctrl-0; pinctrl-names; status = "okay"; /* wlan session
sunxi-rfkill soc@3000000:rfkill@0: get gpio power_en failed sunxi-rfkill soc@3000000:rfkill@0: wlan_busnum (1) sunxi-rfkill soc@3000000:rfkill@0: Missing wlan_power. sunxi-rfkill soc@3000000:rfkill@0: wlan clock sunxi-rfkill soc@3000000:rfkill@0: Missing bt_power. sunxi-rfkill soc@3000000:rfkill@0: bt clock[0] (1) sunxi-rfkill soc@3000000:rfkill@0: Missing wlan_power. sunxi-rfkill soc@3000000:rfkill@0: wlan clock sunxi-rfkill soc@3000000:rfkill@0: Missing bt_power. sunxi-rfkill soc@3000000:rfkill@0: bt clock[0]
soc@3000000:rfkill@0: module version: v1.0.9 [ 0.757395] sunxi-rfkill soc@3000000:rfkill@0: get gpio ] sunxi-rfkill soc@3000000:rfkill@0: wlan_busnum (1) [ 0.778768] sunxi-rfkill soc@3000000:rfkill@0 0.793468] sunxi-rfkill soc@3000000:rfkill@0: wlan_regon gpio=204 assert=1 [ 0.801331] sunxi-rfkill soc@3000000:rfkill@0: wlan_hostwake gpio=202 assert=1 [ 0.809469] sunxi-rfkill soc@3000000:rfkill 0.823870] sunxi-rfkill soc@3000000:rfkill@0: bt clock[0] (32k-fanout1) [ 0.831419] sunxi-rfkill soc
soc@3000000:rfkill@0: module version: v1.0.9 [ 1.115395] sunxi-rfkill soc@3000000:rfkill@0: get gpio ] sunxi-rfkill soc@3000000:rfkill@0: wlan_busnum (1) [ 1.136705] sunxi-rfkill soc@3000000:rfkill@0 soc@3000000:rfkill@0: wlan_hostwake gpio=202 assert=1 [ 1.167257] sunxi-rfkill soc@3000000:rfkill 1.181694] sunxi-rfkill soc@3000000:rfkill@0: bt clock[0] (32k-fanout1) [ 1.189226] sunxi-rfkill soc ] sunxi-rfkill soc@3000000:rfkill@0: wlan_busnum (1) [ 1.136705] sunxi-rfkill soc@3000000:rfkill@0
33 Powered: yes[bluetoothctl]>完成后, 输入 exit退出[bluetoothctl]> exitroot@rpi-cm0:~#检查并解除蓝牙射频锁定查看当前状态输入命令rfkill list查看状态, 观察Bluetooth项.若Soft blocked为yes则需要解锁root@rpi-cm0:~# rfkill list0: hci0: Bluetooth Soft Hard blocked: no1: phy0: Wireless LAN Soft blocked: no Hard blocked: no解除射频锁定命令rfkill unblock bluetooth, 无错误输出则为解锁成功.root@rpi-cm0:~# rfkill unblock bluetooth确认解锁状态再次运行rfkill list确认Soft blocked 已变为noroot@rpi-cm0:~# rfkill list0: hci0: Bluetooth Soft blocked: no # 若为 no, 表示已解锁 Hard
ifconfig wlan0 up 无法启动网卡 终端使用ifconfig wlan0 up的时候报错 SIOCSIFFLAGS: Operation not possible due to RF-kill rfkill blocked: yes Hard blocked: no 1: phy0: Wireless LAN Soft blocked: no Hard blocked: no 使用rfkill
首先确保 bluetooth, bluez, bluez-tools, rfkill 已经安装好,没有则在终端进行安装: sudo apt install bluetooth bluez bluez-tools rfkill 1.
User Command Swap USS PSS RSS 2627 rumenz /usr/sbin/rfkill User Command Swap USS PSS RSS 2627 rumenz /usr/sbin/rfkill User Command Swap USS PSS RSS 2627 rumenz /usr/sbin/rfkill User Command Swap USS PSS RSS 2627 rumenz /usr/sbin/rfkill User Command Swap USS PSS RSS 2627 1000 /usr/sbin/rfkill
soc@3000000:rfkill@0: module version: v1.0.9 [ 1.114493] sunxi-rfkill soc@3000000:rfkill@0: get gpio ] sunxi-rfkill soc@3000000:rfkill@0: wlan_busnum (1) [ 1.135805] sunxi-rfkill soc@3000000:rfkill@0 1.150439] sunxi-rfkill soc@3000000:rfkill@0: wlan_regon gpio=44 assert=1 [ 1.158229] sunxi-rfkill soc@3000000:rfkill@0: wlan_hostwake gpio=202 assert=1 [ 1.166360] sunxi-rfkill soc@3000000:rfkill 1.180762] sunxi-rfkill soc@3000000:rfkill@0: bt clock[0] (32k-fanout1) [ 1.188353] sunxi-rfkill soc
(OE)mtk_rpmsg_mbox(OE)mtk_mbox(OE)mtk_afe_external(OE)cdc_acm(OE)gpio_keys(OE)libarc4(E)bluetooth(E)rfkill (OE)mtk_rpmsg_mbox(OE)mtk_mbox(OE)mtk_afe_external(OE)cdc_acm(OE)gpio_keys(OE)libarc4(E)bluetooth(E)rfkill (OE)mtk_rpmsg_mbox(OE)mtk_mbox(OE)mtk_afe_external(OE)cdc_acm(OE)gpio_keys(OE)libarc4(E)bluetooth(E)rfkill (OE)mtk_rpmsg_mbox(OE)mtk_mbox(OE)mtk_afe_external(OE)cdc_acm(OE)gpio_keys(OE)libarc4(E)bluetooth(E)rfkill (OE)mtk_rpmsg_mbox(OE)mtk_mbox(OE)mtk_afe_external(OE)cdc_acm(OE)gpio_keys(OE)libarc4(E)bluetooth(E)rfkill
方法二:通过写入系统文件(针对特定硬件) 打开蓝牙:echo 1 > /sys/class/rfkill/rfkill0/state(注意:此方法可能仅适用于某些具有特定蓝牙芯片的Android设备) 关闭蓝牙:echo 0 > /sys/class/rfkill/rfkill0/state 方法三:通过SVC命令 打开蓝牙:adb shell svc bluetooth enable 关闭蓝牙:adb
图8 图9 技能接口 基本的设备配置任务是通过技能接口完成的,例如, 通过技术接口来切换设备(例如通过 RFKILL)。 在离线模式下, 用户可以通过使用 rfkill 命令来临时激活单个技能。 request a network session src/resolver.c – resolver framework src/dhcp.c, dhcpv6.c – dhcp framework src/rfkill.c – rfkill interface support src/machine.c - basic systemd-hostnamed ( machine-type- “chassis”) support
(后续遇到更新) 1.拯救者无法开启wifi问题 使用这个命令 rfkill list all 如果结果是类似于下面这样的 0: ideapad_wlan: Wireless LAN
删除时可以使用进行:nmcli c delete "xxx" 2.硬件是否可以连接wifi检查方式:ifconfig 查看是否有wlan0如果没有wlan0 就证明你没有wifi驱动,需要打开射频rfkill
[ 1.091210] sunxi-rfkill soc@3000000:rfkill@0: get gpio chip_en failed [ 1.098557] sunxi-rfkill (1) [ 1.112528] sunxi-rfkill soc@3000000:rfkill@0: Missing wlan_power. [ 1.119490] sunxi-rfkill soc@3000000:rfkill@0: wlan clock[0] (32k-fanout1) [ 1.127257] sunxi-rfkill soc@3000000:rfkill@0: soc@3000000:rfkill@0: Missing bt_power. [ 1.157763] sunxi-rfkill soc@3000000:rfkill@0: bt clock[0 soc@3000000:rfkill@0: bus_index: 1 [ 14.966950] sunxi-rfkill soc@3000000:rfkill@0: wlan power on success
ip-link(8) ip link 显示如:wlan0 <UP>,确保是UP状态,如果是down,请手动开启 ip link set wlan0 UP 对于无线和 WWAN,请确保该卡未被rfkill exit #成功后exit退出 无线设备有时会被禁用,如果 `device list` 输出的 Powered 字段为 off(断电),则需要使用 `rfkill 若无法正确建立连接,先检查无线设备状态 ```bash rfkill list ``` 如果看到 blocked: yes 字样,说明无线连接被禁用,首先再次确保硬件无线开关属于开启状态。 `` ip link set wlan0 up #比如无线网卡看到叫 wlan0 ``` 若看到类似`Operation not possible due to RF-kill`的报错,继续尝试`rfkill ```bash rfkill unblock wifi ``` 移动宽带调制解调器 — 使用mmcli实用程序连接到移动网络。