netdev
[Top] [All Lists]

Re: The 8169 driver: issue with cross cable

To: Francois Romieu <romieu@xxxxxxxxxxxxx>
Subject: Re: The 8169 driver: issue with cross cable
From: Willy Gardiol <willy@xxxxxxxxxxx>
Date: Sun, 20 Feb 2005 17:12:46 +0100
Cc: netdev@xxxxxxxxxxx
In-reply-to: <20050219205055.GA2793@xxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <200502192011.25428.willy@xxxxxxxxxxx> <20050219205055.GA2793@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Reply-to: willy@xxxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: KMail/1.7.2
Problem: r8169 hosed sporadically using a cross-cable.

Configuration:
- server side: x86 box with r8169 on a Hamlet PCI card, file server NFS. 
- client side: x86 box with r8169 inegrated on a nForce2 motherboard. NFS-root 
on the server (no local hard drives, four NFS mounts)
- connection: cross cable UTP CAT5

(Alternative configuration:
- RTL-8139 (8139too module) PCI card on both boxes. With this configuration 
(same kernel, same files, same cable) everything works great.)

The problem is present with any kernel versions up to 2.6.10 (tried many 
different kernels).

Step to reproduce the problem: grab a few CDs with grip (tested with ATAPI 
cdrw without scsi emulation). 

Syntomps: one of the mounts will be hosed while the others will work. After 
some time either the nfs activity hangs on all mounts or the hosed mount will 
un-hose. Tipically it will hose again soon.

I am now doing tests using kernel 2.6.11-r4 with Francois's patch.

I did two tests, one at 1000mbit/sec and one at 100mbit/sec limiting the speed 
using ethtool.

The problem persist in both tests. I launch grip and start grabbing a CD, 
after the first track is read from che CD the process hangs. Then i start a 
second grip and start again ripping the same CD, this time the entire nfs 
mount hangs.

Per each test i reported some general data:
Output of "lspci -vx" posted to:  spci-vx.txt
Output of "lsmod" posted to: modules.txt
Output of boot posted to:dmesg.txt
Output of ethtool on r8169 (and rtl-8139): ethtool.txt

And specific data:
Output ifconfig and interrupts immediately after boot: 
interrupts-ifconfig-boot.txt
After some activity (login/startx/launch konsole, a few pings, and launch of 
grip):
interrupts-ifconfig-initial.txt
When the program grip is hosed:
interrupts-ifconfig-hosed.txt
When mount point /deposito is hosed:
interrupts-ifconfig-hosed2.txt

(note: grip works on /deposito)


I bzip2ed all this files into two archives, one per each test (one couple per 
server and one per client)

You can get them at:
http://www.gardiol.org/r8169/1000-client.tar.bz2
http://www.gardiol.org/r8169/1000-server.tar.bz2
http://www.gardiol.org/r8169/100-client.tar.bz2
http://www.gardiol.org/r8169/100-server.tar.bz2

At the beginning of each file i wrote the output of "uname -a".

I am available for any more data.
bye and thanks.

ps: i am not subscribed to the list please keep me in CC.

Alle Saturday 19 February 2005 21:50, hai scritto:
> Willy Gardiol <willy@xxxxxxxxxxx> :
> [...]
>
> > i am sorry to bother you directly.
>
> No problem but it would be nice to Cc: netdev@xxxxxxxxxxxx
>
> [...]
>
> > I have a fileserver and a remote client which both have a r8169 based
> > card. The server has a Hamlet card and the client has the gigabit chip
> > integrated.
>
> An 'lspci -vx' would be welcome. So will a complete dmesg from boot.
>
> > The two machines are linked with a cross cable about 20mt long, UTP CAT5.
>
> Which link settings does the r8169 negociate ('ethtool ethX') ?
>
> [...]
>
> > During one of these locks i can, as usual, access the other nfs mounts.
>
> Ok. So the card is not hosed.
>
> > I tried to:
> > - move PCI cards to avoid conflicts
> > - upgraded to latest stable kernel 2.6.10
> > - removed any binary only driver
> > - changed the server mounts and filesystems (ext3/reiserfs)
> >
> > Also, the problem is still present if i use one r8169 based and one
> > rtl-8139 100mbit card.
>
> Do you notice packet loss/errors or such on the 8169 side ? Typically, how
> does 'ifconfig' output like when a mount point is hosed ?
>
> > When i remove BOTH r8169 and use 100mbit only cards (two 8139 based pci
> > cards) i do not suffer from these hangs.
>
> Which kind of 8139 driver: 8139too or 8139cp ?
>
> > What can i do to solve this problem, or help you on the subject?
>
> It will need some debugging. It is not clear if the r8169 is the issue or
> if simply triggers the problem. Suggestions:
> - use 2.6.10-rc4 + attached patch;
> - avoid binary modules as I don't support them;
> - if r8169 negociates 1000Mbps, use ethtool to limit it at 100Mbps;
> - save the content of /proc/interrupts and ifconfig output at regular
>   interval (say, at boot, after some ping -q -f -l 16 a.b.c.d and once
>   a mountpoint is hung);
> - avoid gcc 2.95.x;
> - when a mountpoint is hung, issue 'echo t > /proc/sysrq-trigger' and save
>   the kernel output. This assumes CONFIG_MAGIC_SYSRQ=y at build time and
>   kernel.sysrq = 1 in /etc/sysctl.conf.
>
> If you have a straight cable, two 8169 should be able to do the crossing
> themselves.
>
> --
> Ueimor

-- 

! 
 Willy Gardiol - willy@xxxxxxxxxxx
 www.gardiol.org
 +39 3492800983
 Use linux for MY freedom. 
 Your freedom may come as a side effect.

    "Era un mondo adulto,
     si sbagliava da professionisti"

      Paolo Conte, Boogie

Attachment: pgpm0zhY6aV8C.pgp
Description: PGP signature

<Prev in Thread] Current Thread [Next in Thread>