FastNetMon

Showing posts with label r8169. Show all posts
Showing posts with label r8169. Show all posts

Monday, 22 March 2010

NETDEV WATCHDOG: eth0: transmit timed out [551749.768446] r8169: eth0: link up


[547170.477425] NETDEV WATCHDOG: eth0: transmit timed out
[547170.492692] r8169: eth0: link up
[548329.580303] NETDEV WATCHDOG: eth0: transmit timed out
[548329.596441] r8169: eth0: link up
[551749.749525] NETDEV WATCHDOG: eth0: transmit timed out
[551749.768446] r8169: eth0: link up
[551988.965573] NETDEV WATCHDOG: eth0: transmit timed out
[551988.985381] r8169: eth0: link up
[552607.651479] NETDEV WATCHDOG: eth0: transmit timed out
[552607.668427] r8169: eth0: link up
[552733.603919] NETDEV WATCHDOG: eth0: transmit timed out
[552733.619383] r8169: eth0: link up


При такой проблеме на сетевых картах с драйвером 8169 его требуется откатывать на 8168, как это сделать - ищите в блоге.

Sunday, 7 March 2010

r8169: eth1: link down

Имеем в dmesg вот такую красоту:

[ 15.112355] r8169: eth1: link down
[ 15.112888] ADDRCONF(NETDEV_UP): eth1: link is not ready
[ 16.049844] r8169: eth1: link up
[ 16.050533] ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[ 24.949659] r8169: eth1: link down
[ 25.650149] eth0: no IPv6 routers present
[ 26.340154] eth1: no IPv6 routers present
[ 27.004045] r8169: eth1: link up
[ 38.082891] r8169: eth1: link down
[ 40.038131] r8169: eth1: link up
[ 7059.264930] r8169: eth1: link down
[ 7061.431894] r8169: eth1: link up


Причина - бажный драйвер 8169, его надо даунгрейдить, мануалы для CentOS и Debian для этого можно найти в моем блоге по запросу "8168 8169".

взято с: http://wiki.hetzner.de/index.php/Installation_of_r8168_network_driver#Debian.2FUbuntu

Tuesday, 9 February 2010

Замена сетевой карты Realtek 8169 на Intel e1000 в Debian 5 Lenny на fastvps.ru

После установки новой карты необходимо скорректировать правила udev.

Узнаем новый mac адрес:
ifconfig eth0 | grep HWaddr
eth0 Link encap:Ethernet HWaddr 00:24:21:b4:31:0a


Вносим коррективы в конфиг:
vi /etc/udev/rules.d/70-persistent-net.rules


И также меняем комментарий на корректный:
PCI device 0x8086:0x107c (e1000)


Ну и после этого перезагружаемся и сеть поднимется корректно :)

Monday, 11 January 2010

WARNING: at net/sched/sch_generic.c:222 dev_watchdog+0xa6/0xfb


[ 5649.622018] NETDEV WATCHDOG: eth0: transmit timed out
[ 5649.622058] ------------[ cut here ]------------
[ 5649.622086] WARNING: at net/sched/sch_generic.c:222 dev_watchdog+0xa6/0xfb()
[ 5649.622119] Modules linked in: acpi_cpufreq cpufreq_powersave cpufreq_stats cpufreq_ondemand cpufreq_userspace cpufreq_conservative ipv6 ipt_REJECT xt_connlimit ipt_recent nf_conntrack_ipv4 xt_state nf_conntrack xt_tcpudp iptable_filter ip_tables x_tables loop i2c_i801 i2c_core button snd_pcsp wmi snd_pcm snd_timer snd soundcore snd_page_alloc evdev ext3 jbd mbcache dm_mirror dm_log dm_snapshot dm_mod ehci_hcd r8169 uhci_hcd sd_mod thermal fan freq_table processor thermal_sys raid10 raid456 async_xor async_memcpy async_tx xor raid1 raid0 md_mod atiixp ahci sata_nv sata_sil sata_via libata dock via82cxxx ide_core 3w_9xxx 3w_xxxx scsi_mod [last unloaded: scsi_wait_scan]
[ 5649.622544] Pid: 0, comm: swapper Not tainted 2.6.26-2-amd64 #1
[ 5649.622574]
[ 5649.622575] Call Trace:
[ 5649.622617] [] warn_on_slowpath+0x51/0x7a
[ 5649.622659] [] dev_watchdog+0x0/0xfb
[ 5649.622689] [] printk+0x4e/0x56
[ 5649.622722] [] lock_timer_base+0x26/0x4b
[ 5649.622756] [] __mod_timer+0xbd/0xcc
[ 5649.622790] [] queue_delayed_work_on+0xb8/0xc8
[ 5649.622825] [] dev_watchdog+0x0/0xfb
[ 5649.622856] [] dev_watchdog+0xa6/0xfb
[ 5649.622886] [] dev_watchdog+0x0/0xfb
[ 5649.622917] [] run_timer_softirq+0x16a/0x1e2
[ 5649.622952] [] __do_softirq+0x5c/0xd1
[ 5649.622985] [] call_softirq+0x1c/0x28
[ 5649.623016] [] do_softirq+0x3c/0x81
[ 5649.623046] [] irq_exit+0x3f/0x83
[ 5649.623077] [] smp_apic_timer_interrupt+0x8c/0xa4
[ 5649.623110] [] apic_timer_interrupt+0x72/0x80
[ 5649.623141] [] :processor:acpi_idle_enter_bm+0x2b3/0x327
[ 5649.623210] [] cpuidle_idle_call+0x7a/0xb2
[ 5649.623241] [] cpuidle_idle_call+0x0/0xb2
[ 5649.623272] [] cpu_idle+0x89/0xb3
[ 5649.623308]
[ 5649.623329] ---[ end trace 1417408808243fcc ]---
[ 5649.643624] r8169: eth0: link up


