Автор Тема: Realtek 8139 и Centaurus 64-бит  (Прочитано 5284 раз)

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Realtek 8139 и Centaurus 64-бит
« : 16.11.2011 14:00:11 »
Добрый день!
У меня начала появляться такая проблема после установки 64-битной версии Кентавра:
в системном блоке две сетевых - одна встроенная на мамке (atl1c) и pci (8139too)
После включения или перезагрузки обе карты работают до некоторого времени,
затем сетевая карта pci Realtek работать перестаёт.

В логах:
Nov 16 08:23:50 sterver kernel: [   20.497935] ------------[ cut here ]------------
Nov 16 08:23:50 sterver kernel: [   20.497941] WARNING: at drivers/pci/search.c:44 pci_find_upstream_pcie_bridge+0x5e/0x70()
Nov 16 08:23:50 sterver kernel: [   20.497942] Hardware name: To Be Filled By O.E.M.
Nov 16 08:23:50 sterver kernel: [   20.497943] Modules linked in: xt_physdev xt_tcpudp ipt_ULOG xt_state ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_ftp nf_conntrack iptable_filter ip_tables x_tables nls_utf8 isofs udf crc_itu_t loop dm_multipath scsi_dh dm_mod rtc snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_intel snd_hda_codec processor evdev 8139too 8139cp iTCO_wdt iTCO_vendor_support ehci_hcd usbcore snd_hwdep snd_pcm snd_timer snd soundcore snd_page_alloc i2c_i801 pcspkr atl1c mii sg tun ext4 mbcache jbd2 crc16 sd_mod crc_t10dif pata_acpi ata_generic i915 drm_kms_helper drm ata_piix libata scsi_mod i2c_algo_bit button i2c_core video intel_agp intel_gtt agpgart
Nov 16 08:23:50 sterver kernel: [   20.497976] Pid: 5842, comm: ip Not tainted 3.0.8-std-def-alt0.M60P.1 #1
Nov 16 08:23:50 sterver kernel: [   20.497977] Call Trace:
Nov 16 08:23:50 sterver kernel: [   20.497981]  [<ffffffff8105c67a>] warn_slowpath_common+0x7a/0xb0
Nov 16 08:23:50 sterver kernel: [   20.497983]  [<ffffffff8105c6c5>] warn_slowpath_null+0x15/0x20
Nov 16 08:23:50 sterver kernel: [   20.497985]  [<ffffffff81261bae>] pci_find_upstream_pcie_bridge+0x5e/0x70
Nov 16 08:23:50 sterver kernel: [   20.497989]  [<ffffffff8127001e>] get_domain_for_dev.clone.34+0x6e/0x660
Nov 16 08:23:50 sterver kernel: [   20.497991]  [<ffffffff81272c25>] __intel_map_single+0x175/0x250
Nov 16 08:23:50 sterver kernel: [   20.497994]  [<ffffffff81272dea>] intel_alloc_coherent+0xaa/0x120
Nov 16 08:23:50 sterver kernel: [   20.497998]  [<ffffffffa023874d>] rtl8139_open+0x2ad/0x42c [8139too]
Nov 16 08:23:50 sterver kernel: [   20.498002]  [<ffffffff81083241>] ? raw_notifier_call_chain+0x11/0x20
Nov 16 08:23:50 sterver kernel: [   20.498004]  [<ffffffff81361a77>] __dev_open+0xc7/0x110
Nov 16 08:23:50 sterver kernel: [   20.498006]  [<ffffffff81361d1c>] __dev_change_flags+0x9c/0x180
Nov 16 08:23:50 sterver kernel: [   20.498008]  [<ffffffff81361ec3>] dev_change_flags+0x23/0x70
Nov 16 08:23:50 sterver kernel: [   20.498010]  [<ffffffff8136f5ae>] do_setlink+0x1ee/0xa00
Nov 16 08:23:50 sterver kernel: [   20.498013]  [<ffffffff81255860>] ? nla_parse+0x30/0xd0
Nov 16 08:23:50 sterver kernel: [   20.498016]  [<ffffffff813c1b57>] ? inet_fill_link_af+0x37/0x70
Nov 16 08:23:50 sterver kernel: [   20.498018]  [<ffffffff8137074a>] rtnl_newlink+0x37a/0x590
Nov 16 08:23:50 sterver kernel: [   20.498021]  [<ffffffff81111e00>] ? zone_statistics+0x80/0xc0
Nov 16 08:23:50 sterver kernel: [   20.498024]  [<ffffffff810fbf10>] ? get_page_from_freelist+0x370/0x7f0
Nov 16 08:23:50 sterver kernel: [   20.498026]  [<ffffffff81370137>] rtnetlink_rcv_msg+0x237/0x270
Nov 16 08:23:50 sterver kernel: [   20.498029]  [<ffffffff8136ff00>] ? __rtnl_unlock+0x20/0x20
Nov 16 08:23:50 sterver kernel: [   20.498032]  [<ffffffff813893f9>] netlink_rcv_skb+0xb9/0xe0
Nov 16 08:23:50 sterver kernel: [   20.498035]  [<ffffffff8136dfc0>] rtnetlink_rcv+0x20/0x30
Nov 16 08:23:50 sterver kernel: [   20.498037]  [<ffffffff81388cfb>] netlink_unicast+0x2eb/0x300
Nov 16 08:23:50 sterver kernel: [   20.498039]  [<ffffffff8135329e>] ? __alloc_skb+0x7e/0x170
Nov 16 08:23:50 sterver kernel: [   20.498041]  [<ffffffff81388f34>] netlink_sendmsg+0x224/0x370
Nov 16 08:23:50 sterver kernel: [   20.498044]  [<ffffffff81349e4a>] sock_sendmsg+0xea/0x120
Nov 16 08:23:50 sterver kernel: [   20.498046]  [<ffffffff811016b8>] ? lru_cache_add_lru+0x28/0x50
Nov 16 08:23:50 sterver kernel: [   20.498049]  [<ffffffff81123afd>] ? page_add_new_anon_rmap+0x9d/0xb0
Nov 16 08:23:50 sterver kernel: [   20.498051]  [<ffffffff81117eae>] ? do_wp_page+0x37e/0x760
Nov 16 08:23:50 sterver kernel: [   20.498054]  [<ffffffff8134b5a4>] ? move_addr_to_kernel+0x64/0x70
Nov 16 08:23:50 sterver kernel: [   20.498055]  [<ffffffff81356316>] ? verify_iovec+0x66/0xe0
Nov 16 08:23:50 sterver kernel: [   20.498057]  [<ffffffff8134baa4>] __sys_sendmsg+0x3d4/0x3f0
Nov 16 08:23:50 sterver kernel: [   20.498060]  [<ffffffff8111b7c1>] ? handle_mm_fault+0x1b1/0x360
Nov 16 08:23:50 sterver kernel: [   20.498063]  [<ffffffff81418900>] ? do_page_fault+0x210/0x4d0
Nov 16 08:23:50 sterver kernel: [   20.498066]  [<ffffffff8111fb7b>] ? do_brk+0x25b/0x330
Nov 16 08:23:50 sterver kernel: [   20.498068]  [<ffffffff8134c232>] ? sys_getsockname+0xb2/0xc0
Nov 16 08:23:50 sterver kernel: [   20.498070]  [<ffffffff8134c878>] sys_sendmsg+0x48/0x90
Nov 16 08:23:50 sterver kernel: [   20.498072]  [<ffffffff8141cc12>] system_call_fastpath+0x16/0x1b
Nov 16 08:23:50 sterver kernel: [   20.498073] ---[ end trace f2c81105f77c8136 ]---
На 32-х битной версии Школьного Сервера эта карта прекрасно работала, правда в составе другого системного блока.
Карту менял на такую же заведомо рабочую, не спасает.
Подскажите, что происходит и что предпринять?
Научить нельзя, научиться можно.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 166
    • Домашняя страница
