对 Linux 来说,还是个新手,但正在努力...
无论如何,我已经在我的一台旧 P4 PC 上安装了新版 Ubuntu 11,我本来希望将其赠送出去,但是我在使用板载 Intel 100/PRO VE 网络适配器时遇到了一些问题,但我认为我已经解决了它。
启动后,我运行“dmesg | grep e100”来查看内核对驱动程序的解释,并得到以下信息:
[ 1.756219] pci 0000:02:08.0: Firmware left e100 interrupts enabled; disabling
[ 3.237229] e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
[ 3.237235] e100: Copyright(c) 1999-2006 Intel Corporation
[ 3.237310] e100 0000:02:08.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[ 3.259916] e100 0000:02:08.0: (unregistered net_device): EEPROM corrupted
[ 3.277707] e100 0000:02:08.0: PCI INT A disabled
[ 3.277735] e100: probe of 0000:02:08.0 failed with error -11
因此我发现通过运行以下命令可以使驱动程序加载:
sudo modprobe -r e100
sudo modprobe e100 eeprom_bad_csum_allow=1
它加载并且适配器工作得很好。但是我不希望下一个用户每次启动 PC 时都必须运行它。所以我了解到,将选项放入 /etc/modprobe.d 文件夹中的 .conf 文件中应该每次加载时都设置该选项。我在 /etc/modprobe.d 中创建了以下文件:
-rw-r--r-- 1 root root 37 2012-04-16 21:18 e100.conf
并给出内容:
options e100 eeprom_bad_csum_allow=1
然后重启了机器。重启后发现网络不工作了,查看 dmesg | grep e100 时看到的信息和我刚开始时看到的一样。
运行“sudo modprobe -r e100”然后运行“sudo modprobe e100”(不指定选项)使其加载良好,因此它似乎使用了 e100.conf 文件。
为什么它在启动时不使用它?
非常感谢您的帮助,抱歉写了这么长,但希望我已经解释清楚了。
干杯,克里斯。
答案1
如果在启动时(在打开根文件系统之前)加载了模块,则需要更新初始 ramdisk。这是第一个加载的“文件系统”,它将加载驱动程序、发现和挂载分区等。
要更新此 initrd,请运行:
sudo update-initramfs -u
(这将由内核升级/安装自动调用,因此您只需运行一次)