kern/64556: [sis] if_sis short cable fix problems with NetGear
FA311's
Pyun YongHyeon
pyunyh at gmail.com
Tue Feb 19 00:45:53 UTC 2008
On Tue, Feb 19, 2008 at 12:10:03AM +0000, Thomas Hurst wrote:
> The following reply was made to PR kern/64556; it has been noted by GNATS.
>
> From: Thomas Hurst <tom at hur.st>
> To: Volker <volker at vwsoft.com>
> Cc: bug-followup at FreeBSD.org
> Subject: Re: kern/64556: [sis] if_sis short cable fix problems with NetGear
> FA311's
> Date: Tue, 19 Feb 2008 00:03:12 +0000
>
> * Volker (volker at vwsoft.com) wrote:
>
> > > A quick glance at the FreeBSD driver shows a DELAY(100000); which
> > > probably accounts for the performance drops; each burst of 'short cable
> > > fix' messages basically leaves the card idle for 300ms or so. The Linux
> > > driver (drivers/net/natsemi.c) has no sign of such a delay.
> >
> > well, I'll leave it for the net-team to check if this DELAY can be
> > shortened (it's 100 msec delay).
>
> Yes, but they happen in clusters of 3 or so.
>
> > > This all happens during card setup, sis_initl(), shouldn't this be only
> > > happening once when it aquires the link, not randomly during operation?
> >
> > sis_initl is being called not just for initializing the card once, but
> > whenever RX errors or state changes are detected.
>
> Ah.
>
> Linux showed a pretty high number of errors. Maybe it's worth being
> less aggressive.
>
> > I'm wondering if you can give us the following information as I think
> > this will be needed for the net folks to further analyze your problem:
> >
> > pciconf -lv
> > dmesg
>
> hostb0 at pci0:0:0:0: class=0x060000 card=0x00000000 chip=0x71908086 rev=0x03 hdr=0x00
> vendor = 'Intel Corporation'
> device = '82443BX/ZX 440BX/ZX CPU to PCI Bridge (AGP Implemented)'
> class = bridge
> subclass = HOST-PCI
> pcib1 at pci0:0:1:0: class=0x060400 card=0x00000000 chip=0x71918086 rev=0x03 hdr=0x01
> vendor = 'Intel Corporation'
> device = '82443BX/ZX 440BX/ZX AGPset PCI-to-PCI bridge'
> class = bridge
> subclass = PCI-PCI
> isab0 at pci0:0:7:0: class=0x060100 card=0x00000000 chip=0x71108086 rev=0x02 hdr=0x00
> vendor = 'Intel Corporation'
> device = '82371AB/EB/MB PIIX4/4E/4M ISA Bridge'
> class = bridge
> subclass = PCI-ISA
> atapci0 at pci0:0:7:1: class=0x010180 card=0x00000000 chip=0x71118086 rev=0x01 hdr=0x00
> vendor = 'Intel Corporation'
> device = '82371AB/EB/MB PIIX4/4E/4M IDE Controller'
> class = mass storage
> subclass = ATA
> uhci0 at pci0:0:7:2: class=0x0c0300 card=0x00000000 chip=0x71128086 rev=0x01 hdr=0x00
> vendor = 'Intel Corporation'
> device = '82371AB/EB/MB PIIX4/4E/4M USB Interface'
> class = serial bus
> subclass = USB
> none0 at pci0:0:7:3: class=0x068000 card=0x00000000 chip=0x71138086 rev=0x02 hdr=0x00
> vendor = 'Intel Corporation'
> device = '82371AB/EB/MB PIIX4/4E/4M Power Management Controller'
> class = bridge
> sis0 at pci0:0:15:0: class=0x020000 card=0xf3111385 chip=0x0020100b rev=0x00 hdr=0x00
> vendor = 'National Semiconductors'
> device = 'DP83815/16 Fast Ethernet Adapter (MacPhyter/MacPhyter-II)'
> class = network
> subclass = ethernet
> sis1 at pci0:0:17:0: class=0x020000 card=0xf3111385 chip=0x0020100b rev=0x00 hdr=0x00
> vendor = 'National Semiconductors'
> device = 'DP83815/16 Fast Ethernet Adapter (MacPhyter/MacPhyter-II)'
> class = network
> subclass = ethernet
> atapci1 at pci0:0:19:0: class=0x018000 card=0x00000000 chip=0x00041103 rev=0x01 hdr=0x00
> vendor = 'Triones Technologies Inc. (HighPoint)'
> device = 'HPT3xx UDMA66/100/133 EIDE Controller'
> class = mass storage
> atapci2 at pci0:0:19:1: class=0x018000 card=0x00000000 chip=0x00041103 rev=0x01 hdr=0x00
> vendor = 'Triones Technologies Inc. (HighPoint)'
> device = 'HPT3xx UDMA66/100/133 EIDE Controller'
> class = mass storage
> vgapci0 at pci0:1:0:0: class=0x030000 card=0xff03102b chip=0x0521102b rev=0x01 hdr=0x00
> vendor = 'Matrox Electronic Systems Ltd.'
> device = 'Matrox lnc MGA-G200B Eclipse/Calao'
> class = display
> subclass = VGA
>
> Copyright (c) 1992-2008 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
> The Regents of the University of California. All rights reserved.
> FreeBSD is a registered trademark of The FreeBSD Foundation.
> FreeBSD 7.0-RC2 #0: Fri Feb 8 00:09:57 UTC 2008
> root at logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
> Timecounter "i8254" frequency 1193182 Hz quality 0
> CPU: Pentium II/Pentium II Xeon/Celeron (534.55-MHz 686-class CPU)
> Origin = "GenuineIntel" Id = 0x665 Stepping = 5
> Features=0x183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
> real memory = 805240832 (767 MB)
> avail memory = 774074368 (738 MB)
> ACPI APIC Table: <ABIT >
> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
> cpu0 (BSP): APIC ID: 0
> cpu1 (AP): APIC ID: 1
> ioapic0 <Version 1.1> irqs 0-23 on motherboard
> kbd1 at kbdmux0
> ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
> acpi0: <ABIT AWRDACPI> on motherboard
> acpi0: [ITHREAD]
> acpi0: Power Button (fixed)
> acpi0: reservation of 0, a0000 (3) failed
> acpi0: reservation of 100000, 2fef0000 (3) failed
> Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
> acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
> cpu0: <ACPI CPU> on acpi0
> cpu1: <ACPI CPU> on acpi0
> acpi_button0: <Power Button> on acpi0
> pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff,0x4000-0x4041,0x5000-0x500f on acpi0
> pci0: <ACPI PCI bus> on pcib0
> agp0: <Intel 82443BX (440 BX) host to PCI bridge> on hostb0
> pcib1: <PCI-PCI bridge> at device 1.0 on pci0
> pci1: <PCI bus> on pcib1
> vgapci0: <VGA-compatible display> mem 0xdc000000-0xdcffffff,0xd8000000-0xd8003fff,0xd9000000-0xd97fffff irq 16 at device 0.0 on pci1
> isab0: <PCI-ISA bridge> at device 7.0 on pci0
> isa0: <ISA bus> on isab0
> atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xf000-0xf00f at device 7.1 on pci0
> ata0: <ATA channel 0> on atapci0
> ata0: [ITHREAD]
> ata1: <ATA channel 1> on atapci0
> ata1: [ITHREAD]
> uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xc000-0xc01f irq 19 at device 7.2 on pci0
> uhci0: [GIANT-LOCKED]
> uhci0: [ITHREAD]
> usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
> usb0: USB revision 1.0
> uhub0: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
> uhub0: 2 ports with 2 removable, self powered
> pci0: <bridge> at device 7.3 (no driver attached)
> sis0: <NatSemi DP8381[56] 10/100BaseTX> port 0xc400-0xc4ff mem 0xde000000-0xde000fff irq 16 at device 15.0 on pci0
> sis0: Silicon Revision: DP83815D
> miibus0: <MII bus> on sis0
> ukphy0: <Generic IEEE 802.3u media interface> PHY 0 on miibus0
> ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
I thought nsphyter(4) may handle PHY hardware but ukphy(4) was
used. Just curious, would you let me know OUI/MII model/revision
number of PHY?(ukphy(4) prints that information in verbosed boot.)
I don't have sis(4) hardwares so I may not help to diagnose
the equalizer issue but it seems that Rx error recovery and link
state change handling needs to be rewritten.
> sis0: Ethernet address: 00:02:e3:16:ed:b0
> sis0: [ITHREAD]
> sis1: <NatSemi DP8381[56] 10/100BaseTX> port 0xc800-0xc8ff mem 0xde001000-0xde001fff irq 19 at device 17.0 on pci0
> sis1: Silicon Revision: DP83815D
> miibus1: <MII bus> on sis1
> ukphy1: <Generic IEEE 802.3u media interface> PHY 0 on miibus1
> ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> sis1: Ethernet address: 00:09:5b:04:10:f8
> sis1: [ITHREAD]
> atapci1: <HighPoint HPT366 UDMA66 controller> port 0xcc00-0xcc07,0xd000-0xd003,0xd400-0xd4ff irq 18 at device 19.0 on pci0
> atapci1: [ITHREAD]
> ata2: <ATA channel 0> on atapci1
> ata2: [ITHREAD]
> atapci2: <HighPoint HPT366 UDMA66 controller> port 0xd800-0xd807,0xdc00-0xdc03,0xe000-0xe0ff irq 18 at device 19.1 on pci0
> atapci2: [ITHREAD]
> ata3: <ATA channel 0> on atapci2
> ata3: [ITHREAD]
> acpi_tz0: <Thermal Zone> on acpi0
> fdc0: <floppy drive controller> port 0x3f2-0x3f5,0x3f7 irq 6 drq 2 on acpi0
> fdc0: [FILTER]
> sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
> sio0: type 16550A
> sio0: [FILTER]
> sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
> sio1: type 16550A
> sio1: [FILTER]
> atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
> atkbd0: <AT Keyboard> irq 1 on atkbdc0
> kbd0 at atkbd0
> atkbd0: [GIANT-LOCKED]
> atkbd0: [ITHREAD]
> pmtimer0 on isa0
> orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xef000-0xeffff pnpid ORM0000 on isa0
> ppc0: parallel port not found.
> sc0: <System console> at flags 0x100 on isa0
> sc0: VGA <16 virtual consoles, flags=0x300>
> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
> ums0: <Microsoft Microsoft Wheel Mouse Optical\M-., class 0/0, rev 1.10/1.21, addr 2> on uhub0
> ums0: 3 buttons and Z dir.
> Timecounters tick every 1.000 msec
> acd0: CDROM <SAMSUNG CD-ROM SC-148F/PS05> at ata0-master PIO4
> ad2: 38166MB <Seagate ST340016A 3.19> at ata1-master UDMA33
> SMP: AP CPU #1 Launched!
> Trying to mount root from ufs:/dev/ad2s1a
> sis0: Applying short cable fix (reg=ef)
> sis0: Applying short cable fix (reg=e8)
> sis0: Applying short cable fix (reg=e8)
> sis0: Applying short cable fix (reg=e8)
> sis0: Applying short cable fix (reg=e8)
> sis0: Applying short cable fix (reg=e8)
>
> > and the following when a bunch of network traffic has been generated:
> >
> > vmstat -ia
> > netstat -i
>
> After 9 minutes of bidirectional activity, culminating in the receiving
> side failing:
>
> interrupt total rate
> ??? 0 0
> irq1: atkbd0 0 0
> stray irq1 0 0
> irq0: 0 0
> stray irq0 0 0
> irq3: sio1 0 0
> stray irq3 0 0
> irq4: sio0 0 0
> stray irq4 0 0
> irq5: 0 0
> stray irq5 0 0
> irq6: fdc0 0 0
> stray irq6 0 0
> irq7: 0 0
> stray irq7 0 0
> irq8: 0 0
> stray irq8 0 0
> irq9: acpi0 0 0
> stray irq9 0 0
> irq10: 0 0
> stray irq10 0 0
> irq11: 0 0
> stray irq11 0 0
> irq12: 0 0
> stray irq12 0 0
> irq13: 0 0
> stray irq13 0 0
> irq14: ata0 57 0
> stray irq14 0 0
> irq15: ata1 1329 1
> stray irq15 0 0
> irq16: sis0 8296315 6285
> stray irq16 0 0
> irq17: 0 0
> stray irq17 0 0
> irq18: atapci1+ 0 0
> stray irq18 0 0
> irq19: sis1 uhci0 4 0
> stray irq19 0 0
> irq20: 0 0
> stray irq20 0 0
> irq21: 0 0
> stray irq21 0 0
> irq22: 0 0
> stray irq22 0 0
> irq23: 0 0
> stray irq23 0 0
> cpu0: timer 2637855 1998
> cpu1: timer 2635648 1996
> Total 13571208 10281
>
> Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
> sis0 1500 <Link#1> 00:02:e3:16:ed:b0 5465231 0 5759894 0 0
> sis0 1500 10.0.1.0 10.0.1.122 5465224 - 5760193 - -
> sis1* 1500 <Link#2> 00:09:5b:04:10:f8 0 0 0 0 0
> lo0 16384 <Link#3> 0 0 0 0 0
> lo0 16384 fe80:3::1 fe80:3::1 0 - 0 - -
> lo0 16384 localhost ::1 0 - 0 - -
> lo0 16384 your-net localhost 0 - 0 - -
>
> > Also just a wild guess as the problems might be related: PR
> > kern/112179 http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/112179
> > contains a patch, can you try if you see any difference with that
> > patch applied?
>
> Will do.
>
> --
> Thomas 'Freaky' Hurst
> http://hur.st/
--
Regards,
Pyun YongHyeon
More information about the freebsd-net
mailing list