有没有办法安装Atheros e2400驱动程序?
我有一个新主板:MSI Z170A GAMING M5。 这款主板配有Atheros杀手级e2400以太网控制器。 当我做lspci -nn
,我得到:
03.00.0 Ethernet controller [0200]: Qualcomm Atheros Device [1969:e0a1] (rev 10)
谷歌似乎不知道答案。 在openSUSE论坛上只有一个类似的未解决的问题。
我在Ubuntu Gnome上使用我的Killer E2400从我的Skylake MSI Z170A GAMING M5版本发布这个! 下面是我用来使它工作的(或多或少)简单步骤。
首先,我们将遵循Ubuntu的一些说明
sudo apt-get build-dep linux-image-$(uname -r) sudo apt-get install git git clone git://kernel.ubuntu.com/ubuntu/ubuntu-vivid.git
该git URL适用于15.04 Vivid Vervet。 您可以使用发布代号替换生动。 最后一步可能需要一段时间,因此请放松并了解您的E2400即将开始工作。
一旦完成,我们将修改alx驱动程序以包含我们的E2400(随意使用您选择的文本编辑器)
cd ubuntu-vivid/drivers/net/ethernet/atheros/alx/ sudo -H gedit reg.h
找到定义ALX_DEV_ID_E2200的行(你可以只搜索E2200),然后在下面添加它
#define ALX_DEV_ID_E2400 0xe0a1
下一个,
sudo -H gedit main.c
再次找到E2200,在行{ PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_E2200), .driver_data = ALX_DEV_QUIRK_MSI_INTX_DISABLE_BUG },
添加
{ PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_E2400), .driver_data = ALX_DEV_QUIRK_MSI_INTX_DISABLE_BUG },
现在,剩下的就是制作和安装驱动程序了
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install sudo modprobe -r alx sudo depmod sudo modprobe -v alx
注意:在执行最后一行之后,您应该看到模块加载来自...extra/alx.ko
如果不这样做,您可能需要重命名alx.ko
,它确实找到alx.ko.bak
或者其他东西排序,并再次运行最后三个命令。
您的E2400现在应该出现在您的网络享受!
Ubuntu 14.04更新(Trusty):
根据chili555对类似问题的评论 ,Ubuntu 16.04附带的内核支持该设备。 幸运的是,可以通过LTS / HWE升级升级到Ubuntu 14.04中的相同内核:
-
安装内核包:
sudo apt install linux-generic-lts-xenial
-
重新启动机器。 新安装的内核应该是Grub的新默认启动选项。
更多信息: Ubuntu Wiki – LTS Enablement Stack
原帖(仍适用于16.04之前的其他Ubuntu版本)
如果没有应用适当的补丁并重新编译受影响的内核模块,您可以在现有设备驱动程序中注册新的PCI设备ID ( 文档 ):
将设备ID写入此文件将尝试将新设备ID动态添加到PCI设备驱动程序。 这可能允许驱动程序在编译时支持比驱动程序的静态设备ID支持表中包含的硬件更多的硬件。 设备ID的格式为:
VVVV DDDD SVVV SDDD CCCC MMMM PPPP
。 即供应商ID,设备ID,子系统供应商ID,子系统设备ID,类,类掩码和专用驱动程序数据。 供应商ID和设备ID字段是必需的,其余是可选的。 成功添加ID后,驱动程序将探测设备并尝试绑定到该设备。 例如:# echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id
所以在这种情况下,你应该善于:
sudo modprobe alx echo 1969 e0a1 | sudo tee /sys/bus/pci/drivers/alx/new_id >/dev/null
我从评论中提到的补丁中猜出了驱动程序名称alx
。 如果它不是正确的驱动程序模块名称,请搜索替代方案。
我使用4.4内核的源代码制作了DKMS版本
说明是:
sudo apt-get install git dkms build-essential linux-headers-generic git clone https://github.com/jeremyb31/alx.git sudo dkms add ./alx sudo dkms build alx/2.0 sudo dkms install alx/2.0
重启
我在旧的3.13.0-24内核中对此进行了测试,它与4.2一起工作,它正确地表明这与内核中存在的模块完全相同
- Qualcomm Atheros AR9485无线网络适配器无法在Ubuntu 13.10上运行
- Qualcomm Atheros Device (rev 31)Wi-Fi驱动程序安装
- D-link Dir 600和我的AR9285无线网卡问题
- 无法获得无线互联网Qualcomm Atheros QCA6174 802.11ac
- Qualcomm Atheros AR9285适配器的Wi-Fi连接问题
- atheros无线ar9285驱动程序
- 无线无法正常工作 – 华硕X450J – 高通Atheros
- 在Ubuntu 16.04中Qualcomm Atheros QCA6174的问题
- Qualcomm Atheros蓝牙4.0无法在Ubuntu 16.04上运行