Bug 44572

Summary: EPIA onboard VIA VT6103 network if hangs, vr driver problem
Product: Base System Reporter: Teemu Kuusijärvi <tpk>
Component: i386Assignee: silby
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
vr.patch none

Description Teemu Kuusijärvi 2002-10-28 18:10:00 UTC
After a couple of minutes the network connection hangs. Nothing goes through it. Ifconfig claims that the vr0 is UP and active but 'ifconfig vr0 up' corrects the error.

Same thing happens when I download and upload simultaneously via ftp.
Single upload or download seems to be working.

WindowsXP works O.K. with this mboard.
FBSD 4.7 and Intel EE Pro/100+ works without any problems.
100Mbps switch I'm using is 8 port Lantech Mini Switch 800.

There is no difference if I use autoselect or define if options manually.

ifconfig -a:
-----------
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet X.X.X.X netmask 0xfffffff8 broadcast X.X.X.X
        inet6 X::X:X:X:X%vr0 prefixlen 64 scopeid 0x1 
        ether 00:40:63:c1:15:56
        media: Ethernet 100baseTX <full-duplex>
        status: active
fxp0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        ether 00:d0:b7:70:1a:33
        media: Ethernet autoselect (none)
        status: no carrier
<CLIP>

dmesg:
-----
FreeBSD 4.7-RELEASE #0: Wed Oct  9 15:08:34 GMT 2002
    root@builder.freebsdmall.com:/usr/obj/usr/src/sys/GENERIC
Timecounter "i8254"  frequency 1193182 Hz
CPU: VIA C3 Samuel 2 (800.03-MHz 686-class CPU)
  Origin = "CentaurHauls"  Id = 0x678  Stepping = 8
  Features=0x803035<FPU,DE,TSC,MSR,MTRR,PGE,MMX>
real memory  = 528416768 (516032K bytes)
<CLIP>
vr0: <VIA VT6102 Rhine II 10/100BaseTX> port 0xe800-0xe8ff mem 0xd6100000-0xd61000ff irq 10 at device 18.0 on pci0
vr0: Ethernet address: 00:40:63:c1:15:56
miibus0: <MII bus> on vr0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0xec00-0xec3f mem 0xd6000000-0xd60fffff,0xd6101000-0xd6101fff irq 11 at device 20.0 on pci0
fxp0: Ethernet address 00:d0:b7:70:1a:33
inphy0: <i82555 10/100 media interface> on miibus1
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
<CLIP>

Fix: 

ifconfig vr0 up
How-To-Repeat: ping -f -q -n -s 10000 <ip>
or
FTP download+upload at the same time.
Comment 1 nonexistent 2002-10-28 22:03:29 UTC
> >Description:
> After a couple of minutes the network connection hangs. Nothing goes through it. Ifconfig claims that the vr0 is UP and active but 'ifconfig vr0 up' corrects the error.
> 
> Same thing happens when I download and upload simultaneously via ftp.
> Single upload or download seems to be working.
It reminds me my problem with ste I try to write down in

http://docs.freebsd.org/cgi/getmsg.cgi?fetch=126424+0+archive/2002/freebsd-net/20021027.freebsd-net

Does you try to determine, RX or TX or both
does not work?

-- 
@BABOLO      http://links.ru/
Comment 2 johan 2002-11-20 15:44:52 UTC
Hi!

I have the Via Epia too, and unfortunately exactly the same problems with the vr0 device (FreeBSD 4.7-RELEASE). The D-Link 530TX NIC based on the same chipset (Via RhineII) seems to have had this problem, I don't know if it's fixed yet. Linux or Windows seems to work fine with this hardware, so it must be some sort of driveproblem.

The problem again: Under heavy load the card somehow disable itself. A simple 'ifconfig up' fixes the problem. Running in 10baseT makes the problem show up less often.

Too bad really, the Via Epia is very nifty. I don't want to spoil the whole thing by running linux ;-)

regards
/johan

-- 
Johan Östensson <johan@ostensson.org>
ICQ: 255645 Tfn: +46(0)73 6548283
<johos384@student.liu.se> http://www.ostensson.org
Comment 3 silby freebsd_committer freebsd_triage 2002-12-07 05:38:58 UTC
Responsible Changed
From-To: freebsd-bugs->silby

