Date: Mon, 17 Apr 2000 22:35:29 +0900 From: Issei Numata <issei@ace.heart.ne.jp> To: wpaul@skynet.ctr.columbia.edu Cc: bugs@freebsd.org Subject: Re: kern/17866: vr0 hung up Message-ID: <20000417223529J.issei@guru.gr.jp> In-Reply-To: <200004101524.LAA24995@skynet.ctr.columbia.edu> References: <20000410202748O.issei@guru.gr.jp> <200004101524.LAA24995@skynet.ctr.columbia.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Here is a story what happend in my PC. My network configuration is Router | | +-+------------------+ |Corega First SWII 8P|Switching Hub +-+-----+-------+----+ | | | vr0 vr0 xl0 | | | Host A Host B Host C 4.0 3.4 2.2.8 The each vr0 cards are corega FirstEtherII PCI-TX. This card support 100/10 auto negotiation and the switching hub has also. I check hub's lamp and each vr0 card connect with 100 full duplex mode. As well as, I check xl0 connect with 10 half duplex mode. Of course, above 3 hosts have same netmask. First, I copied all distribution of RELEASE-4.0 to Host B, then I tried to boot Host A by floppies and tried to install RELEASE-4.0 via ftp from Host B. However, after 10 or 15 bin files were transfered, the vr0 was stalled and continuing was impossible. So, I changed my NIC to other card (de0 shown in appendix) and continue to install. Next, I changed my NIC to FirstEtherII again and reboot. The booting was normal and it seemed work everything good. Then, I tried to ftp form Host A to Host B. The login was successful and I could look at directory and get some files. However, when I tried to get large file, the vr0 said "unknown rx error" and network was stalled. Whenever I tried to obtain 6M bytes files, stalling ratio was 100%. If the file size was small, it had never stalled. Next, I tried to ftp same file from Host C. Of course the performance was declined, but in this case, NIC worked goods and never stalled. I tried two more examination yesterday. First, I set ata disk mode to PIO and tried to ftp from Host B. In this case, the NIC worked good and never stalled. Next, I set ata disk mode to DMA again, ftp from Host B and save it as /dev/null. In this case, the NIC worked good and never stalled. In conclusion, my PC's NIC is stalled when 1) using 100 Full Duplex 2) using DMA mode for ata disk 3) trying to transfer large file and write to disk at the same time. Of course I tried to your patch. But my PC's NIC was still stalled in above condition. At this point, I understood this problem is caused by DMA. But I don't know where is the problem. vr0 driver? ata driver? or my PC's chipset? Please show me suggestion if possible. I will try to continue examination if available. By the way, I found tiny non-fatal bug in if_vr.c The function vr_rxeof() always prints out "unknown rx error" even if the error is clearly. I show you quick (but not smart) patch. After fixing, my PC says "FIFO overflow" when stalled. *** if_vr.c.old Mon Apr 17 21:09:20 2000 --- if_vr.c Mon Apr 17 21:09:58 2000 *************** *** 988,994 **** if (rxstat & VR_RXSTAT_RXERR) { ifp->if_ierrors++; printf("vr%d: rx error: ", sc->vr_unit); ! switch(rxstat & 0x000000FF) { case VR_RXSTAT_CRCERR: printf("crc error\n"); break; --- 988,994 ---- if (rxstat & VR_RXSTAT_RXERR) { ifp->if_ierrors++; printf("vr%d: rx error: ", sc->vr_unit); ! switch(rxstat & 0x000000FF & ~VR_RXSTAT_RXERR) { case VR_RXSTAT_CRCERR: printf("crc error\n"); break; Finally, I will show you my PC's configuration again. * * HOST A * Copyright (c) 1992-2000 The FreeBSD Project. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 4.0-STABLE #0: Mon Apr 17 01:58:47 JST 2000 issei@ace.heart.ne.jp:/usr/src/sys/compile/ACE Timecounter "i8254" frequency 1193182 Hz CPU: AMD-K6(tm) 3D processor (400.91-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x58c Stepping = 12 Features=0x8021bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,PGE,MMX> AMD Features=0x80000800<SYSCALL,3DNow!> real memory = 268427264 (262136K bytes) sio0: gdb debugging port avail memory = 257208320 (251180K bytes) Preloaded elf kernel "kernel" at 0xc03d1000. md0: Malloc disk npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <VIA 82C598MVP (Apollo MVP3) host bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0 pci0: <S3 968 graphics accelerator> at 8.0 irq 11 vr0: <VIA VT3043 Rhine I 10/100BaseTX> port 0xe400-0xe47f mem 0xec000000-0xec00007f irq 10 at device 10.0 on pci0 vr0: Ethernet address: 00:90:cc:01:34:bc miibus0: <MII bus> on vr0 amphy0: <DM9101 10/100 media interface> on miibus0 amphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto vr0: supplying EUI64: 00:90:cc:ff:fe:01:34:bc de0: <Digital 21040 Ethernet> port 0xe800-0xe87f mem 0xec001000-0xec00107f irq 9 at device 11.0 on pci0 de0: ACCTON EN1203 21040 [10Mb/s] pass 2.4 de0: address 00:00:e8:0d:df:ca fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> on isa0 sc0: VGA <16 virtual consoles, flags=0x200> sio0 at port 0x3f8-0x3ff irq 4 flags 0x90 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/16 bytes threshold ppi0: <Parallel I/O> on ppbus0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port plip0: <PLIP network interface> on ppbus0 ad0: 19574MB <Raidell IM-7500 F6L> [39770/16/63] at ata0-master using UDMA33 Mounting root from ufs:/dev/ad0s1a vr0: starting DAD for fe80:0001::0290:ccff:fe01:34bc vr0: DAD complete for fe80:0001::0290:ccff:fe01:34bc - no duplicates found de0: autosense failed: cable problem? * * HOST B * Copyright (c) 1992-1999 FreeBSD Inc. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 3.4-STABLE #4: Fri Mar 31 19:39:05 JST 2000 issei@konbu.guru.gr.jp:/usr/src/sys/compile/KONBu Timecounter "i8254" frequency 1193182 Hz CPU: Cyrix 6x86MX (200.46-MHz 686-class CPU) Origin = "CyrixInstead" Id = 0x601 Stepping = 1 DIR=0x1453 Features=0x80a135<FPU,DE,TSC,MSR,CX8,PGE,CMOV,MMX> real memory = 268435456 (262144K bytes) avail memory = 257495040 (251460K bytes) Preloaded elf kernel "kernel" at 0xc033e000. Probing for devices on PCI bus 0: chip0: <Intel 82439TX System Controller (MTXC)> rev 0x01 on pci0.0.0 chip1: <Intel 82371AB PCI to ISA bridge> rev 0x01 on pci0.1.0 ide_pci0: <Intel PIIX4 Bus-master IDE controller> rev 0x01 on pci0.1.1 chip2: <Intel 82371AB Power management controller> rev 0x01 on pci0.1.3 vr0: <VIA VT3043 Rhine I 10/100BaseTX> rev 0x06 int a irq 9 on pci0.10.0 vr0: Ethernet address: 00:90:99:16:b2:a6 vr0: autoneg complete, link status good (full-duplex, 100Mbps) ncr0: <ncr 53c810a fast10 scsi> rev 0x11 int a irq 12 on pci0.11.0 vga0: <S3 968 graphics accelerator> rev 0x00 int a irq 11 on pci0.12.0 Probing for devices on the ISA bus: sc0 on isa sc0: VGA color <16 virtual consoles, flags=0x0> atkbdc0 at 0x60-0x6f on motherboard atkbd0 irq 1 on isa psm0 not found sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa fdc0: FIFO enabled, 8 bytes threshold fd0: 1.44MB 3.5in wdc0 at 0x1f0-0x1f7 irq 14 on isa wdc0: unit 0 (wd0): <IBM-DJNA-371800> wd0: 17206MB (35239680 sectors), 34960 cyls, 16 heads, 63 S/T, 512 B/S wdc1 not found at 0x170 wt0 not found at 0x300 mcd0 not found at 0x300 matcdc0 not found at 0x230 scd0 not found at 0x230 ppc0 at 0x378 irq 7 on isa ppc0: W83877AF chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/16 bytes threshold ppi0: <generic parallel i/o> on ppbus 0 plip0: <PLIP network interface> on ppbus 0 adv0 not found at 0x330 bt0 not found at 0x134 aha0 not found at 0x134 vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa npx0 on motherboard npx0: INT 16 interface sb0 at 0x220 irq 5 drq 1 on isa snd0: <SoundBlaster 16 4.13> sbxvi0 at drq 5 on isa snd0: <SoundBlaster 16 4.13> sbmidi0 at 0x330 on isa snd0: <SoundBlaster MPU-401> Waiting 15 seconds for SCSI devices to settle sa0 at ncr0 bus 0 target 3 lun 0 sa0: <HP C1537A L907> Removable Sequential Access SCSI-2 device sa0: 10.000MB/s transfers (10.000MHz, offset 8) da1 at ncr0 bus 0 target 1 lun 0 da1: <QUANTUM FIREBALL1280S 630C> Fixed Direct Access SCSI-2 device da1: 10.000MB/s transfers (10.000MHz, offset 8) da1: 1222MB (2503872 512 byte sectors: 255H 63S/T 155C) cd0 at ncr0 bus 0 target 2 lun 0 cd0: <PIONEER CD-ROM DR-124X 1.06> Removable CD-ROM SCSI-2 device cd0: 4.629MB/s transfers (4.629MHz, offset 8) cd0: cd present [64770 x 2048 byte records] changing root device to wd0s1a da0 at ncr0 bus 0 target 0 lun 0 da0: <IBM DCAS-32160 S65A> Fixed Direct Access SCSI-2 device da0: 10.000MB/s transfers (10.000MHz, offset 8) da0: 2063MB (4226725 512 byte sectors: 255H 63S/T 263C) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000417223529J.issei>