Re: Realtek 8139 и Centaurus 64-бит
« Ответ #1 : 16.11.2011 14:08:38 »
Ядро какое?
uname -a
Андрей Черепанов (cas@)

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Re: Realtek 8139 и Centaurus 64-бит
« Ответ #2 : 16.11.2011 15:05:58 »
[user@sterver ~]$ uname -a
Linux sterver.school460.ru 3.0.8-std-def-alt0.M60P.1 #1 SMP Wed Nov 2 12:41:13 UTC 2011 x86_64 GNU/Linux
Научить нельзя, научиться можно.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 370
Re: Realtek 8139 и Centaurus 64-бит
« Ответ #3 : 16.11.2011 15:30:02 »
До кучи. Возможно, дело не в x86_64. Есть две идентичных системы с 2.6.32-el-smp-alt27 x86_64, в которых стоят сетевые карты ZyXEL:
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
Работают в примерно одинаковых условиях, в одном случае всё хорошо, в другом - ошибки на интерфейсах. ТАкого, чтобы совсем работать переставали, не было пока. Исследованием ситуации не занимался ещё, если сходу, то там материнки разные.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 166
    • Домашняя страница
Re: Realtek 8139 и Centaurus 64-бит
« Ответ #4 : 16.11.2011 17:46:53 »
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
Работают в примерно одинаковых условиях, в одном случае всё хорошо, в другом - ошибки на интерфейсах. ТАкого, чтобы совсем работать переставали, не было пока. Исследованием ситуации не занимался ещё, если сходу, то там материнки разные.
lspci -k -s 04:00.0
Андрей Черепанов (cas@)

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 370
Re: Realtek 8139 и Centaurus 64-бит
« Ответ #5 : 16.11.2011 19:00:18 »
lspci -k -s 04:00.0
Это, как раз, где работает. :-)

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
        Subsystem: ZyXEL Communication Corporation FN312
        Kernel driver in use: 8139too
        Kernel modules: 8139too, 8139cp

