Showing posts with label realtek. Show all posts
Showing posts with label realtek. Show all posts

Tuesday, April 24, 2012

Замена r8169 на r8168 или глюки сетевых карт на Linux

Суть в чем - есть сервак с 2мя гигабитными карточками 
Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02).
Нагрузка - порядка 2000 звонков в сутки, в пиковые часы - 10-15 одновременных звонков (alaw). Вроде и немного, просто на нем же лежит FTP на который складываются записи. Так вот, повадился сервер этот пропадать из сети, причем в логах - все отлично, но просто не пингуется и все. Периодичность - где-то раз в 2-3 дня. Помогает только перезагрузка, но при этом локально на консоль попасть можно.
Проблема оказалась известной, просто как-то на сетевую обратили внимание не сразу, искали другие причины. А проблема в кривости реализации драйвера r8169. Падает он под большими нагрузками. Совет один - заменить его на r8168.


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


lsmod

А заменять его на Debian 6.0 так:

aptitude install build-essential linux-headers-`uname -r`
 
Потом получить исходный код:
http://download.hetzner.de/drivers/r8168-8.028.00.tar.bz2
http://code.google.com/p/r8168/
 
tar xjf r8168-8.ХХХ.00.tar.bz2
cd r8168-8.ХХХ.00
make all
 
depmod -a
echo "blacklist r8169" >> /etc/modprobe.d/blacklist.conf
echo "r8168" >> /etc/initramfs-tools/modules
update-initramfs -v -u -k `uname -r`
 
reboot