Ну нихренасебе однако. Должен помочь откат на 8168.

Замена драйвера Realtek 8169 на 8168 в CentOS (установка из исходников)

Убеждаемся, что работаем на 8169 модуле:

lsmod | grep 8169
r8169 37573 0
mii 9409 1 r8169


Ставим все необходимое для сборки модулей ядра:

yum install gcc gcc-c++ kernel-devel kernel-headers


Если же используется PAE ядро (если памяти более 4 гигабайт и у Вас 32 битная система, то используется именно PAE), то еще необходимо поставить:

yum install -y kernel-PAE-devel

Если же используется OpenVZ ядро, то необходимо поставить еще пакет:
yum install -y ovzkernel-devel

Собираем:

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
make install


Убеждаемся, что модуль установился в папку модулей текущего ядра:

find /lib/modules/`uname -r` | grep 8168
/lib/modules/2.6.18-164.10.1.el5PAE/kernel/drivers/net/r8168.ko


Открываем конфиг:
vi /etc/modprobe.conf


Там заменяем:
alias eth0 r8169


на

alias eth0 r8168


Перестраиваем зависимости модулей:
depmod -a


Перезагружаемся:
shutdown -r now


Убеждаемся, что модуль встал:
lsmod | grep 8168
r8168 68580 0


Также обращаю внимание, что после этой операции обновлять ядра в системе нельзя. Иначе система упадет. Если же обновление необходимо, то потребуется пересобрать драйвер под новое ядро.

Tuesday, 15 December 2009

Замена драйвера Realtek 8169 на 8168 в CentOS

Обращаю внимание - данный мануал не работает, после последней перезагрузки машинка у меня не поднялась. Как заставить его все же работать - комментарии приветствуются.

Для начала подключаем репозиторий elrepo: http://phpsuxx.blogspot.com/2009/12/elrepo-centos.html

Убеждаемся, что у нас в данный момент установлен драйвер 8169:
lsmod | grep 8169


Должно быть выдано что-то в роде:
r8169 70788 0
mii 38784 1 r8169


Ставим модуль (я ставил на 64 битный CentOS - 2.6.18-164.6.1.el5):
yum --enablerepo=elrepo install kmod-r8168


Открываем файл:
vi /etc/modprobe.conf


И заменяем строку:

alias eth0 r8169


На:

alias eth0 r8168


И перезагружаемся:
shutdown -r now


И после этого должен загрузиться 8168 модуль и он будет отлично работать и на всех последующих апдейтах ядра без переустановки / пересборки (как это достигается - понятия не имею, но похоже ключевое слово тут - NAPI).

Обратите внимание - модуль ставить только на СТАНДАРТНЫЕ ядра CentOS (в частности на OpenVZ он не подключается).

источник: http://wiki.hetzner.de/index.php/Installation_des_r8168-Treibers#Debian_Lenny_.2F_Ubuntu_9.04

Thursday, 3 December 2009

Драйвер 8168, fastvps.ru Debian

Убеждаемся, что работаем на 8169 модуле:
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