Проблемы с сетевой картой realtek 8169 в debian

Симптомы: время от времени пропадает сеть.
В логах множество записей типа:

Feb  3 01:27:22 vds1 kernel: [ 6489.198269] r8169 0000:04:00.0: eth0: link up

проблема в драйвере сетевой платы r8169, и данная проблема проявляется даже на самом последнем ядре linux. Для решения проблемы необходимо стянуть и установить драйвер с сайта realtek для r8168, то есть сделать даунгрейд драйвера, а оригинальный заблеклистить, чтоб его не подхватывало ядро.

Для начала проверим действительно ли у нас стоит драйвер r8169:

lsmod | grep 8169

Если в ответ увидели что то подобное:

r8169 31364 0

то продолжаем дальше…

Теперь необходимо проверить есть ли смысл нам делать даунгрейд, то есть заведется или не заведется сетевая…

apt-get install -y pciutils
lspci | grep Ethernet

Если в ответ увидите что то на подобии:

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)

То драйвер r8168 будет работать с вашей сетевой и можем продолжать дальше…

Поставим пакет включающий все необходимые компоненты (компиляторы и прочие инструменты) для сборки всего необходимого:

aptitude install build-essential linux-headers-`uname -r`

Дальше скачаем исходники драйвера:

cd /usr/src
http://blogovo.in.ua/uploads/r8168-8.032.00.tar.bz2
tar xjf r8168-8.032.00.tar.bz2

Собираем их:

cd r8168-8.032.00
make all

Дальше мы перестроим зависимости ядра:

depmod -a

Драйвер r8169 необходимо занести в блеклист, чтоб ядро его не прогружало. Если у вас несколько сетевых, тогда заносить в блеклист не нужно.

echo "blacklist r8169" >> /etc/modprobe.d/blacklist.conf

Добавляем драйвер r8169 в initrd:

echo "r8168" >> /etc/initramfs-tools/modules

Теперь нужно пересобрать initrd:

update-initramfs -v -u -k `uname -r`

Ну вот и все. Новый драйвер будет загружен после перезагрузки. Перезагружаемся:

shutdown -r now

Проверить загрузился ли драйвер можно командой:

lsmod | grep 8168
r8168 226837 0

P.S. если надумаете обновлять ядро, драйвер необходимо пересобрать!

P.P.S С офсайта realtek можно стянуть свежий драйвер который устанавливается скриптом. Но не всегда работает.