lsmod | grep 8169
r8169 31364 0
Проверяем, можно ли для этой карты поставить 8168 драйвер (наличие драйвер 8169 не гарантирует этого)%
apt-get install -y pciutils
lspci | grep Ether
Если в ответ будет выдано нечто вида:
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
То 8168 драйвер будет работать и можно смело продолжать выполнять мануал, а если что-то вида:
00:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10)
То эта сетевая под этим драйвером работать не будет. Так что выполнять инструкцию не нужно, все должно работать итак.
Ставим зависимости:
apt-get install -y build-essential linux-headers-`uname -r`
Скачиваем драйвер:
cd /usr/src
wget http://download.hetzner.de/drivers/r8168-8.015.00.tar.bz2
tar xjf r8168-8.015.00.tar.bz2
Собираем:
cd r8168-8.015.00
make all
Убеждаемся, что модуль скопировался в папку модулей ядра:
find /lib/modules/`uname -r` | grep 8168
/lib/modules/2.6.26-2-amd64/kernel/drivers/net/r8168.ko
Перестраиваем зависимости модулей ядра:
depmod -a
Добавляем старый модуль в черный список:
echo "blacklist r8169" >> /etc/modprobe.d/blacklist
Добавляем новый модуль для сборки в инитрд:
echo "r8168" >> /etc/initramfs-tools/modules
Пересобираем initrd (а вот тут у Хецнера в вики косяк):
update-initramfs -v -u -k `uname -r` -t
Перезагружаемся:
shutdown -r now
Убеждаемся, что модуль встал:
lsmod | grep 8168
r8168 65428 0
ВНИМАНИЕ! После этой операции НЕЛЬЗЯ выполнять обновление ядра в системе! Так как это требует пересборки драйвера.
Альтернативный путь: есть у Вас есть более 1й сетевой карты и 1 работает только на 8169, то блеклист юзать нельзя! Необходимо открыть файл:
vi /etc/udev/rules.d/70-persistent-net.rules
И в DRIVERS для eth0 (или для ифейса с кривым риалтеком) указать:
DRIVERS=="r8168"и перезагрузиться.
Источник: вики Хецнера http://wiki.hetzner.de/index.php/Installation_des_r8168-Treibers#Debian_Lenny_.2F_Ubuntu_9.04
После переключения на 8168 ядро вообще нельзя обновлять или обновление ядра требует каких-то дополнительных действий?
ReplyDeleteОбновляете и повторяете этот мануал каждый раз после обновления ядра, сразу же. Вот и все :)
ReplyDelete