Distribution: Fedora Core 5, kernel-2.6.15, update to kernel-2.6.16-9, or kernel-2.6.17 Hardware Environment: Toshiba M45-S265 laptop, Marvell Yukon Marvell Technology Group Ltd. 88E8036 PCI-E Fast Ethernet Controller Problem Description: cannot scp large file from my computer to other computer on my laptop. or scp large file from other computer to my laptop on other computer. even I can't fish/ftp large file . it showed me stalled. all the other program can't work. I have to /sbin/service newwork restart . then other program can work. Steps to reproduce:
I change sky2 driver to sk98lin-8.31 (download ) everything work fine.
bugme-daemon@bugzilla.kernel.org wrote: > > http://bugzilla.kernel.org/show_bug.cgi?id=6414 > > Summary: sky2 problem > Kernel Version: 2.6.15, 2.6.16,2.6.17 > Status: NEW > Severity: high > Owner: jgarzik@pobox.com > Submitter: chenzhq@126.com > > > Distribution: Fedora Core 5, kernel-2.6.15, update to kernel-2.6.16-9, or > kernel-2.6.17 > Hardware Environment: Toshiba M45-S265 laptop, Marvell Yukon Marvell Technology > Group Ltd. 88E8036 PCI-E Fast Ethernet Controller > > Problem Description: cannot scp large file from my computer to other computer on > my laptop. or scp large file from other computer to my laptop on other computer. > even I can't fish/ftp large file . > it showed me stalled. all the other program can't work. I have to /sbin/service > newwork restart . then other program can work. > Thanks. Are you able to identify any earlier kernel version which didn't have this problem?
Before I used Scientific Linux 4.2 , kernel is kernel-2.6.9-22.EL.i686, I have to installed sk98lin then my network can work, everything is fine. once I installed Scientific Linux Cern 4.3 , the kernel is kernel-2.6.9-34.EL.cern. In this version, I can use network, but scp still stalled when I upload large file. I think the problem is sky2.
Need more info about the hardware. Specifically: kernel console log (dmesg), and more complete pci information (lspci -vv) I can also give you a diagnostic patch that captures more info needed.
Created attachment 7918 [details] dmesg information
Created attachment 7919 [details] lspci information
Okay, it looks like the ieee-1394 (ohci) is having problems too. Are you using it? Does the ethernet (sky2) end up sharing an interrupt, please check by doing: cat /proc/interrupts I saw cases where skge driver didn't work due to buggy ohci support. You could try unconfiguring it (either in the kernel or BIOS).
Created attachment 7920 [details] lspci information (after scp stalled.. )
Created attachment 7921 [details] dmesg information (after scp stalled)
Created attachment 7922 [details] cat /proc/interrupts ieee-1394 (ohci) , I don't know what it is . how to unconfiguring it in kernel ?
Created attachment 7923 [details] dmesg information if i use sk98lin driver
Created attachment 7924 [details] lspci information if i use sk98lin driver
Same root cause problem (transmit hangs) as bug 6284 *** This bug has been marked as a duplicate of 6284 ***
No, this is not a dup, it is an irq problem.
The problem here is caused by the BIOS as reported by: Local APIC disabled by BIOS -- you can enable it with "lapic" This means that you are stuck with edge triggered interrupts that just won't work especially with the interrupt sharing. Please try forcing the APIC with the lapic boot command line option. Looking at the manual for that laptop seems to imply you need to use the Windows utility "Toshiba Hardware Setup" to access BIOS settings.
I tried lapic option in boot , in dmesg , it showed me Local APIC disabled by BIOS -- reenabling. Found and enabled local APIC! but it still doesn't work.
The problem is that sky2 irq is shared but marked as edge-triggered. This is a fundamental BIOS/ACPI problem. Not really a driver bug. ACPI is configuring XT-PIC and edge triggered.
>The problem is that sky2 irq is shared but marked as edge-triggered. Why do you think the irq is marked as edge triggered? Can we have output of 'inb 0x4d0' and 'inb 0x4d1'? Then we can know if the interrupt is edge triggered.
just to crosspost from bugs.gentoo.org using kenerl-2.6.16-gentoo-r3 NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 299 .. 277 report=299 done=299 sky2 hardware hung? flushing NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 277 .. 254 report=299 done=299 sky2 status report lost? NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 299 .. 276 report=299 done=299 sky2 hardware hung? flushing NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 276 .. 253 report=299 done=299 sky2 status report lost? NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 299 .. 276 report=299 done=299 sky2 hardware hung? flushing NETDEV WATCHDOG: eth0: transmit timed out there was a decent amount of traffic I guess, so maybe it's related. sky2 v1.1 addr 0xcaefc000 irq 17 Yukon-EC (0xb6) rev 2 sky2 eth0: addr 00:15:f2:1e:b7:b3 sky2 eth0: enabling interface // dmesg Linux version 2.6.16-gentoo-r3 (root@desolation) (gcc version 3.4.6 (Gentoo 3.4. 6, ssp-3.4.5-1.0, pie-8.7.9)) #1 SMP PREEMPT Wed Apr 19 15:20:57 PDT 2006 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000003ffa0000 (usable) BIOS-e820: 000000003ffa0000 - 000000003ffae000 (ACPI data) BIOS-e820: 000000003ffae000 - 000000003ffe0000 (ACPI NVS) BIOS-e820: 000000003ffe0000 - 0000000040000000 (reserved) BIOS-e820: 00000000ffb80000 - 0000000100000000 (reserved) 127MB HIGHMEM available. 896MB LOWMEM available. found SMP MP-table at 000ff780 On node 0 totalpages: 262048 DMA zone: 4096 pages, LIFO batch:0 DMA32 zone: 0 pages, LIFO batch:0 Normal zone: 225280 pages, LIFO batch:31 HighMem zone: 32672 pages, LIFO batch:7 DMI 2.3 present. ACPI: RSDP (v002 ACPIAM ) @ 0x000facb0 ACPI: XSDT (v001 A M I OEMXSDT 0x01000609 MSFT 0x00000097) @ 0x3ffa0100 ACPI: FADT (v003 A M I OEMFACP 0x01000609 MSFT 0x00000097) @ 0x3ffa0290 ACPI: MADT (v001 A M I OEMAPIC 0x01000609 MSFT 0x00000097) @ 0x3ffa0390 ACPI: OEMB (v001 A M I AMI_OEM 0x01000609 MSFT 0x00000097) @ 0x3ffae040 >>> ERROR: Invalid checksum ACPI: MCFG (v001 A M I OEMMCFG 0x01000609 MSFT 0x00000097) @ 0x3ffa8630 ACPI: DSDT (v001 A0227 A0227000 0x00000000 INTL 0x02002026) @ 0x00000000 ACPI: PM-Timer IO Port: 0x808 ACPI: Local APIC address 0xfee00000 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Processor #0 15:4 APIC version 20 ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled) Processor #1 15:4 APIC version 20 ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Enabling APIC mode: Flat. Using 1 I/O APICs Using ACPI (MADT) for SMP configuration information Allocating PCI resources starting at 50000000 (gap: 40000000:bfb80000) Built 1 zonelists Kernel command line: dolvm2 real_root=/dev/hdg6 mapped APIC to ffffd000 (fee00000) mapped IOAPIC to ffffc000 (fec00000) Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Initializing CPU#0 CPU 0 irqstacks, hard=c0517000 soft=c050f000 PID hash table entries: 4096 (order: 12, 65536 bytes) Detected 3011.075 MHz processor. Using pmtmr for high-res timesource Console: colour VGA+ 80x25 Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Memory: 1031408k/1048192k available (3058k kernel code, 16040k reserved, 851k da ta, 220k init, 130688k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Calibrating delay using timer specific routine.. 6034.43 BogoMIPS (lpj=12068874) Mount-cache hash table entries: 512 CPU: After generic identify, caps: bfebfbff 20000000 00000000 00000000 0000649d 00000000 00000000 CPU: After vendor identify, caps: bfebfbff 20000000 00000000 00000000 0000649d 0 0000000 00000000 monitor/mwait feature present. using mwait in idle threads. CPU: Trace cache: 12K uops, L1 D cache: 16K CPU: L2 cache: 2048K CPU: Physical Processor ID: 0 CPU: After all inits, caps: bfebfbff 20000000 00000000 00000180 0000649d 0000000 0 00000000 Checking 'hlt' instruction... OK. CPU0: Intel(R) Pentium(R) 4 CPU 3.00GHz stepping 03 Booting processor 1/1 eip 2000 CPU 1 irqstacks, hard=c0518000 soft=c0510000 Initializing CPU#1 Calibrating delay using timer specific routine.. 6021.68 BogoMIPS (lpj=12043377) CPU: After generic identify, caps: bfebfbff 20000000 00000000 00000000 0000649d 00000000 00000000 CPU: After vendor identify, caps: bfebfbff 20000000 00000000 00000000 0000649d 0 0000000 00000000 monitor/mwait feature present. CPU: Trace cache: 12K uops, L1 D cache: 16K CPU: L2 cache: 2048K CPU: Physical Processor ID: 0 CPU: After all inits, caps: bfebfbff 20000000 00000000 00000180 0000649d 0000000 0 00000000 CPU1: Intel(R) Pentium(R) 4 CPU 3.00GHz stepping 03 Total of 2 processors activated (12056.12 BogoMIPS). ENABLING IO-APIC IRQs ..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1 checking TSC synchronization across 2 CPUs: passed. Brought up 2 CPUs migration_cost=4000 checking if image is initramfs... it is Freeing initrd memory: 2258k freed NET: Registered protocol family 16 ACPI: bus type pci registered PCI: PCI BIOS revision 2.10 entry at 0xf0031, last bus=4 PCI: Using MMCONFIG ACPI: Subsystem revision 20060127 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) PCI: Probing PCI hardware (bus 00) PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1 Boot video device is 0000:04:00.0 PCI: Transparent bridge - 0000:00:1e.0 ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P1._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P3._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P4._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P7._PRT] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 *5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKE] (IRQs *3 4 5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 *11 12 14 15) Linux Plug and Play Support v0.97 (c) Adam Belay pnp: PnP ACPI init pnp: PnP ACPI: found 17 devices SCSI subsystem initialized PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report pnp: 00:08: ioport range 0x290-0x297 has been reserved PCI: Bridge: 0000:00:01.0 IO window: e000-efff MEM window: caf00000-cfffffff PREFETCH window: d0000000-dfffffff PCI: Bridge: 0000:00:1c.0 IO window: d000-dfff MEM window: disabled. PREFETCH window: disabled. PCI: Bridge: 0000:00:1c.3 IO window: c000-cfff MEM window: cae00000-caefffff PREFETCH window: disabled. PCI: Bridge: 0000:00:1e.0 IO window: a000-bfff MEM window: cad00000-cadfffff PREFETCH window: 50000000-500fffff ACPI: PCI Interrupt 0000:00:01.0[A] -> GSI 16 (level, low) -> IRQ 16 PCI: Setting latency timer of device 0000:00:01.0 to 64 ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 16 (level, low) -> IRQ 16 PCI: Setting latency timer of device 0000:00:1c.0 to 64 ACPI: PCI Interrupt 0000:00:1c.3[D] -> GSI 19 (level, low) -> IRQ 17 PCI: Setting latency timer of device 0000:00:1c.3 to 64 PCI: Setting latency timer of device 0000:00:1e.0 to 64 highmem bounce pool size: 64 pages VFS: Disk quotas dquot_6.5.1 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) SGI XFS with ACLs, security attributes, realtime, large block numbers, no debug enabled SGI XFS Quota Management subsystem Initializing Cryptographic API io scheduler noop registered io scheduler anticipatory registered (default) io scheduler deadline registered io scheduler cfq registered ACPI: PCI Interrupt 0000:00:01.0[A] -> GSI 16 (level, low) -> IRQ 16 PCI: Setting latency timer of device 0000:00:01.0 to 64 assign_interrupt_mode Found MSI capability Allocate Port Service[0000:00:01.0:pcie00] Allocate Port Service[0000:00:01.0:pcie03] ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 16 (level, low) -> IRQ 16 PCI: Setting latency timer of device 0000:00:1c.0 to 64 assign_interrupt_mode Found MSI capability Allocate Port Service[0000:00:1c.0:pcie00] Allocate Port Service[0000:00:1c.0:pcie02] Allocate Port Service[0000:00:1c.0:pcie03] ACPI: PCI Interrupt 0000:00:1c.3[D] -> GSI 19 (level, low) -> IRQ 17 PCI: Setting latency timer of device 0000:00:1c.3 to 64 assign_interrupt_mode Found MSI capability Allocate Port Service[0000:00:1c.3:pcie00] Allocate Port Service[0000:00:1c.3:pcie03] isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1 PNP: PS/2 controller doesn't have AUX irq; using default 12 serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A serial8250: ttyS0 at I/O 0x3f8 (irq = 0) is a 16550A 00:0e: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A mice: PS/2 mouse device common for all mice RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize loop: loaded (max 8 devices) Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx ICH7: IDE controller at PCI slot 0000:00:1f.1 ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 22 (level, low) -> IRQ 18 ICH7: chipset revision 1 ICH7: not 100% native mode: will probe irqs later ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio, hdb:DMA ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:pio, hdd:pio Probing IDE interface ide0... input: AT Translated Set 2 keyboard as /class/input/input0 hdb: PLEXTOR DVDR PX-716A, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Probing IDE interface ide1... IT8212: IDE controller at PCI slot 0000:01:03.0 ACPI: PCI Interrupt 0000:01:03.0[A] -> GSI 20 (level, low) -> IRQ 19 IT8212: chipset revision 17 it821x: controller in pass through mode. IT8212: 100% native mode on irq 19 ide2: BM-DMA at 0xa400-0xa407, BIOS settings: hde:DMA, hdf:pio ide3: BM-DMA at 0xa408-0xa40f, BIOS settings: hdg:DMA, hdh:pio Probing IDE interface ide2... hde: ST3250823A, ATA DISK drive ide2 at 0xb800-0xb807,0xb402 on irq 19 Probing IDE interface ide3... hdg: ST3160023A, ATA DISK drive ide3 at 0xb000-0xb007,0xa802 on irq 19 Probing IDE interface ide1... hde: max request size: 512KiB hde: 488397168 sectors (250059 MB) w/8192KiB Cache, CHS=30401/255/63, UDMA(100) hde: cache flushes supported hde: hde1 hde2 hde3 hde4 < hde5 hde6 > hdg: max request size: 512KiB hdg: 312581808 sectors (160041 MB) w/8192KiB Cache, CHS=19457/255/63, UDMA(100) hdg: cache flushes supported hdg: hdg1 hdg2 hdg3 < hdg5 hdg6 hdg7 > hdb: ATAPI 40X DVD-ROM DVD-R CD-R/RW drive, 8192kB Cache, UDMA(66) Uniform CD-ROM driver Revision: 3.20 md: linear personality registered for level -1 md: raid0 personality registered for level 0 md: raid1 personality registered for level 1 md: raid10 personality registered for level 10 md: raid5 personality registered for level 5 md: raid4 personality registered for level 4 raid5: automatically using best checksumming function: pIII_sse pIII_sse : 4378.000 MB/sec raid5: using function: pIII_sse (4378.000 MB/sec) raid6: int32x1 711 MB/s raid6: int32x2 865 MB/s raid6: int32x4 688 MB/s raid6: int32x8 603 MB/s raid6: mmxx1 1865 MB/s raid6: mmxx2 1796 MB/s raid6: sse1x1 1115 MB/s raid6: sse1x2 1109 MB/s raid6: sse2x1 2126 MB/s raid6: sse2x2 2283 MB/s raid6: using algorithm sse2x2 (2283 MB/s) md: raid6 personality registered for level 6 md: multipath personality registered for level -4 md: faulty personality registered for level -5 md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27 md: bitmap version 4.39 device-mapper: 4.5.0-ioctl (2005-10-04) initialised: dm-devel@redhat.com device-mapper: dm-multipath version 1.0.4 loaded device-mapper: dm-round-robin version 1.0.0 loaded device-mapper: dm-emc version 0.0.3 loaded NET: Registered protocol family 2 IP route cache hash table entries: 65536 (order: 6, 262144 bytes) TCP established hash table entries: 262144 (order: 9, 3145728 bytes) TCP bind hash table entries: 65536 (order: 7, 786432 bytes) TCP: Hash tables configured (established 262144 bind 65536) TCP reno registered TCP bic registered NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 15 Starting balanced_irq Using IPI Shortcut mode Freeing unused kernel memory: 220k freed usbcore: registered new driver usbfs usbcore: registered new driver hub ACPI: PCI Interrupt 0000:00:1d.7[A] -> GSI 20 (level, low) -> IRQ 19 PCI: Setting latency timer of device 0000:00:1d.7 to 64 ehci_hcd 0000:00:1d.7: EHCI Host Controller ehci_hcd 0000:00:1d.7: debug port 1 PCI: cache line size of 128 is not supported by device 0000:00:1d.7 ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1 ehci_hcd 0000:00:1d.7: irq 19, io mem 0xcacff800 ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 8 ports detected usbcore: registered new driver hiddev usbcore: registered new driver usbhid drivers/usb/input/hid-core.c: v2.6:USB HID core driver usbcore: registered new driver libusual Initializing USB Mass Storage driver... usbcore: registered new driver usb-storage USB Mass Storage support registered. USB Universal Host Controller Interface driver v2.3 ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 20 (level, low) -> IRQ 19 PCI: Setting latency timer of device 0000:00:1d.0 to 64 uhci_hcd 0000:00:1d.0: UHCI Host Controller uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2 uhci_hcd 0000:00:1d.0: irq 19, io base 0x00007000 usb usb2: configuration #1 chosen from 1 choice hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 17 (level, low) -> IRQ 20 PCI: Setting latency timer of device 0000:00:1d.1 to 64 uhci_hcd 0000:00:1d.1: UHCI Host Controller uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3 uhci_hcd 0000:00:1d.1: irq 20, io base 0x00007400 usb usb3: configuration #1 chosen from 1 choice hub 3-0:1.0: USB hub found hub 3-0:1.0: 2 ports detected ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 21 PCI: Setting latency timer of device 0000:00:1d.2 to 64 uhci_hcd 0000:00:1d.2: UHCI Host Controller uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4 uhci_hcd 0000:00:1d.2: irq 21, io base 0x00007800 usb usb4: configuration #1 chosen from 1 choice hub 4-0:1.0: USB hub found hub 4-0:1.0: 2 ports detected ACPI: PCI Interrupt 0000:00:1d.3[D] -> GSI 19 (level, low) -> IRQ 17 PCI: Setting latency timer of device 0000:00:1d.3 to 64 uhci_hcd 0000:00:1d.3: UHCI Host Controller uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5 uhci_hcd 0000:00:1d.3: irq 17, io base 0x00008000 usb usb5: configuration #1 chosen from 1 choice hub 5-0:1.0: USB hub found hub 5-0:1.0: 2 ports detected ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI) sl811: driver sl811-hcd, 19 May 2005 ieee1394: Initialized config rom entry `ip1394' usb 4-1: new low speed USB device using uhci_hcd and address 2 libata version 1.20 loaded. usb 4-1: configuration #1 chosen from 1 choice input: Logitech USB Receiver as /class/input/input1 input: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:1d.2-1 ata_piix 0000:00:1f.2: version 1.05 ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 23 (level, low) -> IRQ 22 PCI: Setting latency timer of device 0000:00:1f.2 to 64 ata1: SATA max UDMA/133 cmd 0x9800 ctl 0x9402 bmdma 0x8400 irq 22 ata2: SATA max UDMA/133 cmd 0x9000 ctl 0x8802 bmdma 0x8408 irq 22 ATA: abnormal status 0x7F on port 0x9807 ata1: disabling port scsi0 : ata_piix ATA: abnormal status 0x7F on port 0x9007 ata2: disabling port scsi1 : ata_piix ReiserFS: hdg6: warning: sh-2021: reiserfs_fill_super: can not find reiserfs on hdg6 kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. gameport: NS558 PnP Gameport is pnp00:0c/gameport0, io 0x200, speed 764kHz ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 19 (level, low) -> IRQ 17 PCI: Setting latency timer of device 0000:02:00.0 to 64 sky2 v1.1 addr 0xcaefc000 irq 17 Yukon-EC (0xb6) rev 2 sky2 eth0: addr 00:15:f2:1e:b7:b3 Linux agpgart interface v0.101 (c) Dave Jones parport: PnPBIOS parport detected. parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,EPP,ECP ,DMA] agpgart: Detected an Intel 945G Chipset. agpgart: AGP aperture is 256M @ 0x0 hda_codec: Unknown model for ALC882, trying auto-probe from BIOS... Adding 979924k swap on /dev/hdg5. Priority:-1 extents:1 across:979924k EXT3 FS on hdg6, internal journal XFS mounting filesystem hde5 Ending clean XFS mount for filesystem: hde5 NTFS driver 2.1.26 [Flags: R/O MODULE]. NTFS volume version 3.1. XFS mounting filesystem dm-0 Ending clean XFS mount for filesystem: dm-0 Real Time Clock Driver v1.12ac sky2 eth0: enabling interface sky2 eth0: Link is up at 100 Mbps, full duplex, flow control none NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 299 .. 277 report=299 done=299 sky2 hardware hung? flushing NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 277 .. 254 report=299 done=299 sky2 status report lost? NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 299 .. 276 report=299 done=299 sky2 hardware hung? flushing NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 276 .. 253 report=299 done=299 sky2 status report lost? NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 299 .. 276 report=299 done=299 sky2 hardware hung? flushing NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 276 .. 253 report=299 done=299 sky2 status report lost? NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 299 .. 276 report=299 done=299 sky2 hardware hung? flushing NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 276 .. 253 report=299 done=299 sky2 status report lost? NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 299 .. 276 report=299 done=299 sky2 hardware hung? flushing NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 276 .. 253 report=299 done=299 sky2 status report lost? NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 299 .. 276 report=299 done=299 sky2 hardware hung? flushing NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 276 .. 253 report=299 done=299 sky2 status report lost? NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 299 .. 276 report=299 done=299 sky2 hardware hung? flushing NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 276 .. 253 report=299 done=299 sky2 status report lost? NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 299 .. 276 report=299 done=299 sky2 hardware hung? flushing NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 276 .. 253 report=299 done=299 sky2 status report lost? NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 299 .. 276 report=299 done=299 sky2 hardware hung? flushing NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 276 .. 253 report=299 done=299 sky2 status report lost? NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout NETDEV WATCHDOG: eth0: transmit timed out sky2 eth0: tx timeout sky2 eth0: transmit ring 299 .. 276 report=299 done=299 sky2 hardware hung? flushing sky2 eth0: disabling interface bridge-eth0: disabling the bridge bridge-eth0: down ACPI: PCI interrupt for device 0000:02:00.0 disabled ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 19 (level, low) -> IRQ 17 PCI: Setting latency timer of device 0000:02:00.0 to 64 sky2 v1.1 addr 0xcaefc000 irq 17 Yukon-EC (0xb6) rev 2 sky2 eth0: addr 00:15:f2:1e:b7:b3 sky2 eth0: enabling interface bridge-eth0: enabling the bridge bridge-eth0: up sky2 eth0: Link is up at 100 Mbps, full duplex, flow control none device eth0 entered promiscuous mode device eth0 left promiscuous mode // end basically just had to ifconfig eth0 down, rmmod sky2, and then modprobe sky2 to correct it. but pretty interesting stuff.
Chen, Please boot with "acpi=off" and attach the output from dmesg -s64000 and paste in the contents of /proc/interrupts and report if the sky2 is working or not. Also, if you rmmod the driver and then load it again, as suggested by Scott, does the problem go away? Can you answer Shaohua's question? > 'inb 0x4d0' and 'inb 0x4d1'? Stephen, XT-PIC mode is independent of level vs. edge triggering. LAPIC mode is independent of level vs. edge triggering, > Local APIC disabled by BIOS -- you can enable it with "lapic" BTW. It is usually a very bad idea to over-ride the BIOS on this. Indeed, it is usually such a bad idea, that this line should probably be removed from the kernel to not tempt people. Stephen, What is the interaction between ohci and the NIC that you've see as an issue in the past? Chen, A simple way to to prevent the X module from loading is to find it under /lib/modules X.ko, gzip it and reboot. Here is the failing device: > lspci -vv 01:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8036 PCI-E Fast Ethernet Controller (rev 10) Interrupt: pin A routed to IRQ 11 > failing dmesg ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11 PCI: Setting latency timer of device 0000:01:00.0 to 64 sky2 v0.15 addr 0xcc000000 irq 11 Yukon-FE (0xb7) rev 1 sky2 eth0: addr 00:a0:d1:21:5b:e1 > working dmesg ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11 sk98lin: Network Device Driver v8.31.2.3 (C)Copyright 1999-2006 Marvell(R). In both cases, the device is using IRQ11. Unclear why sky fails and sk98lin works. Maybe sk98lin is doing some polling and sky is not? Both cases share the serious issue that IRQ10 is broken: irq 10: nobody cared This could happen if the NIC registers on IRQ11, but is really pulling on IRQ10. (shot in dark) Any change if you boot with sky2.disable_msi=1
I am not sure what the interaction between uhci (ieee1394) and sky2 is caused by; but I have had several reports of people who were unsuccessful in gettine sky2 to work with uhci due to lost interrupts. The vendor version of sk98lin does a number of things incorrectly, such as NAPI with interrupts disabled, not controlling chip correctly, reconfiguring PCI bus, and has a 5 second timer that basically resets the device. Let's just not go there, it's crap...
Created attachment 7959 [details] dmesg information (boot with acpi=off option Len Brown, boot with "acpi=off" doesn't help /proc/interrupts CPU0 0: 322211 XT-PIC timer 1: 673 XT-PIC i8042 2: 0 XT-PIC cascade 5: 0 XT-PIC Intel ICH6 Modem 8: 1 XT-PIC rtc 9: 101 XT-PIC acpi 10: 100000 XT-PIC Intel ICH6, ehci_hcd:usb1, uhci_hcd:usb2 11: 60141 XT-PIC yenta, eth0, ipw2200, ohci1394, uhci_hcd:usb3, uhci_hcd:usb4, uhci_hcd:usb5, i915@pci:0000:00:02.0 12: 128 XT-PIC i8042 14: 17440 XT-PIC libata 15: 10750 XT-PIC ide1 NMI: 0 LOC: 0 ERR: 0 MIS: 0 rmmod the driver and then load it again, as suggested by Scott, also can't work. I don't know how to do it about 'inb 0x4d0' and 'inb 0x4d1'.
Since this fails the same way with "acpi=off", including "irq 10: nobody cared" this appears to be a driver/system specific bug, and I'm booting this out of the ACPI category. > I don't know how to do it about 'inb 0x4d0' and 'inb 0x4d1'. There are (root privledged) user-level commands to execute these assembly instructions for you. eg. # inb 0x4d0 0x00 # inb 0x4d1 0x0E Please run these on your system and it should confirm the state of the ELCR in the PIC.
Please reproduce with 2.6.17-r3-git18 (or later) version. There was a bug in the IRQ masking that just got fixed.
Please reopent this bug if it's still present in kernel 2.6.17.