我遇到了 ASIX AX88179 USB 3.0 千兆位以太网适配器的一个相对常见的问题,它根本无法工作,或者偶尔工作,并且dmesg
显示如下错误
[23552.344134] ax88179_178a 2-1:2.1 eth1: Failed to read reg index 0x0000: -32
在网上搜索时,我发现了有关此问题或类似问题的报告,但没有令人满意的解决方案或解释。
经过一番调试,发现如果cdc_mbim
之前加载了模块,问题就解决了ax88179_178a
。以下解决了该问题,直到下次重新启动为止:
# rmmod ax88179_178a
# modprobe cdc_mbim
# modprobe ax88179_178a # optional
我已经检查过没有直接或间接cdc_mbim
声明为 的依赖项。ax88179_178a
我怎样才能使ax88179_178a
依赖cdc_mbim
,以便cdc_mbim
始终自动加载ax88179_178a
?
更新。
我的问题似乎是重复的为自动加载模块创建 Linux 模块依赖项。
答案1
一个类似但稍微简洁的策略也涉及文件 in ,modprobe.d/
即使用该softdep
功能告诉在 之前modprobe
加载。在:cdc_mbim
ax88179_178a
/etc/modprobe.d/ax88179.conf
softdep ax88179_178a pre: cdc_mbim
答案2
您可以使用Amodprobe.d
文件在不更改内核的情况下配置它。创建一个名为 的文件/etc/modprobe.d/ax88179.conf
,其中包含以下内容:
install ax88179_178a /sbin/modprobe cdc_mbim; /sbin/modprobe --ignore-install ax88179_178a
这将确保尝试安装ax88179_178a
时cdc_mbim
首先加载,然后加载ax88179_178a
.--ignore-install
第二个命令跳过此行(以避免无休止的处理)。