USB 无线网卡不工作

发布于 2023-04-23  1037 次阅读


问题描述

EQ59 的无线网卡(AX101)不兼容 Linux,所以我单独配了个 速联的 USB 无线网卡,一直正常工作。美中不足是不能同时连接 WIFI 和发射热点。回学校以后这个需求更迫切了,所以又买了个USB 无线网卡,想一个用于连接 WIFI ,一个用于发射热点。这样手机、平板可以直接连接热点,绕开校园网的连接设备数量限制。

网卡到手之后,一开始能正常使用,但后面发现,在主机重启,或者从 rtcwake 状态唤醒之后,两张网卡都有概率不能使用。对于失效的网卡,ifconfig 没有显示该设备, lsusb 能找到该设备,但是没有正确加载驱动。而重新拔插之后,设备又正常工作。

问题解决

估计还是驱动兼容性问题,或者是供电问题?

总之,既然重新插拔能起作用,那么试着用脚本,实现逻辑插拔。网上搜索一圈后,发现是有相关方法的。然后写出以下脚本:

#!/bin/bash

#port="1-3" # as shown by lsusb -t: {bus}-{port}(.{subport})

port=${1}-${2} # 1 is bus and 2 is device

bind_usb() {
  echo "$1" >/sys/bus/usb/drivers/usb/bind
}

unbind_usb() {
  echo "$1" >/sys/bus/usb/drivers/usb/unbind
}

unbind_usb "$port"
sleep 1 # enable delay here
bind_usb "$port"

其中第一个参数是总线号,第二个参数是设备号(两者都可以通过 lsusb -t 获取。

测试后能正常使用。直接放进启动项,或者加入 crontab ,在开机后运行。