а это где с ошибками:

04:04.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
        Subsystem: ZyXEL Communication Corporation FN312
        Kernel driver in use: 8139too
        Kernel modules: 8139too, 8139cp

Один в один, в общем (чип могу завтра точно посмотреть). Ошибки overrun на RX, так что, в принципе, указывают на то, что карточка входящий поток обрабатывать не успевает. Но потока там, можно сказать, что нет - 10 мегабит, pps смешной. В обоих случаях карт по две, и там, где проблема, проблема на обеих. В общем, если будет, что конкретное сказать, напишу в багзиллу. Хотя, не исключено, что просто поставлю Intel, как обычно. Хотя, что-то начали писать, что и у Intel проколы начались: в sisyphus@ и sysadmins@ жалобы на e1000e c 82579V и 82574L. Но у меня сетевых карт с тамими чипами нет, а с теми, что есть, e1000e себя нормально ведёт вроде.

Знайка

  • Гость
Re: Realtek 8139 и Centaurus 64-бит
« Ответ #6 : 16.11.2011 21:24:57 »
в системном блоке две сетевых - одна встроенная на мамке (atl1c) и pci (8139too)
Старая добрая проблема :)
Не используйте карты на базе Realtek 8139 совместно с продукцией альта. В альте кривые дрова под нее, уже несколько лет.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 370
Re: Realtek 8139 и Centaurus 64-бит
« Ответ #7 : 16.11.2011 21:50:41 »
Не используйте карты на базе Realtek 8139 совместно с продукцией альта. В альте кривые дрова под нее, уже несколько лет.
И чем же "дрова в альте" отличаются от дров в любом другом ядре ? :)

Покажите мне патчи, которые ALT применяет для 8139too и 8139cp при сборке. Как что-то найдёте, можно будет поразбираться дальше. И не забудьте, что ядер более одного, Знайка. :)

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Re: Realtek 8139 и Centaurus 64-бит
« Ответ #8 : 17.11.2011 10:10:50 »
У меня похожая карта:
[user@sterver ~]$ lspci -k -s 03:00.0
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
        Subsystem: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
        Kernel driver in use: 8139too

Как я понял, замена карты на другого производителя чипа может спасти в этой ситуации.
Подскажите, пожалуйста, что, кроме реалтеков, есть недорогое, но прилично работающее?
Стоит брать карту pci-e, или остаться на pci-слоте?
Научить нельзя, научиться можно.

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
Re: Realtek 8139 и Centaurus 64-бит
« Ответ #9 : 17.11.2011 10:23:00 »
Попробуйте заблеклистить 8139cp и 8129too по очереди.
Дело в том, что оба драйвера одновременно загружаются, тогда как именно для вашей карты подойдет только один из них. Файл блоклиста находится где-то в /etc/modules.d/, ну по названию найдете. В конце добавьте сначала
blacklist 8139cpи попробуйте с too поработать (перезагрзку сделайте, чтоб наверняка). Если будут проблемы, меняйте в файле блеклиста cp на too, перезагрузитесь для чистоты и смотрите. О результатах сообщите :)
PS Контролировать загруженные модули можно коммандой
lsmod

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 370
Re: Realtek 8139 и Centaurus 64-бит
« Ответ #10 : 17.11.2011 10:26:11 »
Как я понял, замена карты на другого производителя чипа может спасти в этой ситуации.
В моей - процентов 99%. В Вашей, очень вероятно, тоже поможет.
Подскажите, пожалуйста, что, кроме реалтеков, есть недорогое, но прилично работающее?
Не знаю. У нас всегда и везде Intel использовался, но это не попадает в "недорогое", скорее "чуть выше среднего", если учитывать более дорогой 3com (у которого свои тараканы, так что его я бы не рекомендовал, как минимум, для Linux). Проблем практически не было. Сейчас типа кризис, и стопка Intel на складе не лежит теперь, а бывает надо срочно... Про слот - не важно, если речь про 100M. Да и про 1000M однопортовую - тоже. Но попробовать рекомендацию sb поиграться с драйвером тоже стоит, особенно, если время не поджимает.
« Последнее редактирование: 17.11.2011 10:36:03 от asy »

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Re: Realtek 8139 и Centaurus 64-бит
« Ответ #11 : 17.11.2011 15:08:13 »
Попробуйте заблеклистить 8139cp и 8129too по очереди.

