我想使用eth0
驱动程序,但我的网卡未被认领。
我使用 Killer e2200 千兆以太网控制器。
请告诉我如何安装网络驱动程序以及如何使用eth0
。
答案1
如果您已经安装了操作系统,并且想要将网卡作为新硬件运行,则必须向供应商索要网络驱动程序。通常,网络驱动程序附带内核模块的源包。您必须为内核编译驱动程序模块。
安装“构建基本”实用程序
$ sudo apt-get install build-essential
将源包解压到某个文件夹
- 转到此文件夹
做这个:
$ ./configure $ make $ sudo make install
安装完成后你就可以通过输入命令来加载刚刚编译的模块:
$ sudo insmod your_module.so
$ ifconfig eth0 up
答案2
最新的网络设备通常需要一段时间才能进入 Linux 内核。所有驱动程序通常都内置在 Debian(或 Ubuntu)和 Centos 等大型发行版中。
这里的其他答案详细介绍了如何编译驱动程序模块并将其插入 - 如果您查看 Linux 源代码,您可以在 /drivers/net 目录中“grep”您的设备名称,例如。
grep -ri e2200 /usr/src/linux*/drivers/net/
或者
grep -ri killer /usr/src/linux*/drivers/net/
它可能产生如下结果:
drivers/net/dsa/Kconfig: tristate "Qualcomm Atheros QCA8K Ethernet switch family support"
drivers/net/dsa/Kconfig: This enables support for the Qualcomm Atheros QCA8K Ethernet
drivers/net/ethernet/atheros/Makefile:# Makefile for the Atheros network device drivers.
drivers/net/ethernet/atheros/Kconfig:# Atheros device configuration
drivers/net/ethernet/atheros/Kconfig:config NET_VENDOR_ATHEROS
drivers/net/ethernet/atheros/alx/Makefile:obj-$(CONFIG_ALX) += alx.o
drivers/net/ethernet/atheros/alx/Makefile:alx-objs := main.o ethtool.o hw.o
drivers/net/ethernet/qualcomm/Kconfig: This enables support for the Qualcomm Atheros QCA7000.
drivers/net/ethernet/qualcomm/Kconfig: tristate "Qualcomm Atheros QCA7000 SPI support"
drivers/net/wireless/ath/ath9k/Kconfig: bool "Atheros bluetooth coexistence support"
drivers/net/wireless/ath/ath9k/Kconfig: tristate "Atheros 802.11n wireless cards support"
drivers/net/wireless/ath/ath9k/Kconfig: Atheros IEEE 802.11n AR5008, AR9001 and scan support"
drivers/net/wireless/ath/Kconfig: bool "Atheros/Qualcomm devices"
drivers/net/wireless/ath/Kconfig: For information on all Atheros wireless drivers visit:
drivers/net/wireless/ath/ar5523/Kconfig: tristate "Atheros AR5523 wireless driver support"
drivers/net/wireless/ath/carl9170/Kconfig: This is the mainline driver for the Atheros "otus" 802.11n USB devices.
drivers/net/wireless/ath/ath10k/Kconfig: tristate "Atheros 802.11ac wireless cards support"
drivers/net/wireless/ath/ath10k/Kconfig: Atheros IEEE 802.11ac family of chipsets.
drivers/net/wireless/ath/ath6kl/Makefile:# Copyright (c) 2004-2011 Atheros Communications Inc.
drivers/net/wireless/ath/ath6kl/Makefile:# Copyright (c) 2011-2012 Qualcomm Atheros, Inc.
drivers/net/wireless/ath/wcn36xx/Kconfig: Qualcomm Atheros WCN3660 and WCN3680 mobile chipsets.
drivers/net/wireless/ath/ath5k/Kconfig: bool "Atheros 5xxx AHB bus support"
drivers/net/wireless/ath/ath5k/Kconfig: This adds support for WiSoC type chipsets of the 5xxx Atheros
drivers/net/wireless/ath/ath5k/Kconfig: bool "Atheros 5xxx PCI bus support"
drivers/net/wireless/ath/ath5k/Kconfig: This adds support for PCI type chipsets of the 5xxx Atheros
为了简洁起见,我删减了一些行。但是模块名称与 Kconfig 之前的目录相同,因此您可以使用 lsmod 检查它是否处于活动状态:
lsmod
有时我的板载 Wi-Fi 的英特尔驱动程序会死机,然后我必须删除并重新添加它:
rmmod iwlmvm
modprobe iwlmvm
然后它又神奇地恢复了。我仍然需要将此修复程序贡献给 NetworkManager 项目...
如果返回“alx”,则驱动程序已加载:
lsmod | grep alx
如果没有,那你就没那么幸运了。你可以使用“ifconfig”或“ip link”命令来管理接口:
ifconfig
ip link
较新的 Linux 不再使用“eth”作为接口名称。
于是我搜索了内核树中的“killer”和“e2200”,但什么也没找到。然后我进行了网络搜索,发现这是一个 Atheros 设备,与“alx”驱动程序类似。有人更新了驱动程序以与您的卡配合使用,您真幸运。如果世界上有足够多的此类卡,或者他将其上游化,您所要做的就是更新 Linux,它就可以正常工作了。
如果没有,你必须自己编译,按照如何使 Qualcomm Atheros Killer E2200 千兆以太网卡工作?从https://ubuntuforums.org/showthread.php?t=2008332&page=7&p=12604916#post12604916。
欢迎使用 Linux!不用出去买一些已经有人制作了免费驱动程序的旧硬件了…… :-)
答案3
请运行命令:
lspci -nn | grep 0200
您的设备是 1969:e091 吗?以下是让您的设备工作的说明。首先,我假设您正在运行 Ubuntu 13.04:
lsb_release -d
如果没有,请停止,因为这些说明仅适用于 13.04,在早期 Ubuntu 版本上会产生未知结果。这些说明已经过测试,可以在 13.10 中使用。获取可用的无线连接,打开终端并执行以下操作:
sudo apt-get install linux-headers-generic build-essential
现在将其下载到您的桌面:https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v3.10/backports-3.10-2.tar.bz2右键单击它并选择“在此处提取”。现在返回终端:
cd Desktop/backports-3.10-2
make defconfig-alx
make
sudo make install
sudo modprobe alx
您的以太网现在应该可以正常工作了。