Этот вопрос является продолжением вот этот.
У меня была масса проблем с моим набором микросхем Ethernet и драйвером e1000e:
02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller
По-видимому, это вообще не работает без pcie=off
, и даже с этой опцией он не работает после выхода из приостановки. Есть ли у кого-нибудь советы по этому поводу? Это ошибка апстрима? Вот что происходит, когда я пытаюсь возобновить работу и использовать свою карту Ethernet из dmesg.
Если вы хотите увидеть результаты многочисленных диагностических инструментов, обязательно ознакомьтесь с моим предыдущим вопросом, у которого есть тонна информации о моей конфигурации.
[20837.993481] e1000e 0000:02:00.0: eth0: Detected Hardware Unit Hang:
[20837.993485] TDH <55>
[20837.993488] TDT <7b>
[20837.993490] next_to_use <7b>
[20837.993492] next_to_clean <54>
[20837.993494] buffer_info[next_to_clean]:
[20837.993496] time_stamp <4e4097>
[20837.993498] next_to_watch <55>
[20837.993501] jiffies <4e58a2>
[20837.993503] next_to_watch.status <0>
[20837.993505] MAC Status <80080703>
[20837.993507] PHY Status <796d>
[20837.993510] PHY 1000BASE-T Status <4000>
[20837.993512] PHY Extended Status <3000>
[20837.993514] PCI Status <10>
[20838.001038] ------------[ cut here ]------------
[20838.001055] WARNING: at /build/buildd/linux-2.6.35/net/sched/sch_generic.c:258 dev_watchdog+0x1fd/0x210()
[20838.001061] Hardware name: 170469U
[20838.001065] NETDEV WATCHDOG: eth0 (e1000e): transmit queue 0 timed out
[20838.001070] Modules linked in: usbhid hid aes_i586 aes_generic binfmt_misc parport_pc ppdev arc4 i915 thinkpad_acpi snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq_midi pcmcia snd_rawmidi ath5k snd_seq_midi_event mac80211 drm_kms_helper snd_seq ath snd_timer snd_seq_device sierra drm tpm_tis cfg80211 usbserial sbp2 tpm snd yenta_socket pcmcia_rsrc nvram i2c_algo_bit tpm_bios ieee1394 psmouse pcmcia_core intel_agp video serio_raw agpgart soundcore snd_page_alloc output lp parport e1000e firewire_ohci sdhci_pci firewire_core sdhci led_class crc_itu_t
[20838.001178] Pid: 0, comm: swapper Not tainted 2.6.35-28-generic #49-Ubuntu
[20838.001183] Call Trace:
[20838.001195] [<c014aff2>] warn_slowpath_common+0x72/0xa0
[20838.001204] [<c050fbdd>] ? dev_watchdog+0x1fd/0x210
[20838.001211] [<c050fbdd>] ? dev_watchdog+0x1fd/0x210
[20838.001220] [<c014b0c3>] warn_slowpath_fmt+0x33/0x40
[20838.001228] [<c050fbdd>] dev_watchdog+0x1fd/0x210
[20838.001237] [<c016c591>] ? sched_clock_cpu+0x131/0x190
[20838.001247] [<c01696db>] ? hrtimer_forward+0x16b/0x1b0
[20838.001255] [<c050f9e0>] ? dev_watchdog+0x0/0x210
[20838.001262] [<c01581ef>] call_timer_fn+0x2f/0xf0
[20838.001270] [<c012249b>] ? lapic_next_event+0x1b/0x20
[20838.001279] [<c017486b>] ? clockevents_program_event+0x8b/0x140
[20838.001287] [<c0159464>] run_timer_softirq+0x104/0x210
[20838.001296] [<c0175c72>] ? tick_dev_program_event+0x42/0x150
[20838.001304] [<c050f9e0>] ? dev_watchdog+0x0/0x210
[20838.001312] [<c015164c>] __do_softirq+0x9c/0x1b0
[20838.001319] [<c016c69e>] ? sched_clock_tick+0x5e/0x90
[20838.001328] [<c01517a5>] do_softirq+0x45/0x50
[20838.001335] [<c0151915>] irq_exit+0x65/0x70
[20838.001343] [<c05d146b>] smp_apic_timer_interrupt+0x5b/0x8a
[20838.001352] [<c05cb275>] apic_timer_interrupt+0x31/0x38
[20838.001361] [<c016007b>] ? sys_setregid+0xeb/0xf0
[20838.001371] [<c03bfd60>] ? acpi_idle_enter_bm+0x259/0x295
[20838.001381] [<c04d396a>] cpuidle_idle_call+0x6a/0x100
[20838.001389] [<c0101fcc>] cpu_idle+0x8c/0xd0
[20838.001398] [<c05c5b16>] start_secondary+0x10c/0x112
[20838.001404] ---[ end trace 93e790a0cd7b9ac8 ]---
[20838.001423] e1000e 0000:02:00.0: eth0: Reset adapter
[20838.175627] e1000e: eth0 NIC Link is Up 10 Mbps Full Duplex, Flow Control: RX/TX
[20838.175637] e1000e 0000:02:00.0: eth0: 10/100 speed: disabling TSO
Выглядит идентично этот мощь. Это действительно похоже на ошибку апстрима. Проверьте журналы изменений, относящиеся к драйверу e1000, посмотрите, есть ли патч, который вы можете вернуть, или хотя бы указать на него команду ядра Ubuntu. Попробуйте выключить ваш eth0, modprobe -r драйвер перед приостановкой, посмотрите, возможно ли это обойти. Это может помочь разработчикам драйверов основного направления сосредоточиться на ошибке.
У меня также были проблемы с e1000 и SLES10 SP4, пока в конце августа 2011 года они не были исправлены патчем ядра. Временное решение: загрузите новейший драйвер от Intel, скомпилируйте его и установите.
Моя конкретная проблема заключалась в том, что e1000 не возвращался к стандартному режиму PCIe (который, похоже, не работал даже в принудительном режиме), когда MSI был недоступен (в XEN-ядре).