Действительно, сделал /etc/modprobe.d/blacklist-8139.conf с содержимым
blacklist 8139cp
перегрузил. Пока работает, будем немножко ждать.

Если вместо 8139cp указать 8139too - сетевого интерфейса нет в системе.
Научить нельзя, научиться можно.

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Re: Realtek 8139 и Centaurus 64-бит
« Ответ #12 : 18.11.2011 12:10:41 »
Не помогает блокирование загрузки модуля:
[user@sterver ~]$ lsmod | grep 8139
8139too                21843  0
mii                     5142  1 8139too
В 08.15 комп включил, до 12.02 он проработал и снова:
Nov 18 12:02:35 sterver kernel: [13090.431503] ------------[ cut here ]------------
Nov 18 12:02:35 sterver kernel: [13090.431511] WARNING: at net/sched/sch_generic.c:255 dev_watchdog+0x23f/0x250()
Nov 18 12:02:35 sterver kernel: [13090.431514] Hardware name: To Be Filled By O.E.M.
Nov 18 12:02:35 sterver kernel: [13090.431516] NETDEV WATCHDOG: eth1 (8139too): transmit queue 0 timed out
Nov 18 12:02:35 sterver kernel: [13090.431518] Modules linked in: af_packet nfsd lockd nfs_acl auth_rpcgss autofs4 sunrpc xt_physdev xt_tcpudp ipt_ULOG xt_state ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_ftp nf_conntrack iptable_filter ip_tables x_tables nls_utf8 isofs udf crc_itu_t loop dm_multipath scsi_dh dm_mod rtc snd_hda_codec_hdmi snd_hda_codec_realtek ehci_hcd usbcore i2c_i801 evdev iTCO_wdt iTCO_vendor_support sg atl1c pcspkr 8139too mii snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_timer snd processor soundcore snd_page_alloc tun ext4 mbcache jbd2 crc16 sd_mod crc_t10dif pata_acpi ata_generic i915 drm_kms_helper drm i2c_algo_bit ata_piix libata scsi_mod button intel_agp intel_gtt agpgart i2c_core video
Nov 18 12:02:35 sterver kernel: [13090.431567] Pid: 0, comm: swapper Tainted: G        W   3.0.8-std-def-alt0.M60P.1 #1
Nov 18 12:02:35 sterver kernel: [13090.431568] Call Trace:
Nov 18 12:02:35 sterver kernel: [13090.431569]  <IRQ>  [<ffffffff8105c67a>] warn_slowpath_common+0x7a/0xb0
Nov 18 12:02:35 sterver kernel: [13090.431574]  [<ffffffff8105c751>] warn_slowpath_fmt+0x41/0x50
Nov 18 12:02:35 sterver kernel: [13090.431577]  [<ffffffff81076601>] ? __queue_work+0x101/0x3f0
Nov 18 12:02:35 sterver kernel: [13090.431579]  [<ffffffff810842bd>] ? sched_clock_cpu+0xbd/0x110
Nov 18 12:02:35 sterver kernel: [13090.431582]  [<ffffffff8137d23f>] dev_watchdog+0x23f/0x250
Nov 18 12:02:35 sterver kernel: [13090.431585]  [<ffffffff8106bb16>] run_timer_softirq+0x166/0x390
Nov 18 12:02:35 sterver kernel: [13090.431587]  [<ffffffff8137d000>] ? qdisc_reset+0x50/0x50
Nov 18 12:02:35 sterver kernel: [13090.431589]  [<ffffffff81063595>] __do_softirq+0xa5/0x1c0
Nov 18 12:02:35 sterver kernel: [13090.431592]  [<ffffffff810821ae>] ? hrtimer_interrupt+0x12e/0x240
Nov 18 12:02:35 sterver kernel: [13090.431594]  [<ffffffff8141de1c>] call_softirq+0x1c/0x30
Nov 18 12:02:35 sterver kernel: [13090.431597]  [<ffffffff8100d2c5>] do_softirq+0x65/0xa0
Nov 18 12:02:35 sterver kernel: [13090.431599]  [<ffffffff8106391e>] irq_exit+0x8e/0xb0
Nov 18 12:02:35 sterver kernel: [13090.431602]  [<ffffffff81027c49>] smp_apic_timer_interrupt+0x69/0xa0
Nov 18 12:02:35 sterver kernel: [13090.431604]  [<ffffffff8141d5d3>] apic_timer_interrupt+0x13/0x20
Nov 18 12:02:35 sterver kernel: [13090.431605]  <EOI>  [<ffffffff81081c7f>] ? __hrtimer_start_range_ns+0x19f/0x490
Nov 18 12:02:35 sterver kernel: [13090.431610]  [<ffffffff81297f62>] ? intel_idle+0xc2/0x120
Nov 18 12:02:35 sterver kernel: [13090.431612]  [<ffffffff81297f44>] ? intel_idle+0xa4/0x120
Nov 18 12:02:35 sterver kernel: [13090.431614]  [<ffffffff81341474>] cpuidle_idle_call+0xb4/0x230
Nov 18 12:02:35 sterver kernel: [13090.431617]  [<ffffffff8100a1e6>] cpu_idle+0x56/0xa0
Nov 18 12:02:35 sterver kernel: [13090.431620]  [<ffffffff813febdd>] rest_init+0x6d/0x80
Nov 18 12:02:35 sterver kernel: [13090.431623]  [<ffffffff81880bd2>] start_kernel+0x37e/0x389
Nov 18 12:02:35 sterver kernel: [13090.431625]  [<ffffffff81880347>] x86_64_start_reservations+0x132/0x136
Nov 18 12:02:35 sterver kernel: [13090.431627]  [<ffffffff8188044c>] x86_64_start_kernel+0x101/0x110
Nov 18 12:02:35 sterver kernel: [13090.431629] ---[ end trace 14e8d6fd9f2f91f5 ]---
Научить нельзя, научиться можно.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 370
Re: Realtek 8139 и Centaurus 64-бит
« Ответ #13 : 18.11.2011 13:15:41 »
Nov 18 12:02:35 sterver kernel: [13090.431516] NETDEV WATCHDOG: eth1 (8139too):
Кстати, а что показывает ethtool -i eth1 ? Собственно, интересно, какая версия драйвера в ядре 3.0.8. В 2.6.32-el-smp - version: 0.9.28. Если в 3.0.8 версия другая, можно el-smp поставить попробовать. Вдруг в новом ядре драйвер поломали/доломали.

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Re: Realtek 8139 и Centaurus 64-бит
« Ответ #14 : 18.11.2011 14:18:43 »
Цитировать
Кстати, а что показывает ethtool -i eth1 ?
[root@sterver ~]# ethtool -i eth1
driver: 8139too
version: 0.9.28
firmware-version:
bus-info: 0000:03:00.0
Цитировать
Если в 3.0.8 версия другая, можно el-smp поставить попробовать.
У меня 3.0.8 только по той причине, что в el-smp на этой машине не поднимается встроенная в маму сетевуха.
04:00.0 Ethernet controller: Atheros Communications AR8151 v2.0 Gigabit Ethernet (rev c0)
        Subsystem: ASRock Incorporation Device 1083
        Flags: bus master, fast devsel, latency 0, IRQ 46
        Memory at fe400000 (64-bit, non-prefetchable) [size=256K]
        I/O ports at d000 [size=128]
        Capabilities: [40] Power Management version 3
        Capabilities: [48] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [58] Express Endpoint, MSI 00
        Capabilities: [6c] Vital Product Data
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [180] Device Serial Number ff-c3-d7-4c-00-25-22-ff
        Kernel driver in use: atl1c
        Kernel modules: atl1c
Научить нельзя, научиться можно.