Forcedeth vs nForce570 (Работает хорошо, но не долго)

Ethernet card, Wi-Fi, Bluetooth, IrDA, ADSL-модемы, модемы

Модератор: Модераторы разделов

Ответить
ViKozh
Сообщения: 5
ОС: openSuse 11.1 x86_64

Forcedeth vs nForce570

Сообщение ViKozh »

После планового апгрейда появилась проблема с сетевыми картами. Периодически полностью пропадает сеть на обоих интегрированных сетевых интерфейсах. Переподнятие их через ifdown/ifup не помогает, даже после перезагрузки компьютера. :( При этом линк поднимается, но все TX-пакеты не проходят.
Поиск в Гугле дал понять, что это глюк последних версий forcedeth. Способа лечения нету, костыль - выключение компьютера на 5-10 секунд, что меня не устраивает - при работе p2p-протокола cеть виснет через полчаса.
Интересует - есть ли более прямой способ победить проблему (акромя установки другой сетевухи)?
PS: Винда тут не причем. Проблема существует на компе, где винда последний раз запускалась на старом оборудовании.
PPS: Как только проявится глюк - напишу содержимое dmesg.

Код: Выделить всё

lspci|grep Ethernet
00:08.0 Ethernet controller: nVidia Corporation MCP55 Ethernet (rev a2)
00:09.0 Ethernet controller: nVidia Corporation MCP55 Ethernet (rev a2)
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian
Контактная информация:

Re: Forcedeth vs nForce570

Сообщение rm_ »

Тоже было такое, в Knoppix'е бородатой версии, с каким ядром - не помню.

Сейчас использую Debian с 2.6.22 на двух машинах с forcedeth (обе amd64), проблем нет.

А какая у Вас версия ядра?
Спасибо сказали:
ViKozh
Сообщения: 5
ОС: openSuse 11.1 x86_64

Re: Forcedeth vs nForce570

Сообщение ViKozh »

Глюк был в 2.6.22.13 - поменял на более свежее 2.6.23.9 - глюк остался, хотя дрова обновились.
Забавно, что глюка не было с ранее установленной материнкой на nForce 4 - там сеть работала без нареканий, перекачивая гигабайты без запинки.
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian
Контактная информация:

Re: Forcedeth vs nForce570

Сообщение rm_ »

У меня версия ядра обозначается как 2.6.22-2. Подозреваю, в обычной нотации - это 2.6.22.2.

Самое заметное изменение в драйвере forcedeth между 2.6.22.2 и 2.6.22.13:
http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.22.5

Код: Выделить всё

commit 108c55dda1bd750b87b5fccc9cd4658222cf2dc3
Author: Timo Jantunen <jeti@iki.fi>
Date:   Tue Aug 14 21:56:57 2007 +0300

    forcedeth: fix random hang in forcedeth driver when using netconsole

    If the forcedeth driver receives too much work in an interrupt, it
    assumes it has a broken hardware with stuck IRQ. It works around the
    problem by disabling interrupts on the nic but makes a printk while
    holding device spinlog - which isn't smart thing to do if you have
    netconsole on the same nic.

    This patch moves the printk's out of the spinlock protected area.


    Without this patch the machine hangs hard. With this patch everything
    still works even when there is significant increase on CPU usage while
    using the nic.

    Signed-off-by: Timo Jantunen <jeti@iki.fi>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Спасибо сказали:
ViKozh
Сообщения: 5
ОС: openSuse 11.1 x86_64

Re: Forcedeth vs nForce570

Сообщение ViKozh »

Я когда гуглил нарыл, что нечто похожее является следствием некорректной обработки очереди TX. Пробовал ставить forcedeath, патченный самой nVidi`ей - после доработки напильником модуль скомпилировался, загрузился в память, нашел контроллеры, но интерфейсы не поднимал. Старые версии же не компилируются под новое ядро. :(
Спасибо сказали:
ViKozh
Сообщения: 5
ОС: openSuse 11.1 x86_64

Re: Forcedeth vs nForce570

Сообщение ViKozh »

Вечером был опять отвал сети. Как и обещал:
root # dmesg

Код: Выделить всё

[ 7854.593997] NETDEV WATCHDOG: eth3: transmit timed out
[ 7854.594002] eth3: Got tx_timeout. irq: 00000000
[ 7854.594003] eth3: Ring at 7c384000
[ 7854.594004] eth3: Dumping tx registers
/*Здесь был дамп регистров TX*/
[ 7854.594189] eth3: Dumping tx ring
/*Здесь был дамп очереди TX*/
[ 7854.774813] nv_stop_tx: TransmitterStatus remained busy<7>eth3: tx_timeout: dead entries!

root # ifconfig

Код: Выделить всё

eth2      Link encap:Ethernet  HWaddr 00:1B:FC:C5:5E:34
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0
          TX packets:265 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2160 (2.1 Kb)  TX bytes:35823 (34.9 Kb)
          Interrupt:249 Base address:0xc000

eth3      Link encap:Ethernet  HWaddr 00:1B:FC:C5:6B:15
          inet addr:10.0.100.195  Bcast:10.0.100.255  Mask:255.255.255.192
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:180894 errors:0 dropped:0 overruns:0 frame:0
          TX packets:179342 errors:3432 dropped:253 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:95073908 (90.6 Mb)  TX bytes:35962253 (34.2 Mb)
          Interrupt:248 Base address:0xe000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:97138 errors:0 dropped:0 overruns:0 frame:0
          TX packets:97138 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:27063935 (25.8 Mb)  TX bytes:27063935 (25.8 Mb)

root # lsmod

Код:

ppp_deflate 23296 0 zlib_deflate 38808 1 ppp_deflate bsd_comp 22912 0 ppp_async 29952 0 crc_ccitt 19072 1 ppp_async sha1 19840 0 arc4 18944 0 ecb 20736 0 blkcipher 24196 1 ecb cryptomgr 20480 0 crypto_algapi 33792 4 sha1,arc4,ecb,cryptomgr ppp_mppe 24712 0 ppp_generic 49312 4 ppp_deflate,bsd_comp,ppp_async,ppp_mppe slhc 23680 1 ppp_generic snd_seq_dummy 21124 0 appletalk 74640 2 ax25 102012 2 ipx 64968 2 p8023 18944 1 ipx nls_iso8859_1 22144 1 nls_cp437 23808 1 vfat 31744 1 fat 76080 1 vfat isofs 55396 1 nls_base 26112 5 nls_iso8859_1,nls_cp437,vfat,fat,isofs zlib_inflate 34560 2 ppp_deflate,isofs snd_pcm_oss 73216 0 snd_mixer_oss 36096 1 snd_pcm_oss snd_seq 82336 1 snd_seq_dummy snd_seq_device 26260 2 snd_seq_dummy,snd_seq iptable_filter 20096 0 ip_tables 41192 1 iptable_filter ip6_tables 34248 0 x_tables 39304 2 ip_tables,ip6_tables cpufreq_conservative 25608 0 cpufreq_userspace 24068 0 cpufreq_powersave 18688 0 powernow_k8 33312 1 apparmor 63920 0 fuse 67504 7 ext3 171664 2 jbd 93432 1 ext3 mbcache 26880 1 ext3 loop 38532 0 dm_mod 82928 0 ata_generic 25604 0 bt878 29160 0 pata_jmicron 24320 0 tuner 86824 0 tvaudio 43676 0 generic 22916 0 [permanent] usb_storage 112448 1 bttv 231028 1 bt878 video_buf 45444 1 bttv firmware_class 28032 1 bttv k8temp 23168 0 hwmon 20360 1 k8temp usblp 32256 0 nvidia 7028756 24 ohci1394 52020 0 ieee1394 123480 1 ohci1394 ir_common 54404 1 bttv compat_ioctl32 26624 1 bttv i2c_algo_bit 23940 1 bttv btcx_risc 22152 1 bttv tveeprom 36112 1 bttv serio_raw 24580 0 forcedeth 70408 0 button 26528 0 videodev 46720 1 bttv v4l2_common 37376 5 tuner,tvaudio,bttv,compat_ioctl32,videodev v4l1_compat 30980 2 bttv,videodev sr_mod 35108 1 cdrom 57032 1 sr_mod i2c_nforce2 23680 0 ahci 45060 0 rtc_cmos 26040 0 rtc_core 39948 1 rtc_cmos rtc_lib 20224 1 rtc_core jmicron 20992 0 [permanent] i2c_core 45184 7 tuner,tvaudio,bttv,nvidia,i2c_algo_bit,tveeprom,i2c_nforce2 snd_hda_intel 394404 3 snd_pcm 117640 2 snd_pcm_oss,snd_hda_intel snd_timer 44424 2 snd_seq,snd_pcm parport_pc 61544 0 parport 59660 1 parport_pc snd 90664 14 snd_seq_dummy,snd_pcm_oss,snd_mixer_oss,snd_seq,snd_seq_device,snd_hda_intel,snd _pcm,snd_timer ide_core 175376 3 generic,usb_storage,jmicron soundcore 25888 1 snd snd_page_alloc 28432 2 snd_hda_intel,snd_pcm floppy 84392 0 sg 56632 0 usbhid 66784 0 hid 50688 1 usbhid ff_memless 23176 1 usbhid ehci_hcd 55692 0 ohci_hcd 41092 0 sd_mod 48384 11 usbcore 175144 6 usb_storage,usblp,usbhid,ehci_hcd,ohci_hcd edd 27784 0 reiserfs 280320 1 fan 22792 0 sata_nv 39428 4 pata_amd 32132 4 libata 154672 5 ata_generic,pata_jmicron,ahci,sata_nv,pata_amd scsi_mod 188216 5 usb_storage,sr_mod,sg,sd_mod,libata thermal 37024 0 processor 63944 2 powernow_k8,thermal
Спасибо сказали:
Аватара пользователя
LilFox
Сообщения: 137
Статус: ^^.,
ОС: Gentoo Linux
Контактная информация:

Re: Forcedeth vs nForce570

Сообщение LilFox »

С forcedeth проблемы вобще испытываю с 2.6.16 ядер. В разных частях. Сейчас опять =), такая же проблема как и по сабжу, nv'шная карточка работает на 1GBit/s режиме и хотелось бы её заточить на сеть, где собственно тоже гигабитка есть - а пока невозможно, потому что дохнет.

Я где-то видел спецовый дайвер для таких карточек, но к сожалению не помню, гугл пока ничего не подсказал.
Думаю, если найду - отпишусь.
--

Временное решение нашёл достаточно быстро, достаточно установить сетевуху в режим полного дуплекса на скорость 100mbit/s и отключить поддержку автоматического договора при установлении скорости:

Код: Выделить всё

ethtool -s eth1 speed 100 autoneg off duplex full


Данную строчку можно добавить в /etc/rc.local или в "любой" соответствующий скрип-файлик, который считывается при загрузки. Вот
Best Wishes. LilFox
Won't someone help me find my little Clare.
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian
Контактная информация:

Re: Forcedeth vs nForce570

Сообщение rm_ »

Я в последнее время начал замечать в логах oops'ы вот такого содержания:

Код: Выделить всё

[54677.861514] kswapd0: page allocation failure. order:2, mode:0x20
[54677.861551] Pid: 214, comm: kswapd0 Not tainted 2.6.26-1-amd64 #1
[54677.861577]
[54677.861578] Call Trace:
[54677.861616]  <IRQ>  [<ffffffff80276896>] __alloc_pages_internal+0x3ab/0x3c4
[54677.861675]  [<ffffffff802951ec>] kmem_getpages+0x96/0x15f
[54677.861703]  [<ffffffff80295841>] fallback_alloc+0x170/0x1e6
[54677.861734]  [<ffffffff80295459>] kmem_cache_alloc_node+0x105/0x138
[54677.861766]  [<ffffffff803b5919>] __alloc_skb+0x64/0x12d
[54677.861795]  [<ffffffff803b5c96>] dev_alloc_skb+0x16/0x2d
[54677.861828]  [<ffffffffa016aa6f>] :forcedeth:nv_alloc_rx_optimized+0x53/0x1a2
[54677.861863]  [<ffffffffa016cdef>] :forcedeth:nv_nic_irq_optimized+0x97/0x21a
[54677.861895]  [<ffffffff8026baa3>] handle_IRQ_event+0x2c/0x61
[54677.861923]  [<ffffffff8026cf3a>] handle_fasteoi_irq+0x90/0xc8
[54677.861953]  [<ffffffff8020f590>] do_IRQ+0x6d/0xd9
[54677.861979]  [<ffffffff8020c43d>] ret_from_intr+0x0/0x19
[54677.862004]  <EOI>  [<ffffffff8042974d>] _spin_unlock_irqrestore+0x7/0xe
[54677.862042]  [<ffffffff8031d71a>] __down_read_trylock+0x3e/0x44
[54677.862072]  [<ffffffff8027af99>] shrink_slab+0x36/0x159
[54677.862101]  [<ffffffff8027b7c2>] kswapd+0x326/0x4a3
[54677.862131]  [<ffffffff8027a357>] isolate_pages_global+0x0/0x2f
[54677.862158]  [<ffffffff80428294>] thread_return+0x6b/0xac
[54677.862188]  [<ffffffff8024601d>] autoremove_wake_function+0x0/0x2e
[54677.862219]  [<ffffffff8027b49c>] kswapd+0x0/0x4a3
[54677.862246]  [<ffffffff80245ef7>] kthread+0x47/0x74
[54677.862272]  [<ffffffff80230057>] schedule_tail+0x27/0x5c
[54677.862299]  [<ffffffff8020cef8>] child_rip+0xa/0x12
[54677.862330]  [<ffffffff80245eb0>] kthread+0x0/0x74
[54677.862355]  [<ffffffff8020ceee>] child_rip+0x0/0x12

И ещё, иногда сыплет сообщениями в духе

Код: Выделить всё

[65255.546169] eth0: too many iterations (6) in nv_nic_irq.

Девайс:

Код: Выделить всё

00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3)

Но несмотря на всё это, сеть работает без потерь связи.
Спасибо сказали:
Аватара пользователя
LilFox
Сообщения: 137
Статус: ^^.,
ОС: Gentoo Linux
Контактная информация:

Re: Forcedeth vs nForce570

Сообщение LilFox »

Вобщем потестил я это все дело, слишком медленно даже на установленном 100MB/s, так что бросил я это дело и перевоткнул сетевые карты. Вывод - forcedeth лучше не использовать ибо много мароки.
Best Wishes. LilFox
Won't someone help me find my little Clare.
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian
Контактная информация:

Re: Forcedeth vs nForce570

Сообщение rm_ »

Вобщем потестил я это все дело, слишком медленно даже на установленном 100MB/s, так что бросил я это дело и перевоткнул сетевые карты. Вывод - forcedeth лучше не использовать ибо много мароки.

Не знаю, что у forcedeth там с nForce570, но на nForce4 проблем со скоростью не было.
Различные ошибки в логи иногда сыплет (см. выше), но скорость - 600-800 мегабит при перекачке файлов с самбы выдаётся без проблем.
Спасибо сказали:
Аватара пользователя
Kido
Сообщения: 949
Статус: Космический Засланец
ОС: ArchLinux x86_64 Current
Контактная информация:

Re: Forcedeth vs nForce570

Сообщение Kido »

Странно все это. У меня мат плата MSI K9N SLI Platinum - как раз на nForce 570 - проблем с сетевыми картами нет. Стояли ядра 22, 24, 25 и сейчас - 26

Код: Выделить всё

bash-3.2$ lspci | grep Ethernet
00:08.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2)
Спасибо сказали:
Аватара пользователя
LilFox
Сообщения: 137
Статус: ^^.,
ОС: Gentoo Linux
Контактная информация:

Re: Forcedeth vs nForce570

Сообщение LilFox »

00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3)
Но это точно не :) nForce570
С этим, спецификаций на мамку нет, поэтому я даже хз что тут за карточочка.
Best Wishes. LilFox
Won't someone help me find my little Clare.
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian
Контактная информация:

Re: Forcedeth vs nForce570

Сообщение rm_ »

Но это точно не nForce570

Верно, у меня nForce4 Ultra.

я даже хз что тут за карточочка.

lspci запустите, и узнаете.
Если такой программы у Вас нет, установите pciutils.
Спасибо сказали:
Аватара пользователя
LilFox
Сообщения: 137
Статус: ^^.,
ОС: Gentoo Linux
Контактная информация:

Re: Forcedeth vs nForce570

Сообщение LilFox »

Глаза протирите и увидите ;D
00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3)

ХЗ что за карточка - обычно в книжке на мамку пишут, по одному контроллеру ничего не сказать.
До и полезно знать чем отличается Debian от Gentoo Linux :D
Best Wishes. LilFox
Won't someone help me find my little Clare.
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian
Контактная информация:

Re: Forcedeth vs nForce570

Сообщение rm_ »

LilFox
На будущее уточняйте, где у Вас "тут", и с которым "С этим". А то я было подумал, что здесь Вы уже говорите про своё железо:
С этим, спецификаций на мамку нет, поэтому я даже хз что тут за карточочка.

...и попытался объяснить Вам максимально доступно, как получить о нём информацию.

До и полезно знать чем отличается Debian от Gentoo Linux

"До" - это мнемоническое обозначение первой ступени диатонического звукоряда. К чему оно здесь - не совсем понял, надеюсь этот момент Вы сможете прояснить.
Об отличиях Debian и Gentoo вполне осведомлён, поэтому и дал Вам ссылку на pciutils из репозитория Gentoo, т.к. судя по Вашему профилю Вы пользуетесь именно этим дистрибутивом.
Спасибо сказали:
Аватара пользователя
LilFox
Сообщения: 137
Статус: ^^.,
ОС: Gentoo Linux
Контактная информация:

Re: Forcedeth vs nForce570

Сообщение LilFox »

"До" - это мнемоническое обозначение первой ступени диатонического звукоряда

Спасибо, посмеялся. :D

Вобщем решение пока не найдено. Перешёл на 100Mb реалтековский.
Best Wishes. LilFox
Won't someone help me find my little Clare.
Спасибо сказали:
Аватара пользователя
Jonnywalker
Сообщения: 60
ОС: Debian

Re: Forcedeth vs nForce570

Сообщение Jonnywalker »

На работе сервер (samba, apache, bind, mysql, firebird) на ubuntu 7.10, 11 рабочих станций, сеть 1Гб. Карточка была встроенная nvidia (nVidia Corporation MCP55 Ethernet) c драйвером forcedeth. Постоянно (от 1 р в неделю до 2 р в день) отваливалась сеть - при поднятом интерфейсе пакеты не проходили. Помогала только перезагрузка.
dmesg:

Код: Выделить всё

eth0: too many iterations (6) in nv_nic_irq.


Пробовал добавлять, как указано здесь https://bugzilla.redhat.com/show_bug.cgi?id=179422
в /etc/modprobe.d/options

Код: Выделить всё

options forcedeth max_interrupt_work=10
(потом пробовал =20, 50, 100) разницы почти нет.

В итоге было принято решение заменить сетевую карту, т.к. работать было невозможно, а ковырять драйвер времени не было. Купили простую dlink DGE-528T. Карточка прекрасно поднялась и заработала. Несколько месяцев полёт отличный.
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian
Контактная информация:

Re: Forcedeth vs nForce570

Сообщение rm_ »

Вся проблема в нВидии и её отношении к СПО. Она даже на сетевые адаптеры спецификации зажимает, и в результате драйвера (forcedeth)делаются методом реверс-инжиниринга. Полностью рабочий и надёжный драйвер таким образом сделать проблематично (какое-нибудь сочетание моделей конкретного железа, его железных багов, а также софтовых кондиций обязательно окажется неучтённым и неоттестированным), так что кое где они "вроде работают", а кое где - наблюдаем фатальные проблемы.

Упомянутая DGE-528T сделана на чипсете 8169 от Realtek, производителем которого на сайте публикуется написанный им же свободный драйвер (он входит и в состав ядра). А в коробках сетевых карт от D-Link (не знаю насчёт этой, но с моей DGE-530T была) можно обнаружить печатную копию GNU GPL. :)
Спасибо сказали:
Flaming
Сообщения: 2579

Re: Forcedeth vs nForce570

Сообщение Flaming »

Прочитал темку, жёстко :(
У меня 00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3), работает уже года два без проблем как под линухом, так под вендой. Как я понимаю, проблема в более новых материнках?
Спасибо сказали:
Ответить