У меня есть сервер под управлением Debian 6. Моя материнская плата имеет два интерфейса: eth0 и eth1. В Debian нет драйвера для eth1 (e1000e), поэтому я установил драйвер, предоставленный Intel (e1000e-1.4.4). После компиляции в ядро я использовал rmmod e1000e; modprobe e1000e, чтобы удалить старый модуль и установить новый. Затем я настроил IP с помощью ifconfig eth1 IP. Теперь все работает нормально. Порт работает. Я обязательно отредактировал / etc / network / interfaces, чтобы он принимал eth1 при загрузке, ОДНАКО, когда я перезагружаю систему, он не находит / не распознает устройство eth1. Похоже, модуль не загружен. Я могу заставить его снова работать, как только выполню rmmod e1000e; modprobe e1000e; ifconfig eth1 IP. Я предполагаю, что мне нужно настроить modprobe, чтобы он загружал модуль при загрузке. Любая помощь? Спасибо!
Похоже, что у initrd есть старый драйвер e1000e, и он загружается во время initrd. Попробуйте перекомпилировать initrd, и он должен забрать только что установленную версию.
Поскольку вы используете debian, команда: sudo update-initramfs -u -k all
должен сделать свое дело.
Самый примитивный и простой способ сделать то, что вы хотите, - это добавить:
ifdown eth1; modprobe -r e1000e; modprobe e1000e; ifup eth1
в /etc/rc.local. Это сработает, но будет после того, как все службы будут запущены. Однако предполагается, что модуль e1000e находится в ядре, поэтому он должен быть загружен по умолчанию. Альтернативный метод - добавить:
e1000e
в / etc / modules. Проверьте эта тема который был одним из первых в моих результатах поиска по Debian 6 и e1000e. Предлагаю выяснить, почему ядро не загружает модуль e1000e.