Thread (46 messages) 46 messages, 5 authors, 2013-03-29

Re: Atheros Communications Inc. AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (rev b0) 1.0.0.7 md5/sha1 corrupted using NFS and samba (updated) Version 2

From: Sven Hartge <hidden>
Date: 2013-03-24 01:36:16

Hannes Frederic Sowa [off-list ref] wrote:
On Sun, Mar 24, 2013 at 01:36:33AM +0100, Sven Hartge wrote:
quoted
Hannes Frederic Sowa [off-list ref] wrote:
quoted
On Sat, Mar 23, 2013 at 12:54:25AM -0400, rebelyouth wrote:
quoted
I applied your patch on my the kernel 3.7.9 and look like the patch do 
what you said before :

"This does not solve the real problem, which I have not yet understood 
(wrong packets will be discarded now and will be hopefully resend). "

There are errors on the RX side of the server and the speed is 5~10% 
less but the files are ok in nfsv4 , SFTP/FTP and samba.

Maybe the Atheros drivers for windows had a patch for the checksum 
already in the drivers and the chipset  have some hardware bug, but for 
me your patch is already an achievement and I really thank you for your 
time and consideration.
quoted
The upstream driver (which is a tarball I found with google
AR81Family-linux-v1.0.1.14.tar.gz) has this function ifdefed out. I have
a couple of more things I want to test as soon as I have access to the
hardware again.  If I don't find a better solution I will submit a patch
which disables rx checksumming as a whole for inclusion to net-next.
I remember having the some problem with an atl1e chip on my Asus
PQ5-Pro. It would corrupt ethernet frames, resulting in dropped
connections when using SSH (bailing out with a HMAC crypto error) etc.

After some conversations with an Atheros engineer (Jie Yang
[off-list ref]) I got the following patch, which I applied for
some time to my local Debian kernel packages. It fixed the problem for
me, until I switched the board to a newer one.

As far as I understand, this patch rips out any checksumming function
and just advertises the chip as not using and providing any.
Yes, my patch does the same, just jumpes over the body of the function
and returns without updating the ip_summed field.
quoted
My mail archive indicates, this bug has been fixed in the upstream atl1e
driver since version l1c-linux-v1.0.0.11-test.tar.gz.
Yes, they ifdefed out the body of the function.
What we have found so far:
It seems packet content overwrites itself. We have not yet found a
pattern but it seems that some 16 bytes from the payload overwrite
other parts of the packet, even mulitple times (but the same 16 bytes
though).
I also checked freebsd. Hardware rx checksumming is disabled there and
we did not see any checksum errors in the stack. So I assume they
don't have this problem.
I understand from my conversation with Jie Yang, that he reproduced the
problem at Atheros and then decided to disable checksumming in the
driver. My guess would be that is some kind of confirmation this feature
is broken in that hardware and should not be used.

Grüße,
Sven.

-- 
Sigmentation fault. Core dumped.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help