Dyl*_*tra 9 networking atheros ethernet drivers
我有一块新主板:MSI Z170A GAMING M5。这个主板有一个 Atheros 杀手 e2400 以太网控制器。当我这样做时lspci -nn,我得到:
03.00.0 Ethernet controller [0200]: Qualcomm Atheros Device [1969:e0a1] (rev 10)
Run Code Online (Sandbox Code Playgroud)
谷歌似乎不知道答案。openSUSE 论坛上只有类似的未解决问题。
小智 12
我在 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
Run Code Online (Sandbox Code Playgroud)
该 git URL 适用于 15.04 Vivid Vervet。你可以用你的发布代号替换vivid。最后一步可能需要一点时间,所以请放松并沉浸在您的 E2400 很快就会工作的知识中。
完成后,我们将修改 alx 驱动程序以包含我们的 E2400(随意使用您选择的文本编辑器)
cd ubuntu-vivid/drivers/net/ethernet/atheros/alx/
sudo -H gedit reg.h
Run Code Online (Sandbox Code Playgroud)
找到定义 ALX_DEV_ID_E2200 的行(你可以只搜索 E2200),然后在它下面添加
#define ALX_DEV_ID_E2400 0xe0a1
Run Code Online (Sandbox Code Playgroud)
下一个,
sudo -H gedit main.c
Run Code Online (Sandbox Code Playgroud)
再次找到 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 },
Run Code Online (Sandbox Code Playgroud)
现在,剩下的就是制作和安装驱动程序
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
Run Code Online (Sandbox Code Playgroud)
注意:执行完最后一行后,您应该会看到加载的模块。...extra/alx.ko如果没有,您可能需要重命名alx.ko它确实找到的alx.ko.bak或类似的名称,然后再次运行最后三个命令。
您的 E2400 现在应该会出现在您的网络享受中!
根据chili555对类似问题的评论,Ubuntu 16.04 附带的内核支持该设备。幸运的是,可以通过 LTS/HWE 升级在 Ubuntu 14.04 中升级到相同的内核:
安装内核包:
sudo apt install linux-generic-lts-xenial
Run Code Online (Sandbox Code Playgroud)重新启动机器。新安装的内核应该是 Grub 的新默认引导选项。
如果没有应用适当的补丁并重新编译受影响的内核模块,您可能能够使用现有设备驱动程序注册新的 PCI 设备 ID(文档):
将设备 ID 写入此文件将尝试将新设备 ID 动态添加到 PCI 设备驱动程序。这可能允许驱动程序支持比编译时驱动程序的静态设备 ID 支持表中包含的更多的硬件。设备 ID 的格式为:
VVVV DDDD SVVV SDDD CCCC MMMM PPPP. 即供应商 ID、设备 ID、子系统供应商 ID、子系统设备 ID、类、类掩码和私有驱动程序数据。供应商 ID 和设备 ID 字段是必需的,其余是可选的。成功添加 ID 后,驱动程序将探测设备并尝试绑定到它。例如:Run Code Online (Sandbox Code Playgroud)# 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
Run Code Online (Sandbox Code Playgroud)
我alx从评论中提到的补丁中猜到了驱动程序名称。如果它不是正确的驱动程序模块名称,请搜索替代名称。
| 归档时间: |
|
| 查看次数: |
23788 次 |
| 最近记录: |