最近购买了 Linksys AE1200 USB WiFi 加密狗,与我的 Debian 盒子一起使用来设置 WiFi AP。
不幸的是,它似乎不能开箱即用,而且我似乎无法在网上找到任何 Linux 驱动程序。有人能给我一些建议,告诉我如何让它工作吗?
答案1
我知道这个问题已经有 10 年了,但是尝试使用这个加密狗时仍然存在问题。
该设备是 Linksys AE1200,USB 数据库将其列为13b1:0039
– 您可以看这里。
问题是,当您重新启动 PC 时,它13b1:0039
会被识别为13b1:0bdc
,从而阻止其加载brcmfmac
内核模块。因为0bdc
它不是真正的产品。
一个繁琐的解决方法是物理地拔下它并重新插入,因为它被识别为0039
第二次(您可以通过lsusb
重新插入之前和之后的运行来确认这一点)。
经过大量的故障排除,我找到了一种自动化的方法,无需触碰任何东西。答案是基于shodanex 对类似问题的回复。
它涉及明确告诉驱动程序也要使用设备的错误 ID。
修复步骤
按Ctrl+ Alt+ T,或者打开您最喜欢的终端。
以下命令必须以 的形式运行sudo
,但我按原样运行时出现“权限被拒绝”的情况。因此,请sudo -i
在执行任何操作之前运行。(如果您收到提示,提示内容#
为 ,而不是常规的$
,则表示一切就绪)
因为brcmfmac
可能还没有加载,所以你可能需要自己加载。因此输入:
modprobe brcmfmac
现在进行实际修复,让我们告诉brcmfmac
也使用这个错误的 ID:
echo 13b1 0bdc > /sys/bus/usb/drivers/brcmfmac/new_id
这将确保设备使用该brcmfmac
模块,即使其 ID 不正确。几秒钟后,加密狗应该被识别,允许您配置 WiFi 网络!
您可以像往常一样通过 GUI 执行此操作,或者nmtui
如果已安装,则在另一个终端上运行。
如果一切顺利,您应该可以连接互联网。
现在我们知道它可以工作,我们可以通过在每次系统启动时运行 cronjob 来自动执行此操作。
跑步:
crontab -e
以超级用户身份(如果您按照步骤操作,您应该是超级用户),您将看到一个带有空文件的编辑器。将修复问题的命令粘贴到其中(在不同的行上),并@reboot
在两者的开头添加,如下所示:
@reboot modprobe brcmfmac
@reboot echo 13b1 0bdc > /sys/bus/usb/drivers/brcmfmac/new_id
这会告诉系统sudo
每次启动时运行这些命令(如)。如果您的发行版不支持它,您可以搜索其他方法。
更多信息
我尝试了很多方法才找到这个方法,差点就放弃了。幸运的是,似乎有人已将其报告为 Debian 的官方错误。
当然,这不是 Debian 的一个错误,因为其他发行版也有同样的问题。这应该是内核的问题,但不知道上游是否已经报告过。
答案2
答案3
使用 crontab 的解决方案几乎适用于我的 Debian/Trixie 系统。命令执行,但我收到一条错误消息,内容如下:
"/bin/sh: 1: cannot create /sys/bus/usb/drivers/brcmfmac/new_id: Directory nonexistent"
然而,当我以 root 身份运行 echo 命令时,它可以工作。
解决方案是将两个命令合并为一行,以便它们按顺序执行:
@reboot /usr/sbin/modprobe brcmfmac && echo 13b1 0bdc > /sys/bus/usb/drivers/brcmfmac/new_id
这将强制 echo 命令等待,直到 modprobe 完成。