From mboxrd@z Thu Jan 1 00:00:00 1970 From: rebelyouth Subject: 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 Date: Fri, 22 Mar 2013 19:07:44 -0400 Message-ID: <514CE440.3010003@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit To: netdev@vger.kernel.org Return-path: Received: from mail-ia0-f180.google.com ([209.85.210.180]:50581 "EHLO mail-ia0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1422648Ab3CVXHz (ORCPT ); Fri, 22 Mar 2013 19:07:55 -0400 Received: by mail-ia0-f180.google.com with SMTP id f27so3942496iae.39 for ; Fri, 22 Mar 2013 16:07:55 -0700 (PDT) Sender: netdev-owner@vger.kernel.org List-ID: Hi, I'm writing again for the same issue about : Atheros Communications Inc. AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (rev b0) 1.0.0.7 md5 /sha1 corrupted using NFS and samba My solution in this past 7 months was one : don't use the chip (I also deactivate the chip from the BIOS) A friend of mine let me borrowed a pci-x with a Realtek RTL8168C/8111C. The card worked in any condition, no problem with nfs or samba. Unfortunately my friend need back the card for a project and I activated back the Atheros card...and the problem is still there I'm using at the moment a Debian sid with kernel 3.7.9 and a Chackra 2013 with kernel 3.7.6 and I see the atl1e is the same 1.0.0.7-NAPI : modinfo atl1e filename: /lib/modules/3.7.9-amd64/kernel/drivers/net/ethernet/atheros/atl1e/atl1e.ko version: 1.0.0.7-NAPI license: GPL description: Atheros 1000M Ethernet Network Driver author: Atheros Corporation, , Jie Yang srcversion: 440FEE0BD620C8D71C0B74A alias: pci:v00001969d00001066sv*sd*bc*sc*i* alias: pci:v00001969d00001026sv*sd*bc*sc*i* depends: intree: Y vermagic: 3.7.9-amd64 SMP preempt mod_unload modversions parm: tx_desc_cnt:Transmit description count (array of int) parm: rx_mem_size:memory size of rx buffer(KB) (array of int) parm: media_type:MediaType Select (array of int) parm: int_mod_timer:Interrupt Moderator Timer (array of int) I know the simple solution will be to buy a card with a different chip (like the Realtek RTL8168C/8111C) but I would like to help the community with this issue. The problem : files bigger of 1Gb are corrupted (and file 400mb + I get a corruption in the 75% of the cases) I don't receive any oops on the kernel or any dmesg error on the client side but the server receive a lot of errors in RX: RX packets:78125369 errors:58741 dropped:0 overruns:58741 frame:0 This are the test I did: I test the connection with another cable CAT 6e, tried another router, a switch and direct connection, also tried to connect another adapter to the server to see if the chipset on the server (Ethernet controller: NVIDIA Corporation MCP79 Ethernet (rev b1) ) was the one who send corrupt data or have a conflict with the atheros, but this, from my test, wasn't the case Software test: I'm using Nfs 4 with this setting on the server: /media 192.168.0.0/24(rw,fsid=0,no_subtree_check,sync) /media/disk 192.168.0.0/24(rw,nohide,insecure,no_subtree_check,sync) (tried async but doesn't fix the issue) on the client : 192.168.0.1:/ /nfs nfs4 defaults,users,_netdev 0 0 (tried rsize=32768,wsize=32768, async without success) I tried too copy large zero files (400mb, 1gb, 4gb,8gb ,16gb) and the sha1/md5 are ok if I try a iso or vdi or a video bigger on these above that the corruption occurs all the time, same issue if I use samba. I tried big DVD isos and separate files zip an rar and there are perfect in Windows, Freebsd and Mac OS X (samba,ftp,nfs) the ipconfig on the server showing is all ok Temp solution : 1) disable TSO with ethtool -K eth0 tso off NOT working (and not like the 80% in the previous email) 2) set the fstab on the nfs to use proto=udp working but samba files are still corrupted 3) with the usb adapter with Axis AX88772A I have no problem with nfs and samba with standard setting (the same setting I used with the Realtek RTL8168C/8111C) 4) I notice on https://bugzilla.kernel.org/show_bug.cgi?id=12282 the problem is present from a long time and several people wrote about this 5) I would like to want to know why windows have no problem with the chip : "It was interesting that I couldn't trigger this bug under Windows using the Asus driver supplied. That suggested that either it's a atl1e driver issue, or that the Windows driver provides some way to checksum the data in software that the atl1e driver doesn't, similar to the workaround Martin suggested in #18." is what the commenter wrote down on the Comment #21 From orion@frondeg.co.uk UPDATE: I did couple of test on the issue and this are the results: NFSv4 : file 8Gb ,16Gb ,32Gb TCP =speed 50 mb/s corrupted UDP = 48 mb/s File OK ethtool -K eth0 tso off / no udp = 50 mb corrupted FTP/SFTP tso off = 48 m/s File OK tso on = 50 mb/s File OK But in both I receive: Error: Incorrect MAC received on packet SAMBA 42 mb/s corrupted I tried also to set at 100mbs , speed is 5 times lower but the result are the same. Zero files are always ok. This is ethtool -k eth0 for the card: rx-checksumming: off [fixed] tx-checksumming: on tx-checksum-ipv4: off [fixed] tx-checksum-ip-generic: on tx-checksum-ipv6: off [fixed] tx-checksum-fcoe-crc: off [fixed] tx-checksum-sctp: off [fixed] scatter-gather: on tx-scatter-gather: on tx-scatter-gather-fraglist: off [fixed] tcp-segmentation-offload: on tx-tcp-segmentation: on tx-tcp-ecn-segmentation: off [fixed] tx-tcp6-segmentation: off [fixed] udp-fragmentation-offload: off [fixed] generic-segmentation-offload: on generic-receive-offload: on large-receive-offload: off [fixed] rx-vlan-offload: on tx-vlan-offload: on [fixed] ntuple-filters: off [fixed] receive-hashing: off [fixed] highdma: off [fixed] rx-vlan-filter: off [fixed] vlan-challenged: off [fixed] tx-lockless: on [fixed] netns-local: off [fixed] tx-gso-robust: off [fixed] tx-fcoe-segmentation: off [fixed] fcoe-mtu: off [fixed] tx-nocache-copy: on loopback: off [fixed] rx-fcs: off [fixed] rx-all: off [fixed] I tried to disable rx-checksumming and tx-checksumming and scatter-gatherd both on the client (Atheros) and server ( NVIDIA MCP79) but still the have the same issue. UPDATE 2: Today I bought a TP-LINK SOHO TG-3468, Gigabit PCIe Network Adapter 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06) Subsystem: Device 7470:3468 Flags: bus master, fast devsel, latency 0, IRQ 43 I/O ports at d800 [size=256] Memory at fbeff000 (64-bit, non-prefetchable) [size=4K] Memory at faffc000 (64-bit, prefetchable) [size=16K] Capabilities: Kernel driver in use: r8169 the card working without problem on NFSv4, SFTP/FTP ,Samba rx-checksumming: on tx-checksumming: on tx-checksum-ipv4: off tx-checksum-ip-generic: off [fixed] tx-checksum-ipv6: off [fixed] tx-checksum-fcoe-crc: off [fixed] tx-checksum-sctp: off [fixed] scatter-gather: off tx-scatter-gather: off tx-scatter-gather-fraglist: off [fixed] tcp-segmentation-offload: off tx-tcp-segmentation: off [requested on] tx-tcp-ecn-segmentation: off [fixed] tx-tcp6-segmentation: off [fixed] udp-fragmentation-offload: off [fixed] generic-segmentation-offload: off [requested on] generic-receive-offload: on large-receive-offload: off [fixed] rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off [fixed] receive-hashing: off [fixed] highdma: off [fixed] rx-vlan-filter: off [fixed] vlan-challenged: off [fixed] tx-lockless: off [fixed] netns-local: off [fixed] tx-gso-robust: off [fixed] tx-fcoe-segmentation: off [fixed] fcoe-mtu: off [fixed] tx-nocache-copy: off loopback: off [fixed] rx-fcs: off rx-all: off I did also the same test disabling and enabling rx-checksumming and tx- checksumming and scatter-gatherd tec and the file are ok. I saw the r8169.ko had problem in the past https://lkml.org/lkml/2012/6/8/41 but now look ok I hope these information will help to find the solution and I'm will available for others tests. Here my lspci -vvv: 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge Subsystem: Advanced Micro Devices [AMD] RS780 Host Bridge Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- 00:02.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (ext gfx port 0) (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- TAbort- Reset- FastB2B- PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- Capabilities: Kernel driver in use: pcieport 00:06.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 2) (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- TAbort- Reset- FastB2B- PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- Capabilities: Kernel driver in use: pcieport 00:11.0 SATA controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (prog-if 01 [AHCI 1.0]) Subsystem: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- Kernel driver in use: ahci 00:12.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (prog-if 10 [OHCI]) Subsystem: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR- TAbort- SERR- Kernel driver in use: ehci_hcd 00:13.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (prog-if 10 [OHCI]) Subsystem: Advanced Micro Devices [AMD] nee ATI Device 4398 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR- TAbort- SERR- Kernel driver in use: ehci_hcd 00:14.0 SMBus: Advanced Micro Devices [AMD] nee ATI SBx00 SMBus Controller (rev 3c) Subsystem: Advanced Micro Devices [AMD] nee ATI SBx00 SMBus Controller Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- 00:14.1 IDE interface: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 IDE Controller (prog-if 8a [Master SecP PriP]) Subsystem: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 IDE Controller Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- Kernel driver in use: pata_atiixp 00:14.2 Audio device: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) Subsystem: ASUSTeK Computer Inc. Device 8357 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- SERR- Kernel driver in use: snd_hda_intel 00:14.3 ISA bridge: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 LPC host controller Subsystem: Advanced Micro Devices [AMD] nee ATI Device 4383 Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR- TAbort- Reset- FastB2B- PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- 00:14.5 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (prog-if 10 [OHCI]) Subsystem: Advanced Micro Devices [AMD] nee ATI Device 4396 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR- 00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Address Map Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- TAbort- SERR- TAbort- SERR- Kernel driver in use: k10temp 00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Link Control Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- TAbort- SERR- Kernel driver in use: radeon 01:00.1 Audio device: Advanced Micro Devices [AMD] nee ATI Juniper HDMI Audio [Radeon HD 5700 Series] Subsystem: Micro-Star International Co., Ltd. Device aa58 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- Kernel driver in use: snd_hda_intel 02:00.0 Ethernet controller: Atheros Communications Inc. AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (rev b0) Subsystem: ASUSTeK Computer Inc. Device 831c Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- Kernel driver in use: ATL1E And the lsusb :Bus 001 Device 004: ID 0b95:772a ASIX Electronics Corp. AX88772A Fast Ethernet