I own all the other vr PRs, why not this one?
Comment 4 Mark Stosberg 2002-12-07 21:15:30 UTC
Hello,

I'd like to add that I'm also experiencing this bug running 4.7-RELEASE.
I verified that the "ping" test given here causes the lockup.

I also have the VT6102 card.

  -mark

http://mark.stosberg.com/
Comment 5 Mark Stosberg 2002-12-11 03:16:07 UTC
I'd like to add some more data points to my previous report.

- I was able to reproduce the error by running this ping command in both
  directions with another host on my local network:
  ping -f -q -n -s 10000 host_name

  Then, even after I stopped flood-pinging the other host, it appeared
  that net connectivity was lost-- I couldn't execute normal ping
  commands any more my machine to the outside world.

- I ran tcpdump while the network card appeared hung to see what was
  happening. I observed data flowing both in and out. Here are some
  sample lines (my computer is "asana"):

####
21:15:27.072814 192.168.1.100 > asana.summersault.com: (frag 47804:1480@1480+)
21:15:27.074056 192.168.1.100 > asana.summersault.com: icmp: echo request (frag 47804:1480@0+)
5273 packets received by filter
4427 packets dropped by kernel
#####
# later on...
#####
21:16:04.612632 192.168.1.100 > asana.summersault.com: (frag 51560:1480@1480+)
21:16:04.613884 192.168.1.100 > asana.summersault.com: icmp: echo request (frag 51560:1480@0+)
21:16:04.614051 asana.summersault.com > 192.168.1.100: icmp: echo reply (frag 47759:1480@0+)
21:16:04.614067 asana.summersault.com > 192.168.1.100: (frag 47759:1480@1480+)
533 packets received by filter
0 packets dropped by kernel
#####

- rebooting the interface seems to fix it, as illustrated here:

su-2.05b# ping summersault.com
ping: cannot resolve summersault.com: Host name lookup failure
su-2.05b# ifconfig vr0 up
su-2.05b# ping summersault.com
PING summersault.com (208.10.44.140): 56 data bytes
64 bytes from 208.10.44.140: icmp_seq=0 ttl=52 time=27.255 ms
64 bytes from 208.10.44.140: icmp_seq=1 ttl=52 time=77.052 ms
^C
######

- Sometimes during this process, ping would return these messages, which
  may or may not be of interest:

556 bytes from 192.168.1.100: Frag reassembly time exceeded
	###
ping: sendto: No buffer space available

######

- I also tried setting the card to work at 10baseT, by adding this to an
  ifconfig statement for the interface:

  media 10baseT/UTP

  With the configuration, the two way ping floods don't immediately lock
  up the interface. However, it seems that with enough time, it can
  still happen.
Comment 6 Thomas Nyström 2002-12-18 13:37:48 UTC
Hello!

You have both reported problems with the vr-driver, I have made a patch
that might solve this problem. Could you please try this patch and
report the result to me. I could reproduce your problem and this patch
fixes the problem for me! It have been tested on 4.7-RELEASE with the
latest vr-driver from the stable-branch.


/thn

-- 
---------------------------------------------------------------
Svensk Aktuell Elektronik AB                     Thomas Nyström
Box 10                                    Phone: +46 8 35 92 85
S-191 21  Sollentuna                     Fax: +46 8 59 47 45 36
Sweden                                      Email: thn@saeab.se
---------------------------------------------------------------
Comment 7 silby freebsd_committer freebsd_triage 2003-02-12 21:11:47 UTC
State Changed
From-To: open->closed

Thomas's patch is believed to have fixed this problem.
Comment 8 brett 2004-04-28 05:35:54 UTC
I just wanted to thank Thomas for submitting his patch.

 

We were having the same problem with the vr-driver on a 2.9 OpenBSD machine.
The if_vr.c code on 2.9 was too old for the patch that Thomas submitted, but
I was able to alter the patch enough to make it work.  If anybody else out
there still on OpenBSD < 3.4 needs this problem fixed as well, then they can
upgrade to 3.4 (first release that contains the updates required).  If
upgrade is not possible for some reason, then email me for the patch.
(Since this is the freebsd site, not openbsd, I wont post it here).

 

Thanks again Thomas for the fix!

 

Brett.

brettbirkett@yahoo.com.au