All of lore.kernel.org
 help / color / mirror / Atom feed
* 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
@ 2013-03-22 23:07 rebelyouth
  2013-03-22 23:54 ` Eric Dumazet
  2013-03-23  0:01 ` Hannes Frederic Sowa
  0 siblings, 2 replies; 46+ messages in thread
From: rebelyouth @ 2013-03-22 23:07 UTC (permalink / raw)
  To: netdev

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, <xiong.huang@atheros.com>, Jie

Yang <jie.yang@atheros.com>

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: <access denied>

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- <TAbort- <MAbort+ >SERR- <PERR- INTx-

Latency: 0

Capabilities: <access denied>



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-

<TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 0, Cache Line Size: 64 bytes

Bus: primary=00, secondary=01, subordinate=01, sec-latency=0

I/O behind bridge: 0000d000-0000dfff

Memory behind bridge: fbe00000-fbefffff

Prefetchable memory behind bridge: 00000000d0000000-00000000dfffffff

Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-

<TAbort- <MAbort- <SERR- <PERR-

BridgeCtl: Parity+ SERR+ NoISA- VGA+ MAbort- >Reset- FastB2B-

PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-

Capabilities: <access denied>

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-

<TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 0, Cache Line Size: 64 bytes

Bus: primary=00, secondary=02, subordinate=02, sec-latency=0

I/O behind bridge: 0000e000-0000efff

Memory behind bridge: fbf00000-fbffffff

Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff

Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-

<TAbort- <MAbort- <SERR- <PERR-

BridgeCtl: Parity+ SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-

PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-

Capabilities: <access denied>

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- <TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 64, Cache Line Size: 64 bytes

Interrupt: pin A routed to IRQ 42

Region 0: I/O ports at c000 [size=8]

Region 1: I/O ports at b000 [size=4]

Region 2: I/O ports at a000 [size=8]

Region 3: I/O ports at 9000 [size=4]

Region 4: I/O ports at 8000 [size=16]

Region 5: Memory at fbdffc00 (32-bit, non-prefetchable) [size=1K]

Capabilities: <access denied>

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- <TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 64, Cache Line Size: 64 bytes

Interrupt: pin A routed to IRQ 16

Region 0: Memory at fbdfd000 (32-bit, non-prefetchable) [size=4K]

Kernel driver in use: ohci_hcd



00:12.1 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0 USB

OHCI1 Controller (prog-if 10 [OHCI])

Subsystem: Advanced Micro Devices [AMD] nee ATI SB7x0 USB

OHCI1 Controller

Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-

ParErr- Stepping- SERR+ FastB2B- DisINTx-

Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium

 >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 64, Cache Line Size: 64 bytes

Interrupt: pin A routed to IRQ 16

Region 0: Memory at fbdfe000 (32-bit, non-prefetchable) [size=4K]

Kernel driver in use: ohci_hcd



00:12.2 USB controller: Advanced Micro Devices [AMD] nee ATI

SB7x0/SB8x0/SB9x0 USB EHCI Controller (prog-if 20 [EHCI])

Subsystem: Advanced Micro Devices [AMD] nee ATI Device 4397

Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-

ParErr- Stepping- SERR+ FastB2B- DisINTx-

Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium

 >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 64, Cache Line Size: 64 bytes

Interrupt: pin B routed to IRQ 17

Region 0: Memory at fbdff800 (32-bit, non-prefetchable) [size=256]

Capabilities: <access denied>

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- <TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 64, Cache Line Size: 64 bytes

Interrupt: pin A routed to IRQ 18

Region 0: Memory at fbdfb000 (32-bit, non-prefetchable) [size=4K]

Kernel driver in use: ohci_hcd



00:13.1 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0 USB

OHCI1 Controller (prog-if 10 [OHCI])

Subsystem: Advanced Micro Devices [AMD] nee ATI Device 4399

Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-

ParErr- Stepping- SERR+ FastB2B- DisINTx-

Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium

 >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 64, Cache Line Size: 64 bytes

Interrupt: pin A routed to IRQ 18

Region 0: Memory at fbdfc000 (32-bit, non-prefetchable) [size=4K]

Kernel driver in use: ohci_hcd



00:13.2 USB controller: Advanced Micro Devices [AMD] nee ATI

SB7x0/SB8x0/SB9x0 USB EHCI Controller (prog-if 20 [EHCI])

Subsystem: Advanced Micro Devices [AMD] nee ATI

SB7x0/SB8x0/SB9x0 USB EHCI Controller

Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-

ParErr- Stepping- SERR+ FastB2B- DisINTx-

Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium

 >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 64, Cache Line Size: 64 bytes

Interrupt: pin B routed to IRQ 19

Region 0: Memory at fbdff400 (32-bit, non-prefetchable) [size=256]

Capabilities: <access denied>

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- <TAbort+ <MAbort- >SERR- <PERR- INTx-

Capabilities: <access denied>



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- <TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 64

Interrupt: pin A routed to IRQ 16

Region 0: I/O ports at 01f0 [size=8]

Region 1: I/O ports at 03f4 [size=1]

Region 2: I/O ports at 0170 [size=8]

Region 3: I/O ports at 0374 [size=1]

Region 4: I/O ports at ff00 [size=16]

Capabilities: <access denied>

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-

<TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 64, Cache Line Size: 64 bytes

Interrupt: pin A routed to IRQ 16

Region 0: Memory at fbdf4000 (64-bit, non-prefetchable) [size=16K]

Capabilities: <access denied>

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- <TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 0



00:14.4 PCI bridge: Advanced Micro Devices [AMD] nee ATI SBx00 PCI to

PCI Bridge (prog-if 01 [Subtractive decode])

Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-

ParErr- Stepping- SERR+ FastB2B- DisINTx-

Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium

 >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 64

Bus: primary=00, secondary=03, subordinate=03, sec-latency=64

I/O behind bridge: 0000f000-00000fff

Memory behind bridge: fff00000-000fffff

Prefetchable memory behind bridge: fff00000-000fffff

Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium

 >TAbort- <TAbort- <MAbort+ <SERR- <PERR-

BridgeCtl: Parity+ SERR+ NoISA+ VGA- MAbort- >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- <TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 64, Cache Line Size: 64 bytes

Interrupt: pin C routed to IRQ 18

Region 0: Memory at fbdfa000 (32-bit, non-prefetchable) [size=4K]

Kernel driver in use: ohci_hcd



00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor

HyperTransport Configuration

Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-

ParErr- Stepping- SERR- FastB2B- DisINTx-

Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-

<TAbort- <MAbort- >SERR- <PERR- INTx-

Capabilities: <access denied>



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-

<TAbort- <MAbort- >SERR- <PERR- INTx-



00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor

DRAM Controller

Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-

ParErr- Stepping- SERR- FastB2B- DisINTx-

Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-

<TAbort- <MAbort- >SERR- <PERR- INTx-



00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor

Miscellaneous Control

Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-

ParErr- Stepping- SERR- FastB2B- DisINTx-

Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-

<TAbort- <MAbort- >SERR- <PERR- INTx-

Capabilities: <access denied>

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-

<TAbort- <MAbort- >SERR- <PERR- INTx-



01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee

ATI Juniper [Radeon HD 5700 Series] (prog-if 00 [VGA controller])

Subsystem: Micro-Star International Co., Ltd. Device 2140

Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-

ParErr- Stepping- SERR+ FastB2B- DisINTx+

Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-

<TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 0, Cache Line Size: 64 bytes

Interrupt: pin A routed to IRQ 43

Region 0: Memory at d0000000 (64-bit, prefetchable) [size=256M]

Region 2: Memory at fbec0000 (64-bit, non-prefetchable) [size=128K]

Region 4: I/O ports at d000 [size=256]

Expansion ROM at fbea0000 [disabled] [size=128K]

Capabilities: <access denied>

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-

<TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 0, Cache Line Size: 64 bytes

Interrupt: pin B routed to IRQ 44

Region 0: Memory at fbefc000 (64-bit, non-prefetchable) [size=16K]

Capabilities: <access denied>

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-

<TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 0, Cache Line Size: 64 bytes

Interrupt: pin A routed to IRQ 45

Region 0: Memory at fbfc0000 (64-bit, non-prefetchable) [size=256K]

Region 2: I/O ports at ec00 [size=128]

Capabilities: <access denied>

Kernel driver in use: ATL1E





And the lsusb :Bus 001 Device 004: ID 0b95:772a ASIX Electronics Corp.

AX88772A Fast Ethernet

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-22 23:07 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 rebelyouth
@ 2013-03-22 23:54 ` Eric Dumazet
  2013-03-23  0:07   ` rebelyouth
  2013-03-23  0:01 ` Hannes Frederic Sowa
  1 sibling, 1 reply; 46+ messages in thread
From: Eric Dumazet @ 2013-03-22 23:54 UTC (permalink / raw)
  To: rebelyouth; +Cc: netdev

On Fri, 2013-03-22 at 19:07 -0400, rebelyouth wrote:
> Hi,
> 
> I'm writing again for the same issue about :
> 

Your mail is so long that we are lost.

Have you done some research to tell if the bug is :

1) Sending corrupt frames

2) receive corrupt frames

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-22 23:07 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 rebelyouth
  2013-03-22 23:54 ` Eric Dumazet
@ 2013-03-23  0:01 ` Hannes Frederic Sowa
  1 sibling, 0 replies; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-23  0:01 UTC (permalink / raw)
  To: rebelyouth; +Cc: netdev

On Fri, Mar 22, 2013 at 07:07:44PM -0400, rebelyouth wrote:
> 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-
> 
> <TAbort- <MAbort- >SERR- <PERR- INTx-
> 
> Latency: 0, Cache Line Size: 64 bytes
> 
> Interrupt: pin A routed to IRQ 45
> 
> Region 0: Memory at fbfc0000 (64-bit, non-prefetchable) [size=256K]
> 
> Region 2: I/O ports at ec00 [size=128]
> 
> Capabilities: <access denied>
> 
> Kernel driver in use: ATL1E

Could you show us the capabilities (running lspci -vv as root)? Please check
if ASPM is enabled and try to disable it in the BIOS.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-22 23:54 ` Eric Dumazet
@ 2013-03-23  0:07   ` rebelyouth
  2013-03-23  2:10     ` Hannes Frederic Sowa
  0 siblings, 1 reply; 46+ messages in thread
From: rebelyouth @ 2013-03-23  0:07 UTC (permalink / raw)
  To: netdev

On 22/03/13 07:54 PM, Eric Dumazet wrote:
> On Fri, 2013-03-22 at 19:07 -0400, rebelyouth wrote:
>> Hi,
>>
>> I'm writing again for the same issue about :
>>
> Your mail is so long that we are lost.
>
> Have you done some research to tell if the bug is :
>
> 1) Sending corrupt frames
>
> 2) receive corrupt frames
>
>
Hi Eric and Hannes,

The server receiver errors  when I use the atheros:

RX packets:78125369 errors:58741 dropped:0 overruns:58741 frame:0

but on the client side  there aren't any error but the file  is corrupted

I rebooted  the server and did the test with the Realtek:

  file ok , no errors in both sides

I also reset again the server and did a test on windows using samba and 
the Atheros:

  file ok , no errors in both sides

my lspci -vv

03: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- 
<TAbort- <MAbort- >SERR- <PERR- INTx-
         Latency: 0, Cache Line Size: 64 bytes
         Interrupt: pin A routed to IRQ 47
         Region 0: Memory at fbfc0000 (64-bit, non-prefetchable) [size=256K]
         Region 2: I/O ports at ec00 [size=128]
         Capabilities: [40] Power Management version 2
                 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot+,D3cold+)
                 Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
         Capabilities: [48] MSI: Enable+ Count=1/1 Maskable- 64bit+
                 Address: 00000000fee0f00c  Data: 4142
         Capabilities: [58] Express (v1) Endpoint, MSI 00
                 DevCap: MaxPayload 4096 bytes, PhantFunc 0, Latency L0s 
<4us, L1 unlimited
                         ExtTag- AttnBtn+ AttnInd+ PwrInd+ RBE- FLReset-
                 DevCtl: Report errors: Correctable- Non-Fatal- Fatal- 
Unsupported-
                         RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                         MaxPayload 128 bytes, MaxReadReq 512 bytes
                 DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ 
AuxPwr+ TransPend-
                 LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, 
Latency L0 unlimited, L1 unlimited
                         ClockPM- Surprise- LLActRep- BwNot-
                 LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
CommClk+
                         ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                 LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
DLActive- BWMgmt- ABWMgmt-
         Capabilities: [100 v1] Advanced Error Reporting
                 UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- 
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
                 UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- 
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                 UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- 
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                 CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- 
NonFatalErr-
                 CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- 
NonFatalErr-
                 AERCap: First Error Pointer: 14, GenCap+ CGenEn- 
ChkCap+ ChkEn-
         Capabilities: [180 v1] Device Serial Number ff-62-72-f5-00-26-18-ff


and for the ASPM:

[    0.407310] pci 0000:03:00.0: disabling ASPM on pre-1.1 PCIe device.  
You can enable it with 'pcie_aspm=force'
[    0.407800]  pci0000:00: ACPI _OSC support notification failed, 
disabling PCIe ASPM

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-23  0:07   ` rebelyouth
@ 2013-03-23  2:10     ` Hannes Frederic Sowa
  2013-03-23  4:54       ` rebelyouth
  0 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-23  2:10 UTC (permalink / raw)
  To: rebelyouth; +Cc: netdev

On Fri, Mar 22, 2013 at 08:07:22PM -0400, rebelyouth wrote:
> On 22/03/13 07:54 PM, Eric Dumazet wrote:
> >On Fri, 2013-03-22 at 19:07 -0400, rebelyouth wrote:
> >>Hi,
> >>
> >>I'm writing again for the same issue about :
> >>
> >Your mail is so long that we are lost.
> >
> >Have you done some research to tell if the bug is :
> >
> >1) Sending corrupt frames
> >
> >2) receive corrupt frames
> >
> >
> Hi Eric and Hannes,
> 
> The server receiver errors  when I use the atheros:
> 
> RX packets:78125369 errors:58741 dropped:0 overruns:58741 frame:0
> 
> but on the client side  there aren't any error but the file  is corrupted
> 
> I rebooted  the server and did the test with the Realtek:
> 
>  file ok , no errors in both sides
> 
> I also reset again the server and did a test on windows using samba and 
> the Atheros:
> 
>  file ok , no errors in both sides

Could you try this patch? It solves the problem with an atl1e nic on my
friends computer. This does not solve the real problem, which I have
not yet understood (wrong packets will be discarded now and will be
hopefully resend).

[PATCH RFC] atl1e: don't rely on hardware checksumming

Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
---
 drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
index e1f1b2a..0363e5b 100644
--- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
+++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
@@ -1337,6 +1337,8 @@ static inline void atl1e_rx_checksum(struct atl1e_adapter *adapter,
 	u16 err_flags;
 
 	skb_checksum_none_assert(skb);
+	goto hw_xsum;
+
 	pkt_flags = prrs->pkt_flag;
 	err_flags = prrs->err_flag;
 	if (((pkt_flags & RRS_IS_IPV4) || (pkt_flags & RRS_IS_IPV6)) &&
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* 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
  2013-03-23  2:10     ` Hannes Frederic Sowa
@ 2013-03-23  4:54       ` rebelyouth
  2013-03-23 15:06         ` Hannes Frederic Sowa
  0 siblings, 1 reply; 46+ messages in thread
From: rebelyouth @ 2013-03-23  4:54 UTC (permalink / raw)
  To: netdev

On 22/03/13 10:10 PM, Hannes Frederic Sowa wrote:
> On Fri, Mar 22, 2013 at 08:07:22PM -0400, rebelyouth wrote:
>> On 22/03/13 07:54 PM, Eric Dumazet wrote:
>>> On Fri, 2013-03-22 at 19:07 -0400, rebelyouth wrote:
>>>> Hi,
>>>>
>>>> I'm writing again for the same issue about :
>>>>
>>> Your mail is so long that we are lost.
>>>
>>> Have you done some research to tell if the bug is :
>>>
>>> 1) Sending corrupt frames
>>>
>>> 2) receive corrupt frames
>>>
>>>
>> Hi Eric and Hannes,
>>
>> The server receiver errors  when I use the atheros:
>>
>> RX packets:78125369 errors:58741 dropped:0 overruns:58741 frame:0
>>
>> but on the client side  there aren't any error but the file  is corrupted
>>
>> I rebooted  the server and did the test with the Realtek:
>>
>>   file ok , no errors in both sides
>>
>> I also reset again the server and did a test on windows using samba and
>> the Atheros:
>>
>>   file ok , no errors in both sides
> Could you try this patch? It solves the problem with an atl1e nic on my
> friends computer. This does not solve the real problem, which I have
> not yet understood (wrong packets will be discarded now and will be
> hopefully resend).
>
> [PATCH RFC] atl1e: don't rely on hardware checksumming
>
> Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
> ---
>   drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
> index e1f1b2a..0363e5b 100644
> --- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
> +++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
> @@ -1337,6 +1337,8 @@ static inline void atl1e_rx_checksum(struct atl1e_adapter *adapter,
>   	u16 err_flags;
>   
>   	skb_checksum_none_assert(skb);
> +	goto hw_xsum;
> +
>   	pkt_flags = prrs->pkt_flag;
>   	err_flags = prrs->err_flag;
>   	if (((pkt_flags & RRS_IS_IPV4) || (pkt_flags & RRS_IS_IPV6)) &&
Hi Hannes,

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.

You will upload  this patch to be included in the kernel? I hope so, a 
lot of people had problem with this issue before and will be fantastic 
if this fix will be included.

Thank you

Rebelyouth

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-23  4:54       ` rebelyouth
@ 2013-03-23 15:06         ` Hannes Frederic Sowa
  2013-03-24  0:36           ` Sven Hartge
  2013-03-24  1:07           ` Sven Hartge
  0 siblings, 2 replies; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-23 15:06 UTC (permalink / raw)
  To: rebelyouth; +Cc: netdev

On Sat, Mar 23, 2013 at 12:54:25AM -0400, rebelyouth wrote:
> 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.

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.

Thanks,

  Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-23 15:06         ` Hannes Frederic Sowa
@ 2013-03-24  0:36           ` Sven Hartge
  2013-03-24  1:26             ` Hannes Frederic Sowa
  2013-03-24  1:07           ` Sven Hartge
  1 sibling, 1 reply; 46+ messages in thread
From: Sven Hartge @ 2013-03-24  0:36 UTC (permalink / raw)
  To: netdev

Hannes Frederic Sowa <hannes@stressinduktion.org> wrote:
> On Sat, Mar 23, 2013 at 12:54:25AM -0400, rebelyouth wrote:
>> 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.

> 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
<Jie.Yang@Atheros.com>) 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.

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.

diff --git a/drivers/net/atl1e/atl1e_main.c b/drivers/net/atl1e/atl1e_main.c
index 9fc6d6d..73d44d5 100644
--- a/drivers/net/atl1e/atl1e_main.c
+++ b/drivers/net/atl1e/atl1e_main.c
@@ -1343,29 +1343,8 @@ static inline void atl1e_rx_checksum(struct atl1e_adapter *adapter,
 {
       u8 *packet = (u8 *)(prrs + 1);
       struct iphdr *iph;
-      u16 head_len = ETH_HLEN;
-      u16 pkt_flags;
-      u16 err_flags;
 
       skb->ip_summed = CHECKSUM_NONE;
-      pkt_flags = prrs->pkt_flag;
-      err_flags = prrs->err_flag;
-      if (((pkt_flags & RRS_IS_IPV4) || (pkt_flags & RRS_IS_IPV6)) &&
-              ((pkt_flags & RRS_IS_TCP) || (pkt_flags & RRS_IS_UDP))) {
-              if (pkt_flags & RRS_IS_IPV4) {
-                      if (pkt_flags & RRS_IS_802_3)
-                              head_len += 8;
-                      iph = (struct iphdr *) (packet + head_len);
-                      if (iph->frag_off != 0 && !(pkt_flags & RRS_IS_IP_DF))
-                              goto hw_xsum;
-              }
-              if (!(err_flags & (RRS_ERR_IP_CSUM | RRS_ERR_L4_CSUM))) {
-                      skb->ip_summed = CHECKSUM_UNNECESSARY;
-                      return;
-              }
-      }
-
-hw_xsum :
       return;
 }
 



-- 
Sigmentation fault. Core dumped.

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* 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
  2013-03-23 15:06         ` Hannes Frederic Sowa
  2013-03-24  0:36           ` Sven Hartge
@ 2013-03-24  1:07           ` Sven Hartge
  1 sibling, 0 replies; 46+ messages in thread
From: Sven Hartge @ 2013-03-24  1:07 UTC (permalink / raw)
  To: netdev

Hannes Frederic Sowa <hannes@stressinduktion.org> wrote:

> 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.

In addition to my other mail: Please have a look at Debian Bug #558426
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=558426> which is about
TSO and TCP/IPv6 on atl1e which had problems as well.

I wouldn't find it surprising if any offloading or hardware checksumming
is broken on that hardware.

Grüße,
Sven.

-- 
Sigmentation fault. Core dumped.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  0:36           ` Sven Hartge
@ 2013-03-24  1:26             ` Hannes Frederic Sowa
  2013-03-24  1:35               ` Sven Hartge
  0 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-24  1:26 UTC (permalink / raw)
  To: Sven Hartge; +Cc: netdev

On Sun, Mar 24, 2013 at 01:36:33AM +0100, Sven Hartge wrote:
> Hannes Frederic Sowa <hannes@stressinduktion.org> wrote:
> > On Sat, Mar 23, 2013 at 12:54:25AM -0400, rebelyouth wrote:
> >> 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.
> 
> > 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
> <Jie.Yang@Atheros.com>) 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.

> 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.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  1:26             ` Hannes Frederic Sowa
@ 2013-03-24  1:35               ` Sven Hartge
  2013-03-24  1:41                 ` Hannes Frederic Sowa
  0 siblings, 1 reply; 46+ messages in thread
From: Sven Hartge @ 2013-03-24  1:35 UTC (permalink / raw)
  To: netdev

Hannes Frederic Sowa <hannes@stressinduktion.org> wrote:
> On Sun, Mar 24, 2013 at 01:36:33AM +0100, Sven Hartge wrote:
>> Hannes Frederic Sowa <hannes@stressinduktion.org> wrote:
>> > On Sat, Mar 23, 2013 at 12:54:25AM -0400, rebelyouth wrote:
>> >> 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.
>> 
>> > 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
>> <Jie.Yang@Atheros.com>) 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.

>> 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.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  1:35               ` Sven Hartge
@ 2013-03-24  1:41                 ` Hannes Frederic Sowa
  2013-03-24  3:27                   ` Huang, Xiong
  0 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-24  1:41 UTC (permalink / raw)
  To: Sven Hartge; +Cc: netdev, Jie.Yang, xiong.huang

On Sun, Mar 24, 2013 at 02:35:11AM +0100, Sven Hartge wrote:
> Hannes Frederic Sowa <hannes@stressinduktion.org> wrote:
> > On Sun, Mar 24, 2013 at 01:36:33AM +0100, Sven Hartge wrote:
> >> Hannes Frederic Sowa <hannes@stressinduktion.org> wrote:
> >> > On Sat, Mar 23, 2013 at 12:54:25AM -0400, rebelyouth wrote:
> >> >> 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.
> >> 
> >> > 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
> >> <Jie.Yang@Atheros.com>) 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.
> 
> >> 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.

Added Jie Yang and Xiong Huang to Cc.

I don't know if checksumming is the cause of this problem. Perhaps the dma
transfers get corrupted and the data was correct in the card's buffers.

Greetings,

  Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  1:41                 ` Hannes Frederic Sowa
@ 2013-03-24  3:27                   ` Huang, Xiong
  2013-03-24  3:40                     ` Hannes Frederic Sowa
  0 siblings, 1 reply; 46+ messages in thread
From: Huang, Xiong @ 2013-03-24  3:27 UTC (permalink / raw)
  To: Hannes Frederic Sowa, Sven Hartge; +Cc: netdev

Could you point me where the patch is ? 
I checked windows driver, it doesn't disable checksum offload in RX direction.

Thanks
Xiong

> -----Original Message-----
> From: Hannes Frederic Sowa [mailto:hannes@stressinduktion.org]
> Sent: Sunday, March 24, 2013 9:41 AM
> To: Sven Hartge
> Cc: netdev@vger.kernel.org; Jie.Yang@Atheros.com; Huang, Xiong
> Subject: 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
> 
> On Sun, Mar 24, 2013 at 02:35:11AM +0100, Sven Hartge wrote:
> > Hannes Frederic Sowa <hannes@stressinduktion.org> wrote:
> > > On Sun, Mar 24, 2013 at 01:36:33AM +0100, Sven Hartge wrote:
> > >> Hannes Frederic Sowa <hannes@stressinduktion.org> wrote:
> > >> > On Sat, Mar 23, 2013 at 12:54:25AM -0400, rebelyouth wrote:
> > >> >> 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.
> > >>
> > >> > 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
> > >> <Jie.Yang@Atheros.com>) 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.
> >
> > >> 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.
> 
> Added Jie Yang and Xiong Huang to Cc.
> 
> I don't know if checksumming is the cause of this problem. Perhaps the dma
> transfers get corrupted and the data was correct in the card's buffers.
> 
> Greetings,
> 
>   Hannes


^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  3:27                   ` Huang, Xiong
@ 2013-03-24  3:40                     ` Hannes Frederic Sowa
  2013-03-24  4:21                       ` Huang, Xiong
  0 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-24  3:40 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

On Sun, Mar 24, 2013 at 03:27:55AM +0000, Huang, Xiong wrote:
> Could you point me where the patch is ? 
> I checked windows driver, it doesn't disable checksum offload in RX direction.


The patch is here: <http://article.gmane.org/gmane.linux.network/263116>

It does not disable checksum offloading but rather suppress the update of the
ip_summed field. This forces the kernel to recheck the checksums and discard
the packet. Otherwise it would be seen as a valid one and could corrupt data
streams.

Thanks,

  Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  3:40                     ` Hannes Frederic Sowa
@ 2013-03-24  4:21                       ` Huang, Xiong
  2013-03-24  4:37                         ` Hannes Frederic Sowa
  0 siblings, 1 reply; 46+ messages in thread
From: Huang, Xiong @ 2013-03-24  4:21 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev

I know that from some version of chips, there is a DMA bug that can't be fixed by software, and this bug could be detected by checking Sequence number, and do MAC reset.
Besides, the chip wrongly indicate rx-checksum for IP-fragment packet, I checked windows code, it seems a little bit different with linux code:

	if (((pkt_flags & RRS_IS_IPV4) && ((pkt_flags & RRS_IS_TCP) || (pkt_flags & RRS_IS_UDP))) {
		if (pkt_flags & RRS_IS_802_3)
			head_len += 8;
		iph = (struct iphdr *) (packet + head_len);
		if ((iph->frag_off != 0 || (pkt_flags & RRS_IS_IP_FRAG))  && !(pkt_flags & RRS_IS_IP_DF))
			goto hw_xsum;			
	}
	if (!(err_flags & (RRS_ERR_IP_CSUM | RRS_ERR_L4_CSUM))) {
		skb->ip_summed = CHECKSUM_UNNECESSARY;
		return;
	}



Thanks
Xiong

> -----Original Message-----
> From: Hannes Frederic Sowa [mailto:hannes@stressinduktion.org]
> Sent: Sunday, March 24, 2013 11:41 AM
> To: Huang, Xiong
> Cc: Sven Hartge; netdev@vger.kernel.org
> Subject: 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
> 
> On Sun, Mar 24, 2013 at 03:27:55AM +0000, Huang, Xiong wrote:
> > Could you point me where the patch is ?
> > I checked windows driver, it doesn't disable checksum offload in RX
> direction.
> 
> 
> The patch is here: <http://article.gmane.org/gmane.linux.network/263116>
> 
> It does not disable checksum offloading but rather suppress the update of
> the ip_summed field. This forces the kernel to recheck the checksums and
> discard the packet. Otherwise it would be seen as a valid one and could
> corrupt data streams.
> 
> Thanks,
> 
>   Hannes


^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  4:21                       ` Huang, Xiong
@ 2013-03-24  4:37                         ` Hannes Frederic Sowa
  2013-03-24  4:54                           ` Huang, Xiong
  0 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-24  4:37 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

On Sun, Mar 24, 2013 at 04:21:27AM +0000, Huang, Xiong wrote:
> I know that from some version of chips, there is a DMA bug that can't be fixed by software, and this bug could be detected by checking Sequence number, and do MAC reset.
> Besides, the chip wrongly indicate rx-checksum for IP-fragment packet, I checked windows code, it seems a little bit different with linux code:

Thanks, I will have a closer look at it tomorrow.

> 
> 	if (((pkt_flags & RRS_IS_IPV4) && ((pkt_flags & RRS_IS_TCP) || (pkt_flags & RRS_IS_UDP))) {
> 		if (pkt_flags & RRS_IS_802_3)
> 			head_len += 8;
> 		iph = (struct iphdr *) (packet + head_len);
> 		if ((iph->frag_off != 0 || (pkt_flags & RRS_IS_IP_FRAG))  && !(pkt_flags & RRS_IS_IP_DF))
> 			goto hw_xsum;			
> 	}
> 	if (!(err_flags & (RRS_ERR_IP_CSUM | RRS_ERR_L4_CSUM))) {
> 		skb->ip_summed = CHECKSUM_UNNECESSARY;
> 		return;
> 	}

Btw the captured corrupted packets are ordinary non-fragmented TCP IPv4
packets. But perhaps these flags are dual-use?

Thanks for looking into it,

  Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  4:37                         ` Hannes Frederic Sowa
@ 2013-03-24  4:54                           ` Huang, Xiong
  2013-03-24  5:13                             ` Hannes Frederic Sowa
  0 siblings, 1 reply; 46+ messages in thread
From: Huang, Xiong @ 2013-03-24  4:54 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev


> 
> >
> > 	if (((pkt_flags & RRS_IS_IPV4) && ((pkt_flags & RRS_IS_TCP) ||
> (pkt_flags & RRS_IS_UDP))) {
> > 		if (pkt_flags & RRS_IS_802_3)
> > 			head_len += 8;
> > 		iph = (struct iphdr *) (packet + head_len);
> > 		if ((iph->frag_off != 0 || (pkt_flags & RRS_IS_IP_FRAG))
> && !(pkt_flags & RRS_IS_IP_DF))
> > 			goto hw_xsum;
> > 	}
> > 	if (!(err_flags & (RRS_ERR_IP_CSUM | RRS_ERR_L4_CSUM))) {
> > 		skb->ip_summed = CHECKSUM_UNNECESSARY;
> > 		return;
> > 	}
> 
> Btw the captured corrupted packets are ordinary non-fragmented TCP IPv4
> packets. But perhaps these flags are dual-use?
> 
Not dual-use.  You could check  flags for corrupted packets and compare it with good packet.
Your corrupted packet is just TCP checksum error ?

Thanks
Xiong


^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  4:54                           ` Huang, Xiong
@ 2013-03-24  5:13                             ` Hannes Frederic Sowa
  2013-03-24  5:16                               ` Huang, Xiong
  0 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-24  5:13 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

On Sun, Mar 24, 2013 at 04:54:46AM +0000, Huang, Xiong wrote:
> 
> > 
> > >
> > > 	if (((pkt_flags & RRS_IS_IPV4) && ((pkt_flags & RRS_IS_TCP) ||
> > (pkt_flags & RRS_IS_UDP))) {
> > > 		if (pkt_flags & RRS_IS_802_3)
> > > 			head_len += 8;
> > > 		iph = (struct iphdr *) (packet + head_len);
> > > 		if ((iph->frag_off != 0 || (pkt_flags & RRS_IS_IP_FRAG))
> > && !(pkt_flags & RRS_IS_IP_DF))
> > > 			goto hw_xsum;
> > > 	}
> > > 	if (!(err_flags & (RRS_ERR_IP_CSUM | RRS_ERR_L4_CSUM))) {
> > > 		skb->ip_summed = CHECKSUM_UNNECESSARY;
> > > 		return;
> > > 	}
> > 
> > Btw the captured corrupted packets are ordinary non-fragmented TCP IPv4
> > packets. But perhaps these flags are dual-use?
> > 
> Not dual-use.  You could check  flags for corrupted packets and compare it with good packet.
> Your corrupted packet is just TCP checksum error ?

I'll try it.

The caputered packets show that a 16 byte segment overwrites later data in the
same packet, sometimes even multiple contiguous 16 byte segments.

The corrupted packets look like this:

...ABC....DBBEF..

Each character represents a 16 byte region, the dots are dont-care
placeholders. The BB-region is overwritten by the data of the first
B-region.

Thanks,

  Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  5:13                             ` Hannes Frederic Sowa
@ 2013-03-24  5:16                               ` Huang, Xiong
  2013-03-24  5:23                                 ` Hannes Frederic Sowa
  0 siblings, 1 reply; 46+ messages in thread
From: Huang, Xiong @ 2013-03-24  5:16 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev

> > >
> > > Btw the captured corrupted packets are ordinary non-fragmented TCP
> > > IPv4 packets. But perhaps these flags are dual-use?
> > >
> > Not dual-use.  You could check  flags for corrupted packets and compare it
> with good packet.
> > Your corrupted packet is just TCP checksum error ?
> 
> I'll try it.
> 
> The caputered packets show that a 16 byte segment overwrites later data in
> the same packet, sometimes even multiple contiguous 16 byte segments.
> 
> The corrupted packets look like this:
> 
> ...ABC....DBBEF..
> 
> Each character represents a 16 byte region, the dots are dont-care
> placeholders. The BB-region is overwritten by the data of the first B-region.
> 

It looks like a DMA issue. Not checksum related. :(


Xiong


^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  5:16                               ` Huang, Xiong
@ 2013-03-24  5:23                                 ` Hannes Frederic Sowa
  2013-03-24  5:42                                   ` Huang, Xiong
  2013-03-24  6:12                                   ` Huang, Xiong
  0 siblings, 2 replies; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-24  5:23 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

On Sun, Mar 24, 2013 at 05:16:03AM +0000, Huang, Xiong wrote:
> > > >
> > > > Btw the captured corrupted packets are ordinary non-fragmented TCP
> > > > IPv4 packets. But perhaps these flags are dual-use?
> > > >
> > > Not dual-use.  You could check  flags for corrupted packets and compare it
> > with good packet.
> > > Your corrupted packet is just TCP checksum error ?
> > 
> > I'll try it.
> > 
> > The caputered packets show that a 16 byte segment overwrites later data in
> > the same packet, sometimes even multiple contiguous 16 byte segments.
> > 
> > The corrupted packets look like this:
> > 
> > ...ABC....DBBEF..
> > 
> > Each character represents a 16 byte region, the dots are dont-care
> > placeholders. The BB-region is overwritten by the data of the first B-region.
> > 
> 
> It looks like a DMA issue. Not checksum related. :(

Yes, I think so, too. Until this is resolved I would propose to not set
CHECKSUM_UNNECESSARY because it could corrupt data (like for the original
poster).

Do you have any idea where how these errors could be resolved? I e.g. could
not reproduce it with FreeBSD and the driver seems to be related to the linux
driver.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  5:23                                 ` Hannes Frederic Sowa
@ 2013-03-24  5:42                                   ` Huang, Xiong
  2013-03-24 17:22                                     ` Eric Dumazet
                                                       ` (2 more replies)
  2013-03-24  6:12                                   ` Huang, Xiong
  1 sibling, 3 replies; 46+ messages in thread
From: Huang, Xiong @ 2013-03-24  5:42 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev

> > >
> > > The caputered packets show that a 16 byte segment overwrites later
> > > data in the same packet, sometimes even multiple contiguous 16 byte
> segments.
> > >
> > > The corrupted packets look like this:
> > >
> > > ...ABC....DBBEF..
> > >
> > > Each character represents a 16 byte region, the dots are dont-care
> > > placeholders. The BB-region is overwritten by the data of the first B-
> region.
> > >
> >
> > It looks like a DMA issue. Not checksum related. :(
> 
> Yes, I think so, too. Until this is resolved I would propose to not set
> CHECKSUM_UNNECESSARY because it could corrupt data (like for the original
> poster).
> 
> Do you have any idea where how these errors could be resolved? I e.g. could
> not reproduce it with FreeBSD and the driver seems to be related to the linux
> driver.

1.  pages cross 4GB bouandary ?  or overlap with each other ?
2. try to set hw->dmaw_block = atl1e_dma_req_128 
3. can you print reg15C0 content when the NIC is in normal tx/rx status ?
4. other possible may be related the diff register configuration, but it's very difficult to compare with Windows driver :(  

Thanks
Xiong

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  5:23                                 ` Hannes Frederic Sowa
  2013-03-24  5:42                                   ` Huang, Xiong
@ 2013-03-24  6:12                                   ` Huang, Xiong
  2013-03-24 17:24                                     ` Hannes Frederic Sowa
  1 sibling, 1 reply; 46+ messages in thread
From: Huang, Xiong @ 2013-03-24  6:12 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev

And try to use following code to replace atl1c_configure_dma

static inline void atl1e_configure_dma(struct atl1e_adapter *adapter)
{
	struct atl1e_hw *hw = &adapter->hw;
	u32 dma_ctrl_data;

	dma_ctrl_data = DMA_CTRL_RXCMB_EN | 0x400000;
	dma_ctrl_data |= (((u32)hw->dmar_block) & DMA_CTRL_DMAR_BURST_LEN_MASK)
		<< DMA_CTRL_DMAR_BURST_LEN_SHIFT;
	dma_ctrl_data |= (((u32)hw->dmaw_block) & DMA_CTRL_DMAW_BURST_LEN_MASK)
		<< DMA_CTRL_DMAW_BURST_LEN_SHIFT;
	dma_ctrl_data |= DMA_CTRL_DMAR_REQ_PRI | DMA_CTRL_DMAR_OUT_ORDER;
	dma_ctrl_data |= (((u32)hw->dmar_dly_cnt) & DMA_CTRL_DMAR_DLY_CNT_MASK)
		<< DMA_CTRL_DMAR_DLY_CNT_SHIFT;
	dma_ctrl_data |= (((u32)hw->dmaw_dly_cnt) & DMA_CTRL_DMAW_DLY_CNT_MASK)
		<< DMA_CTRL_DMAW_DLY_CNT_SHIFT;

	AT_WRITE_REG(hw, REG_DMA_CTRL, dma_ctrl_data);
	return;
}


Thanks
Xiong

> -----Original Message-----
> From: Huang, Xiong
> Sent: Sunday, March 24, 2013 1:43 PM
> To: 'Hannes Frederic Sowa'
> Cc: Sven Hartge; netdev@vger.kernel.org
> Subject: 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
> 
> > > >
> > > > The caputered packets show that a 16 byte segment overwrites later
> > > > data in the same packet, sometimes even multiple contiguous 16
> > > > byte
> > segments.
> > > >
> > > > The corrupted packets look like this:
> > > >
> > > > ...ABC....DBBEF..
> > > >
> > > > Each character represents a 16 byte region, the dots are dont-care
> > > > placeholders. The BB-region is overwritten by the data of the
> > > > first B-
> > region.
> > > >
> > >
> > > It looks like a DMA issue. Not checksum related. :(
> >
> > Yes, I think so, too. Until this is resolved I would propose to not
> > set CHECKSUM_UNNECESSARY because it could corrupt data (like for the
> > original poster).
> >
> > Do you have any idea where how these errors could be resolved? I e.g.
> > could not reproduce it with FreeBSD and the driver seems to be related
> > to the linux driver.
> 
> 1.  pages cross 4GB bouandary ?  or overlap with each other ?
> 2. try to set hw->dmaw_block = atl1e_dma_req_128 3. can you print reg15C0
> content when the NIC is in normal tx/rx status ?
> 4. other possible may be related the diff register configuration, but it's very
> difficult to compare with Windows driver :(
> 
> Thanks
> Xiong

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  5:42                                   ` Huang, Xiong
@ 2013-03-24 17:22                                     ` Eric Dumazet
  2013-03-24 17:38                                       ` Hannes Frederic Sowa
  2013-03-24 17:23                                     ` Hannes Frederic Sowa
  2013-03-26  4:27                                     ` Hannes Frederic Sowa
  2 siblings, 1 reply; 46+ messages in thread
From: Eric Dumazet @ 2013-03-24 17:22 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Hannes Frederic Sowa, Sven Hartge, netdev

On Sun, 2013-03-24 at 05:42 +0000, Huang, Xiong wrote:

> 1.  pages cross 4GB bouandary ?  or overlap with each other ?

Normally this should not happen.

However the frame could span two 4K pages.

(physically contigous, and not spanning a 32K boundary)

> 2. try to set hw->dmaw_block = atl1e_dma_req_128 
> 3. can you print reg15C0 content when the NIC is in normal tx/rx status ?
> 4. other possible may be related the diff register configuration, but it's very difficult to compare with Windows driver :(  
> 

What could be tried is to remove the possibility of page spanning.

diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 441f5bf..d0f4dd1 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -1849,7 +1849,7 @@ static inline void __skb_queue_purge(struct sk_buff_head *list)
 		kfree_skb(skb);
 }
 
-#define NETDEV_FRAG_PAGE_MAX_ORDER get_order(32768)
+#define NETDEV_FRAG_PAGE_MAX_ORDER 0
 #define NETDEV_FRAG_PAGE_MAX_SIZE  (PAGE_SIZE << NETDEV_FRAG_PAGE_MAX_ORDER)
 #define NETDEV_PAGECNT_MAX_BIAS	   NETDEV_FRAG_PAGE_MAX_SIZE
 

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  5:42                                   ` Huang, Xiong
  2013-03-24 17:22                                     ` Eric Dumazet
@ 2013-03-24 17:23                                     ` Hannes Frederic Sowa
  2013-03-25 16:30                                       ` Hannes Frederic Sowa
  2013-03-26  4:27                                     ` Hannes Frederic Sowa
  2 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-24 17:23 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

On Sun, Mar 24, 2013 at 05:42:41AM +0000, Huang, Xiong wrote:
> > > >
> > > > The caputered packets show that a 16 byte segment overwrites later
> > > > data in the same packet, sometimes even multiple contiguous 16 byte
> > segments.
> > > >
> > > > The corrupted packets look like this:
> > > >
> > > > ...ABC....DBBEF..
> > > >
> > > > Each character represents a 16 byte region, the dots are dont-care
> > > > placeholders. The BB-region is overwritten by the data of the first B-
> > region.
> > > >
> > >
> > > It looks like a DMA issue. Not checksum related. :(
> > 
> > Yes, I think so, too. Until this is resolved I would propose to not set
> > CHECKSUM_UNNECESSARY because it could corrupt data (like for the original
> > poster).
> > 
> > Do you have any idea where how these errors could be resolved? I e.g. could
> > not reproduce it with FreeBSD and the driver seems to be related to the linux
> > driver.
> 
> 1.  pages cross 4GB bouandary ?  or overlap with each other ?

This should not be the case.

> 2. try to set hw->dmaw_block = atl1e_dma_req_128 

Sorry, we can still reproduce corrupted frames with this change.

> 3. can you print reg15C0 content when the NIC is in normal tx/rx status ?

Yes, dma register is reg15C0 == 0x247c24 all the time (vanilla kernel without
any of your proposed changes).

Couldn't this also be because of a timing issue? It does take much more time
on slower machines(eeepc) to reproduce this issue. On a normal desktop machine it
does nearly occur instantaneous.

Thanks,

  Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  6:12                                   ` Huang, Xiong
@ 2013-03-24 17:24                                     ` Hannes Frederic Sowa
  0 siblings, 0 replies; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-24 17:24 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

On Sun, Mar 24, 2013 at 06:12:08AM +0000, Huang, Xiong wrote:
> And try to use following code to replace atl1c_configure_dma
> 
> static inline void atl1e_configure_dma(struct atl1e_adapter *adapter)
> {
> 	struct atl1e_hw *hw = &adapter->hw;
> 	u32 dma_ctrl_data;
> 
> 	dma_ctrl_data = DMA_CTRL_RXCMB_EN | 0x400000;
> 	dma_ctrl_data |= (((u32)hw->dmar_block) & DMA_CTRL_DMAR_BURST_LEN_MASK)
> 		<< DMA_CTRL_DMAR_BURST_LEN_SHIFT;
> 	dma_ctrl_data |= (((u32)hw->dmaw_block) & DMA_CTRL_DMAW_BURST_LEN_MASK)
> 		<< DMA_CTRL_DMAW_BURST_LEN_SHIFT;
> 	dma_ctrl_data |= DMA_CTRL_DMAR_REQ_PRI | DMA_CTRL_DMAR_OUT_ORDER;
> 	dma_ctrl_data |= (((u32)hw->dmar_dly_cnt) & DMA_CTRL_DMAR_DLY_CNT_MASK)
> 		<< DMA_CTRL_DMAR_DLY_CNT_SHIFT;
> 	dma_ctrl_data |= (((u32)hw->dmaw_dly_cnt) & DMA_CTRL_DMAW_DLY_CNT_MASK)
> 		<< DMA_CTRL_DMAW_DLY_CNT_SHIFT;
> 
> 	AT_WRITE_REG(hw, REG_DMA_CTRL, dma_ctrl_data);
> 	return;
> }

Also no change. Corrupted frames still occur.

Thanks,

  Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24 17:22                                     ` Eric Dumazet
@ 2013-03-24 17:38                                       ` Hannes Frederic Sowa
  0 siblings, 0 replies; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-24 17:38 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Huang, Xiong, Sven Hartge, netdev

On Sun, Mar 24, 2013 at 10:22:48AM -0700, Eric Dumazet wrote:
> What could be tried is to remove the possibility of page spanning.
> 
> diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
> index 441f5bf..d0f4dd1 100644
> --- a/include/linux/skbuff.h
> +++ b/include/linux/skbuff.h
> @@ -1849,7 +1849,7 @@ static inline void __skb_queue_purge(struct sk_buff_head *list)
>  		kfree_skb(skb);
>  }
>  
> -#define NETDEV_FRAG_PAGE_MAX_ORDER get_order(32768)
> +#define NETDEV_FRAG_PAGE_MAX_ORDER 0
>  #define NETDEV_FRAG_PAGE_MAX_SIZE  (PAGE_SIZE << NETDEV_FRAG_PAGE_MAX_ORDER)
>  #define NETDEV_PAGECNT_MAX_BIAS	   NETDEV_FRAG_PAGE_MAX_SIZE

Doesn't change anything. :(

We tested it on a v3.8 kernel so I changed the definition in
net/core/skbuff.c. I hope this doesn't change the outcome.

Btw, reports about this bug are dating back to 2008 so I don't think
that a recent change in the kernel broke it.

Thanks,

  Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24 17:23                                     ` Hannes Frederic Sowa
@ 2013-03-25 16:30                                       ` Hannes Frederic Sowa
  0 siblings, 0 replies; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-25 16:30 UTC (permalink / raw)
  To: Huang, Xiong, Sven Hartge, netdev

On Sun, Mar 24, 2013 at 06:23:04PM +0100, Hannes Frederic Sowa wrote:
> > 2. try to set hw->dmaw_block = atl1e_dma_req_128 
> 
> Sorry, we can still reproduce corrupted frames with this change.

In atl1e_main.c

    940         max_pay_load  = ((dev_ctrl_data >> DEVICE_CTRL_MAX_PAYLOAD_SHIFT)) &
    941                         DEVICE_CTRL_MAX_PAYLOAD_MASK;
    942 
    943         hw->dmaw_block = min_t(u32, max_pay_load, hw->dmaw_block);

the value dmaw_block always gets reset to 0 on my machine. I forced it
to use atl1e_dma_req_1024 as it seems intended. But no change either.

Thanks,

  Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-24  5:42                                   ` Huang, Xiong
  2013-03-24 17:22                                     ` Eric Dumazet
  2013-03-24 17:23                                     ` Hannes Frederic Sowa
@ 2013-03-26  4:27                                     ` Hannes Frederic Sowa
  2013-03-26  4:34                                       ` Huang, Xiong
  2 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-26  4:27 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

Hello!

On Sun, Mar 24, 2013 at 05:42:41AM +0000, Huang, Xiong wrote:
> 2. try to set hw->dmaw_block = atl1e_dma_req_128 
> 3. can you print reg15C0 content when the NIC is in normal tx/rx status ?
> 4. other possible may be related the diff register configuration, but it's very difficult to compare with Windows driver :(  

I just wanted to share some more debug information. Perhaps it can help.

Thanks,

  Hannes

cat /proc/iomem  | grep -i atl1e
      fbfc0000-fbffffff : ATL1E

grep -i atl1e /proc/ioports 
      ec80-ecff : ATL1E

This is a mmiotrace while loading the atl1e module (I switched addresses with
register names):

VERSION 20070824
PCIDEV 0000 808627ac 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 agpgart-intel
PCIDEV 0010 808627ae 10 f7f00000 dc81 d0000008 f7ec0000 0 0 2 80000 8 10000000 40000 0 0 0 i915
PCIDEV 0011 808627a6 0 f7f80000 0 0 0 0 0 0 80000 0 0 0 0 0 0 
PCIDEV 00d8 808627d8 2c f7eb8004 0 0 0 0 0 0 4000 0 0 0 0 0 0 snd_hda_intel
PCIDEV 00e0 808627d0 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 pcieport
PCIDEV 00e1 808627d2 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 pcieport
PCIDEV 00e2 808627d4 2a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 pcieport
PCIDEV 00e3 808627d6 2b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 pcieport
PCIDEV 00e8 808627c8 17 0 0 0 0 d481 0 0 0 0 0 0 20 0 0 uhci_hcd
PCIDEV 00e9 808627c9 13 0 0 0 0 d801 0 0 0 0 0 0 20 0 0 uhci_hcd
PCIDEV 00ea 808627ca 12 0 0 0 0 d881 0 0 0 0 0 0 20 0 0 uhci_hcd
PCIDEV 00eb 808627cb 10 0 0 0 0 dc01 0 0 0 0 0 0 20 0 0 uhci_hcd
PCIDEV 00ef 808627cc 17 f7eb7c00 0 0 0 0 0 0 400 0 0 0 0 0 0 ehci-pci
PCIDEV 00f0 80862448 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
PCIDEV 00f8 808627b9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 lpc_ich
PCIDEV 00fa 808627c4 13 1f0 3f6 170 376 ffa1 0 0 8 0 8 0 10 0 0 ata_piix
PCIDEV 00fb 808627da 13 0 0 0 0 401 0 0 0 0 0 0 20 0 0 
PCIDEV 0400 19691026 11 fbfc0004 0 ec81 0 0 0 0 40000 0 80 0 0 0 0 
PCIDEV 0100 18140781 13 fbef0000 0 0 0 0 0 0 10000 0 0 0 0 0 0 rt2800pci
MAP 92.014984 1 0xfbfc0000 0xf8800000 0x40000 0x0 0
R 4 92.016677 1 REG_PHY_STATUS 0x84050000 0x0 0
R 4 92.016695 1 REG_PHY_STATUS 0x84050000 0x0 0
W 2 92.016700 1 REG_GPHY_CTRL 0x3c00 0x0 0
W 2 92.019695 1 REG_GPHY_CTRL 0x3c01 0x0 0
W 4 92.022635 1 REG_MDIO_CTRL 0xdd000b 0x0 0
R 4 92.022654 1 REG_MDIO_CTRL 0x5d000b 0x0 0
W 4 92.022658 1 REG_MDIO_CTRL 0xdebc00 0x0 0
R 4 92.022666 1 REG_MDIO_CTRL 0x5ebc00 0x0 0
W 4 92.022670 1 REG_MDIO_CTRL 0xdd0000 0x0 0
R 4 92.022678 1 REG_MDIO_CTRL 0x5d0000 0x0 0
W 4 92.022682 1 REG_MDIO_CTRL 0xde02ef 0x0 0
R 4 92.022690 1 REG_MDIO_CTRL 0x5e02ef 0x0 0
W 4 92.022694 1 REG_MDIO_CTRL 0xdd0012 0x0 0
R 4 92.022701 1 REG_MDIO_CTRL 0x85d0012 0x0 0
R 4 92.022709 1 REG_MDIO_CTRL 0x5d0012 0x0 0
W 4 92.022713 1 REG_MDIO_CTRL 0xde4c04 0x0 0
R 4 92.022721 1 REG_MDIO_CTRL 0x5e4c04 0x0 0
W 4 92.022725 1 REG_MDIO_CTRL 0xdd0004 0x0 0
R 4 92.022732 1 REG_MDIO_CTRL 0x85d0004 0x0 0
R 4 92.022740 1 REG_MDIO_CTRL 0x5d0004 0x0 0
W 4 92.022744 1 REG_MDIO_CTRL 0xde8bbb 0x0 0
R 4 92.022752 1 REG_MDIO_CTRL 0x85e8bbb 0x0 0
R 4 92.022759 1 REG_MDIO_CTRL 0x5e8bbb 0x0 0
W 4 92.022763 1 REG_MDIO_CTRL 0xdd0005 0x0 0
R 4 92.022771 1 REG_MDIO_CTRL 0x5d0005 0x0 0
W 4 92.022775 1 REG_MDIO_CTRL 0xde2c46 0x0 0
R 4 92.022782 1 REG_MDIO_CTRL 0x85e2c46 0x0 0
R 4 92.022790 1 REG_MDIO_CTRL 0x5e2c46 0x0 0
W 4 92.024634 1 REG_MDIO_CTRL 0xd20c00 0x0 0
R 4 92.024652 1 REG_MDIO_CTRL 0x520c00 0x0 0
W 4 92.024656 1 REG_MDIO_CTRL 0xc40de0 0x0 0
R 4 92.024664 1 REG_MDIO_CTRL 0x440de0 0x0 0
W 4 92.024668 1 REG_MDIO_CTRL 0xc90000 0x0 0
R 4 92.024676 1 REG_MDIO_CTRL 0x490000 0x0 0
W 4 92.024680 1 REG_MDIO_CTRL 0xc09200 0x0 0
R 4 92.024687 1 REG_MDIO_CTRL 0x409200 0x0 0
W 4 92.024698 1 REG_MASTER_CTRL 0x201 0x0 0
R 4 92.026635 1 REG_IDLE_STATUS 0x0 0x0 0
R 4 92.026651 1 REG_SPI_FLASH_CTRL 0x0 0x0 0
R 2 92.026657 1 REG_PCIE_CAP_LIST 0x6c10 0x0 0
R 4 92.026663 1 REG_TWSI_CTRL 0x3e82000 0x0 0
W 4 92.026667 1 REG_TWSI_CTRL 0x3e82800 0x0 0
R 4 92.037681 1 REG_TWSI_CTRL 0x3e82000 0x0 0
R 4 92.037707 1 REG_MAC_STA_ADDR 0x1570b1bc 0x0 0
R 4 92.037716 1 0xfbfc148c 0x22 0x0 0			<--- i don't about this register, no explicit write in source
R 4 92.080874 1 REG_SPI_FLASH_CTRL 0x0 0x0 0
R 2 92.080898 1 REG_PCIE_CAP_LIST 0x6c10 0x0 0
R 4 92.080903 1 REG_SPI_FLASH_CTRL 0x0 0x0 0
R 2 92.080909 1 REG_PCIE_CAP_LIST 0x6c10 0x0 0
R 4 92.103867 1 REG_SPI_FLASH_CTRL 0x0 0x0 0
R 2 92.103889 1 REG_PCIE_CAP_LIST 0x6c10 0x0 0
R 4 92.103895 1 REG_SPI_FLASH_CTRL 0x0 0x0 0
R 2 92.103900 1 REG_PCIE_CAP_LIST 0x6c10 0x0 0
R 4 92.121833 1 0xfbfc1008 0xbffa49c 0x0 0		<--- this register is used without DEFINE
W 4 92.121855 1 0xfbfc1008 0xbffa49c 0x0 0
W 4 92.121859 1 REG_RX_HASH_TABLE 0x0 0x0 0
W 4 92.121862 1 0xfbfc1494 0x0 0x0 0			<--- don't know either
R 4 92.121868 1 REG_MAC_CTRL 0x105c20 0x0 0
W 4 92.121871 1 REG_MAC_CTRL 0x105c20 0x0 0
W 4 92.121874 1 REG_RX_HASH_TABLE 0x0 0x0 0
W 4 92.121877 1 0xfbfc1494 0x0 0x0 0			<--- ?
R 4 92.121884 1 0xfbfc1494 0x0 0x0 0
W 4 92.121887 1 0xfbfc1494 0x40000000 0x0 0
W 4 92.121891 1 REG_IMR 0x0 0x0 0
R 4 92.121896 1 0xfbfc0000 0x10261969 0x0 0
R 4 92.121901 1 REG_MAC_CTRL 0x105c20 0x0 0
W 4 92.121904 1 REG_MAC_CTRL 0x105c20 0x0 0
W 4 92.121908 1 REG_ISR 0xffffffff 0x0 0
W 4 92.121911 1 REG_MAC_STA_ADDR 0x1570b1bc 0x0 0
W 4 92.121914 1 0xfbfc148c 0x22 0x0 0
W 4 92.121917 1 REG_WOL_CTRL 0x0 0x0 0
W 4 92.121921 1 0xfbfc1540 0x0 0x0 0			<--- could be REG_DESC_BASE_ADDR_HI or REG_RXF0_BASE_ADDR_HI
W 4 92.121924 1 REG_TPD_BASE_ADDR_LO 0x33900000 0x0 0
W 4 92.121927 1 REG_TPD_RING_SIZE 0x80 0x0 0
W 4 92.121930 1 REG_HOST_TX_CMB_LO 0x33981400 0x0 0
W 4 92.121933 1 0xfbfc1540 0x0 0x0 0
W 4 92.121936 1 REG_HOST_RXF0_PAGE0_LO 0x33900800 0x0 0
W 4 92.121940 1 REG_HOST_RXF0_MB0_LO 0x33981404 0x0 0
W 1 92.121943 1 REG_HOST_RXF0_MB0_LO 0x1 0x0 0
W 4 92.121946 1 REG_HOST_RXF0_PAGE1_LO 0x33940e00 0x0 0
W 4 92.121949 1 REG_HOST_RXF0_MB1_LO 0x33981408 0x0 0
W 1 92.121952 1 REG_HOST_RXF0_PAGE1_VLD 0x1 0x0 0
W 4 92.121955 1 REG_RXF1_BASE_ADDR_HI 0x0 0x0 0
W 4 92.121958 1 REG_HOST_RXF1_PAGE0_LO 0x0 0x0 0
W 4 92.121961 1 REG_HOST_RXF1_MB0_LO 0x0 0x0 0
W 1 92.121965 1 REG_HOST_RXF1_PAGE0_VLD 0x1 0x0 0
W 4 92.121968 1 REG_HOST_RXF1_PAGE1_LO 0x0 0x0 0
W 4 92.121971 1 REG_HOST_RXF1_MB1_LO 0x0 0x0 0
W 1 92.121974 1 REG_HOST_RXF1_PAGE1_VLD 0x1 0x0 0
W 4 92.121977 1 REG_RXF2_BASE_ADDR_HI 0x0 0x0 0
W 4 92.121980 1 REG_HOST_RXF2_PAGE0_LO 0x0 0x0 0
W 4 92.121983 1 REG_HOST_RXF2_MB0_LO 0x0 0x0 0
W 1 92.121986 1 REG_HOST_RXF2_PAGE0_VLD 0x1 0x0 0
W 4 92.121989 1 REG_HOST_RXF2_PAGE1_LO 0x0 0x0 0
W 4 92.121992 1 REG_HOST_RXF2_MB1_LO 0x0 0x0 0
W 1 92.121995 1 REG_HOST_RXF2_PAGE1_VLD 0x1 0x0 0
W 4 92.121998 1 REG_RXF3_BASE_ADDR_HI 0x0 0x0 0
W 4 92.122002 1 REG_HOST_RXF3_PAGE0_LO 0x0 0x0 0
W 4 92.122005 1 REG_HOST_RXF3_MB0_LO 0x0 0x0 0
W 1 92.122008 1 REG_HOST_RXF3_PAGE0_VLD 0x1 0x0 0
W 4 92.122012 1 REG_HOST_RXF3_PAGE1_LO 0x0 0x0 0
W 4 92.122016 1 REG_HOST_RXF3_MB1_LO 0x0 0x0 0
W 1 92.122019 1 REG_HOST_RXF3_PAGE1_VLD 0x1 0x0 0
W 4 92.122022 1 REG_HOST_RXFPAGE_SIZE 0x40000 0x0 0
W 4 92.122025 1 REG_LOAD_PTR 0x1 0x0 0
W 2 92.122029 1 REG_IRQ_MODU_TIMER_INIT 0x64 0x0 0
W 2 92.122032 1 REG_IRQ_MODU_TIMER2_INIT 0x64 0x0 0
W 4 92.122035 1 REG_MASTER_CTRL 0x224 0x0 0
W 2 92.122039 1 REG_TRIG_RRD_THRESH 0x1 0x0 0
W 2 92.122042 1 REG_TRIG_TPD_THRESH 0x40 0x0 0
W 2 92.122045 1 REG_TRIG_RXTIMER 0x4 0x0 0
W 2 92.122049 1 REG_TRIG_TXTIMER 0x85 0x0 0
W 2 92.122052 1 REG_CMBDISDMA_TIMER 0xc350 0x0 0
W 4 92.122055 1 REG_MTU 0x5f2 0x0 0
W 4 92.122058 1 REG_TX_EARLY_TH 0xbf 0x0 0
R 4 92.122063 1 REG_DEVICE_CTRL 0x1a2000 0x0 0
W 2 92.122067 1 0xfbfc1582 0x200 0x0 0			<--- no idea
W 2 92.122070 1 REG_TXQ_CTRL 0x65 0x0 0
W 2 92.122073 1 REG_RXQ_JMBOSZ_RRDTIM 0x8bf 0x0 0
R 4 92.122078 1 REG_SRAM_RXF_LEN 0x400 0x0 0
W 4 92.122081 1 REG_RXQ_RXF_PAUSE_THRESH 0xcc0333 0x0 0
W 4 92.122085 1 REG_IDT_TABLE0 0x0 0x0 0
W 4 92.122088 1 REG_BASE_CPU_NUMBER 0x0 0x0 0
W 4 92.122091 1 REG_RXQ_CTRL 0xc0000080 0x0 0
W 4 92.122094 1 REG_DMA_CTRL 0x247c24 0x0 0
W 4 92.122097 1 REG_SMB_STAT_TIMER 0x30d40 0x0 0
R 4 92.122102 1 REG_ISR 0x85000000 0x0 0
W 4 92.122105 1 REG_ISR 0x7fffffff 0x0 0
W 4 92.122108 1 REG_ISR 0x0 0x0 0
W 4 92.122111 1 REG_IMR 0x10035d1d 0x0 0
R 4 92.122116 1 0xfbfc0000 0x10261969 0x0 0
R 4 92.122121 1 REG_MASTER_CTRL 0xb0020224 0x0 0
W 4 92.122124 1 REG_MASTER_CTRL 0xb002022c 0x0 0
R 4 92.122133 1 REG_ISR 0x5000004 0x0 0
W 4 92.122137 1 REG_ISR 0x85000004 0x0 0
W 4 92.122140 1 REG_MDIO_CTRL 0xe10000 0x0 0
R 4 92.122148 1 REG_MDIO_CTRL 0x8610000 0x0 0
R 4 92.122155 1 REG_MDIO_CTRL 0x617949 0x0 0
W 4 92.122158 1 REG_MDIO_CTRL 0xe10000 0x0 0
R 4 92.122165 1 REG_MDIO_CTRL 0x8617949 0x0 0
R 4 92.122172 1 REG_MDIO_CTRL 0x617949 0x0 0
W 4 92.122184 1 REG_ISR 0x0 0x0 0
R 4 92.122193 1 REG_MAC_CTRL 0x105c20 0x0 0
W 4 92.122197 1 REG_MAC_CTRL 0x105c20 0x0 0
W 4 92.122200 1 REG_RX_HASH_TABLE 0x0 0x0 0
W 4 92.122203 1 0xfbfc1494 0x0 0x0 0
R 4 92.122208 1 0xfbfc1494 0x0 0x0 0
W 4 92.122211 1 0xfbfc1494 0x40000000 0x0 0
W 4 92.122758 1 REG_MDIO_CTRL 0xe10000 0x0 0
R 4 92.122769 1 REG_MDIO_CTRL 0x617949 0x0 0
W 4 92.122772 1 REG_MDIO_CTRL 0xe10000 0x0 0
R 4 92.122779 1 REG_MDIO_CTRL 0x8617949 0x0 0
R 4 92.122786 1 REG_MDIO_CTRL 0x617949 0x0 0
R 4 92.123005 1 REG_MAC_CTRL 0x105c20 0x0 0
W 4 92.123017 1 REG_MAC_CTRL 0x105c20 0x0 0
W 4 92.123021 1 REG_RX_HASH_TABLE 0x0 0x0 0
W 4 92.123024 1 0xfbfc1494 0x0 0x0 0
R 4 92.123030 1 0xfbfc1494 0x0 0x0 0
W 4 92.123034 1 0xfbfc1494 0x40000000 0x0 0
R 4 92.123240 1 REG_MAC_CTRL 0x105c20 0x0 0
W 4 92.123252 1 REG_MAC_CTRL 0x105c20 0x0 0
W 4 92.123255 1 REG_RX_HASH_TABLE 0x0 0x0 0
W 4 92.123258 1 0xfbfc1494 0x0 0x0 0
R 4 92.123264 1 0xfbfc1494 0x0 0x0 0
W 4 92.123267 1 0xfbfc1494 0x40000000 0x0 0
R 4 92.123272 1 REG_RX_HASH_TABLE 0x0 0x0 0
W 4 92.123276 1 REG_RX_HASH_TABLE 0x80000000 0x0 0

lspci info:

04:00.0 Ethernet controller: Atheros Communications Inc. AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (rev b0)
	Subsystem: ASUSTeK Computer Inc. Device 8324
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 45
	Region 0: Memory at fbfc0000 (64-bit, non-prefetchable) [size=256K]
	Region 2: I/O ports at ec80 [size=128]
	Capabilities: [40] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [48] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee0100c  Data: 4122
	Capabilities: [58] Express (v1) Endpoint, MSI 00
		DevCap:	MaxPayload 4096 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
			ExtTag- AttnBtn+ AttnInd+ PwrInd+ RBE- FLReset-
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr+ TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 unlimited, L1 unlimited
			ClockPM- Surprise- LLActRep- BwNot-
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	Capabilities: [6c] Vital Product Data
		Unknown small resource type 0b, will not decode more.
	Capabilities: [100 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
		AERCap:	First Error Pointer: 14, GenCap+ CGenEn- ChkCap+ ChkEn-
	Capabilities: [180 v1] Device Serial Number ff-70-b1-bc-00-22-15-ff
	Kernel driver in use: ATL1E
00: 69 19 26 10 07 04 10 00 b0 00 00 02 08 00 00 00
10: 04 00 fc fb 00 00 00 00 81 ec 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 43 10 24 83
30: 00 00 00 00 40 00 00 00 00 00 00 00 05 01 00 00
40: 01 48 02 c0 00 00 00 00 05 58 81 00 0c 10 e0 fe
50: 00 00 00 00 22 41 00 00 10 6c 01 00 85 7f 00 00
60: 00 20 1a 00 11 f4 03 00 40 00 11 10 03 00 03 90
70: 5a ff 88 14 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 69 19 26 10 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
100: 01 00 01 18 00 00 10 00 00 00 00 00 11 20 06 00
110: 00 00 00 00 00 00 00 00 b4 00 00 00 01 00 00 00
120: 03 04 00 00 00 c0 fb fb 00 00 00 00 00 00 00 00
130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
180: 03 00 01 00 ff 15 22 00 bc b1 70 ff 00 00 00 00
190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
210: 00 00 00 00 00 00 00 00 00 20 e8 03 00 0c 00 00
220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
3a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
3b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
3c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
3d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
3e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
3f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
440: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
530: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
540: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
550: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
5a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
5b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
5c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
5d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
5e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
5f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
610: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
620: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
630: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
640: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
650: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
690: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
710: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
720: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
730: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
740: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
750: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
770: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
790: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
7a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
7b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
7c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
7d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
7e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
7f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
800: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
810: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
820: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
830: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
840: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
850: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
860: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
870: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
890: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
8a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
8b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
8c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
8d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
8e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
8f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
910: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
920: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
930: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
940: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
950: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
960: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
990: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
9a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
9b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
9c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
9d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
9e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
9f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
aa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ab0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
af0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ba0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
bb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
bc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
bd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
be0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
bf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ca0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
cb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
cc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
cd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ce0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
cf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
da0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
db0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
dc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
dd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
de0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
df0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ea0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
eb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ec0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ed0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ee0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ef0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
fa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-26  4:27                                     ` Hannes Frederic Sowa
@ 2013-03-26  4:34                                       ` Huang, Xiong
  2013-03-26  4:40                                         ` Hannes Frederic Sowa
  0 siblings, 1 reply; 46+ messages in thread
From: Huang, Xiong @ 2013-03-26  4:34 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev

Are you sure the NIC is ok for windows driver ? it might be an HW bug, if it’s the case, your checksum verificated by protocol is a workaround.

Thanks
Xiong

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-26  4:34                                       ` Huang, Xiong
@ 2013-03-26  4:40                                         ` Hannes Frederic Sowa
  2013-03-26  4:44                                           ` Huang, Xiong
  0 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-26  4:40 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

On Tue, Mar 26, 2013 at 04:34:36AM +0000, Huang, Xiong wrote:
> Are you sure the NIC is ok for windows driver ? it might be an HW bug, if it’s the case, your checksum verificated by protocol is a workaround.

Yes, the NIC is ok in Windows.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-26  4:40                                         ` Hannes Frederic Sowa
@ 2013-03-26  4:44                                           ` Huang, Xiong
  2013-03-27 22:02                                             ` Hannes Frederic Sowa
  0 siblings, 1 reply; 46+ messages in thread
From: Huang, Xiong @ 2013-03-26  4:44 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev

You can try to get windows register setting by

Pci config space register 0x80/0x84
For example, to read register 0x1480
Pci configure write 0x1480 to [0x80] (32bit)
Pci configure read [0x84]

Only 32 bit read/write is allowed.

Thanks
Xiong

> -----Original Message-----
> From: Hannes Frederic Sowa [mailto:hannes@stressinduktion.org]
> Sent: Tuesday, March 26, 2013 12:40 PM
> To: Huang, Xiong
> Cc: Sven Hartge; netdev@vger.kernel.org
> Subject: 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
> 
> On Tue, Mar 26, 2013 at 04:34:36AM +0000, Huang, Xiong wrote:
> > Are you sure the NIC is ok for windows driver ? it might be an HW bug, if it’s
> the case, your checksum verificated by protocol is a workaround.
> 
> Yes, the NIC is ok in Windows.


^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-26  4:44                                           ` Huang, Xiong
@ 2013-03-27 22:02                                             ` Hannes Frederic Sowa
  2013-03-27 22:28                                               ` Huang, Xiong
  0 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-27 22:02 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

On Tue, Mar 26, 2013 at 04:44:50AM +0000, Huang, Xiong wrote:
> You can try to get windows register setting by
> 
> Pci config space register 0x80/0x84
> For example, to read register 0x1480
> Pci configure write 0x1480 to [0x80] (32bit)
> Pci configure read [0x84]
> 
> Only 32 bit read/write is allowed.

Here we go. In Linux we reread the registers with the same method, again.
Perhaps you can see something:


                      Register   Reg-Num        Linux      Windows          XOR
-------------------------------------------------------------------------------
           REG_BASE_CPU_NUMBER    0x157c          0x0          0x0          0x0
                REG_BIST0_CTRL    0x141c          0x0          0x0          0x0
                REG_BIST1_CTRL    0x1420          0x0          0x0          0x0
           REG_CMBDISDMA_TIMER    0x140e   0xc3503c01   0xffff1c01   0x3caf2000
               REG_DEBUG_DATA0    0x1900       0x1000       0x1f2f        0xf2f
               REG_DEBUG_DATA1    0x1904   0x90004800          0x0   0x90004800
         REG_DESC_BASE_ADDR_HI    0x1540          0x0          0x0          0x0
                REG_DEVICE_CAP      0x5c     0x647f85     0x647f85          0x0
               REG_DEVICE_CTRL      0x60     0x1a2000     0x112000      0xb0000
                  REG_DMA_CTRL    0x15c0     0x247c24     0x247c54         0x70
                 REG_GPHY_CTRL    0x140c   0xc3503c01   0xffff1c01   0x3caf2000
          REG_HOST_RXF0_MB0_LO    0x1820   0xcf981404   0xa72c8510   0x68b49114
          REG_HOST_RXF0_MB1_LO    0x1824   0xcf981408   0xa7308c20   0x68a89828
        REG_HOST_RXF0_PAGE0_LO    0x1544   0xcf900800   0xa72c8600   0x68bc8e00
       REG_HOST_RXF0_PAGE0_VLD    0x15f4    0x1010101       0x1b19    0x1011a18
        REG_HOST_RXF0_PAGE1_LO    0x1548   0xcf940e00   0xa7308d00   0x68a48300
       REG_HOST_RXF0_PAGE1_VLD    0x15f5    0x1010101       0x1b19    0x1011a18
         REG_HOST_RXF0_PAGEOFF    0x1800      0x2e640    0xc01de00    0xc033840
          REG_HOST_RXF1_MB0_LO    0x1828          0x0          0x0          0x0
          REG_HOST_RXF1_MB1_LO    0x182c          0x0          0x0          0x0
        REG_HOST_RXF1_PAGE0_LO    0x15d0          0x0          0x0          0x0
       REG_HOST_RXF1_PAGE0_VLD    0x15f6    0x1010101       0x1b19    0x1011a18
        REG_HOST_RXF1_PAGE1_LO    0x15d4          0x0          0x0          0x0
       REG_HOST_RXF1_PAGE1_VLD    0x15f7    0x1010101       0x1b19    0x1011a18
         REG_HOST_RXF1_PAGEOFF    0x1808          0x0          0x0          0x0
          REG_HOST_RXF2_MB0_LO    0x1830          0x0          0x0          0x0
          REG_HOST_RXF2_MB1_LO    0x1834          0x0          0x0          0x0
        REG_HOST_RXF2_PAGE0_LO    0x15d8          0x0          0x0          0x0
       REG_HOST_RXF2_PAGE0_VLD    0x15f8    0x1010101          0x0    0x1010101
        REG_HOST_RXF2_PAGE1_LO    0x15dc          0x0          0x0          0x0
       REG_HOST_RXF2_PAGE1_VLD    0x15f9    0x1010101          0x0    0x1010101
         REG_HOST_RXF2_PAGEOFF    0x180c          0x0          0x0          0x0
          REG_HOST_RXF3_MB0_LO    0x1838          0x0          0x0          0x0
          REG_HOST_RXF3_MB1_LO    0x183c          0x0          0x0          0x0
        REG_HOST_RXF3_PAGE0_LO    0x15e0          0x0          0x0          0x0
       REG_HOST_RXF3_PAGE0_VLD    0x15fa    0x1010101          0x0    0x1010101
        REG_HOST_RXF3_PAGE1_LO    0x15e4          0x0          0x0          0x0
       REG_HOST_RXF3_PAGE1_VLD    0x15fb    0x1010101          0x0    0x1010101
         REG_HOST_RXF3_PAGEOFF    0x1810          0x0          0x0          0x0
         REG_HOST_RXFPAGE_SIZE    0x1558      0x40000      0x40000          0x0
          REG_HOST_SMB_ADDR_LO    0x1844          0x0          0x0          0x0
            REG_HOST_TX_CMB_LO    0x1840   0xcf981400   0xcff75000     0x6f4400
               REG_IDLE_STATUS    0x1410          0x0          0x0          0x0
                REG_IDT_TABLE0    0x1560          0x0   0xe4e4e4e4   0xe4e4e4e4
                REG_IDT_TABLE1    0x1564   0xe4e4e4e4   0xe4e4e4e4          0x0
                REG_IDT_TABLE2    0x1568   0xe4e4e4e4   0xe4e4e4e4          0x0
                REG_IDT_TABLE3    0x156c   0xe4e4e4e4   0xe4e4e4e4          0x0
                REG_IDT_TABLE4    0x14e0   0xe4e4e4e4   0xe4e4e4e4          0x0
                REG_IDT_TABLE5    0x14e4   0xe4e4e4e4   0xe4e4e4e4          0x0
                REG_IDT_TABLE6    0x14e8   0xe4e4e4e4   0xe4e4e4e4          0x0
                REG_IDT_TABLE7    0x14ec   0xe4e4e4e4   0xe4e4e4e4          0x0
                       REG_IMR    0x1604   0x10035d1d   0x12035e1d    0x2000300
      REG_IRQ_MODU_TIMER2_INIT    0x140a     0x640064     0x640064          0x0
       REG_IRQ_MODU_TIMER_INIT    0x1408     0x640064     0x640064          0x0
                       REG_ISR    0x1600    0x5000000    0x8c00000    0xdc00000
                  REG_LOAD_PTR    0x1534          0x0          0x0          0x0
           REG_LTSSM_TEST_MODE    0x12fc       0x6500       0x6500          0x0
                  REG_MAC_CTRL    0x1480    0x4105cef    0x4105cef          0x0
       REG_MAC_HALF_DUPLX_CTRL    0x1498    0x7a1f037    0x7a1f037          0x0
               REG_MAC_IPG_IFG    0x1484   0x60405060   0x60405060          0x0
         REG_MAC_RX_STATUS_BIN    0x1700          0x0          0x0          0x0
         REG_MAC_RX_STATUS_END    0x175c          0x0          0x0          0x0
              REG_MAC_STA_ADDR    0x1488   0x8c5d5ea7   0x8c5d5ea7          0x0
         REG_MAC_TX_STATUS_BIN    0x1760          0x0          0x0          0x0
         REG_MAC_TX_STATUS_END    0x17c0          0x0          0x0          0x0
         REG_MANUAL_TIMER_INIT    0x1404          0x0          0x0          0x0
               REG_MASTER_CTRL    0x1400   0xb0020224   0xb0020224          0x0
             REG_MB_RXF1_RADDR    0x15b4          0x0          0x0          0x0
             REG_MB_RXF2_RADDR    0x15b8          0x0          0x0          0x0
             REG_MB_RXF3_RADDR    0x15bc          0x0          0x0          0x0
           REG_MB_TPD_PROD_IDX    0x15f0          0xf        0x128        0x127
                 REG_MDIO_CTRL    0x1414     0x717c1c     0x1e0ba8     0x6f77b4
                       REG_MTU    0x149c        0x5f2        0x5f2          0x0
             REG_PCIE_CAP_LIST      0x58      0x10010      0x10010          0x0
        REG_PCIE_DEV_MISC_CTRL     0x21c        0xc00        0xc00          0x0
              REG_PCIE_PHYMISC    0x1000   0x78ff2580   0x78ff25a0         0x20
                REG_PHY_STATUS    0x1418    0x7c700dd    0x7c700dd          0x0
               REG_PM_CTRLSTAT      0x44          0x0        0x100        0x100
             REG_RSS_HASH_FLAG    0x1574          0x0          0x0          0x0
            REG_RSS_HASH_VALUE    0x1570          0x0          0x0          0x0
                  REG_RSS_KEY0    0x14b0   0xbeac01fa   0xbeac01fa          0x0
                  REG_RSS_KEY1    0x14b4   0x6a42b73b   0x6a42b73b          0x0
                  REG_RSS_KEY2    0x14b8   0x8030f20c   0x8030f20c          0x0
                  REG_RSS_KEY3    0x14bc   0x77cb2da3   0x77cb2da3          0x0
                  REG_RSS_KEY4    0x14c0   0xae7b30b4   0xae7b30b4          0x0
                  REG_RSS_KEY5    0x14c4   0xd0ca2bcb   0xd0ca2bcb          0x0
                  REG_RSS_KEY6    0x14c8   0x43a38fb0   0x43a38fb0          0x0
                  REG_RSS_KEY7    0x14cc   0x4167253d   0x4167253d          0x0
                  REG_RSS_KEY8    0x14d0   0x255b0ec2   0x255b0ec2          0x0
                  REG_RSS_KEY9    0x14d4   0x6d5a56da   0x6d5a56da          0x0
         REG_RXF0_BASE_ADDR_HI    0x1540          0x0          0x0          0x0
         REG_RXF1_BASE_ADDR_HI    0x1550          0x0          0x0          0x0
         REG_RXF2_BASE_ADDR_HI    0x1554          0x0          0x0          0x0
         REG_RXF3_BASE_ADDR_HI    0x153c          0x0          0x0          0x0
                  REG_RXQ_CTRL    0x15a0   0xc0000080   0xc0001083       0x1003
         REG_RXQ_JMBOSZ_RRDTIM    0x15a4        0x8bf        0x8be          0x1
      REG_RXQ_RXF_PAUSE_THRESH    0x15a8     0xcc0333     0x400310     0x8c0023
             REG_RX_HASH_TABLE    0x1490   0x80100000   0x80028100     0x128100
               REG_SERDES_LOCK    0x1424       0xbb23       0xbb23          0x0
            REG_SMB_STAT_TIMER    0x15c4      0x30d40      0x30d40          0x0
            REG_SRAM_PKTH_ADDR    0x1532    0x40007e0    0x40007e0          0x0
             REG_SRAM_RXF_ADDR    0x1520    0x3ff0000    0x3ff0000          0x0
              REG_SRAM_RXF_LEN    0x1524        0x400        0x400          0x0
            REG_SRAM_TCPH_ADDR    0x1530    0x40007e0    0x40007e0          0x0
             REG_SRAM_TRD_ADDR    0x1518    0x7df07c0    0x7df07c0          0x0
              REG_SRAM_TRD_LEN    0x151c         0x20         0x20          0x0
             REG_SRAM_TXF_ADDR    0x1528    0x7bf0400    0x7bf0400          0x0
              REG_SRAM_TXF_LEN    0x152c        0x3c0        0x3c0          0x0
          REG_TPD_BASE_ADDR_LO    0x154c   0xcf900000   0xcff75010     0x675010
              REG_TPD_CONS_IDX    0x1804          0xf        0x128        0x127
             REG_TPD_RING_SIZE    0x155c         0x80        0x400        0x480
           REG_TRIG_RRD_THRESH    0x15ca      0x10040      0x40010      0x50050
              REG_TRIG_RXTIMER    0x15ce      0x40085      0x40004         0x81
           REG_TRIG_TPD_THRESH    0x15c8      0x10040      0x40010      0x50050
              REG_TRIG_TXTIMER    0x15cc      0x40085      0x40004         0x81
                  REG_TXQ_CTRL    0x1580    0x2000065    0x1000065    0x3000000
               REG_TX_EARLY_TH    0x1584         0xbf         0xbf          0x0
                   REG_VPD_CAP      0x6c          0x3          0x3          0x0
                  REG_VPD_DATA      0x70          0x0          0x0          0x0
                  REG_WOL_CTRL    0x14a0          0x0          0x0          0x0
           REG_WOL_PATTERN_LEN    0x14a4          0x0          0x0          0x0

Thanks,

  Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-27 22:02                                             ` Hannes Frederic Sowa
@ 2013-03-27 22:28                                               ` Huang, Xiong
  2013-03-27 22:34                                                 ` Hannes Frederic Sowa
  0 siblings, 1 reply; 46+ messages in thread
From: Huang, Xiong @ 2013-03-27 22:28 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev

Hi Hnnes
    What Windows are you using ? XP or Win7 ?

> -----Original Message-----
> From: Hannes Frederic Sowa [mailto:hannes@stressinduktion.org]
> Sent: Thursday, March 28, 2013 6:03 AM
> To: Huang, Xiong
> Cc: Sven Hartge; netdev@vger.kernel.org
> Subject: 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
> 
> On Tue, Mar 26, 2013 at 04:44:50AM +0000, Huang, Xiong wrote:
> > You can try to get windows register setting by
> >
> > Pci config space register 0x80/0x84
> > For example, to read register 0x1480
> > Pci configure write 0x1480 to [0x80] (32bit) Pci configure read [0x84]
> >
> > Only 32 bit read/write is allowed.
> 
> Here we go. In Linux we reread the registers with the same method, again.
> Perhaps you can see something:
> 
> 
>                       Register   Reg-Num        Linux      Windows          XOR
> -------------------------------------------------------------------------------
>            REG_BASE_CPU_NUMBER    0x157c          0x0          0x0          0x0
>                 REG_BIST0_CTRL    0x141c          0x0          0x0          0x0
>                 REG_BIST1_CTRL    0x1420          0x0          0x0          0x0
>            REG_CMBDISDMA_TIMER    0x140e   0xc3503c01   0xffff1c01
> 0x3caf2000
>                REG_DEBUG_DATA0    0x1900       0x1000       0x1f2f        0xf2f
>                REG_DEBUG_DATA1    0x1904   0x90004800          0x0   0x90004800
>          REG_DESC_BASE_ADDR_HI    0x1540          0x0          0x0          0x0
>                 REG_DEVICE_CAP      0x5c     0x647f85     0x647f85          0x0
>                REG_DEVICE_CTRL      0x60     0x1a2000     0x112000      0xb0000
>                   REG_DMA_CTRL    0x15c0     0x247c24     0x247c54         0x70
>                  REG_GPHY_CTRL    0x140c   0xc3503c01   0xffff1c01   0x3caf2000
>           REG_HOST_RXF0_MB0_LO    0x1820   0xcf981404   0xa72c8510
> 0x68b49114
>           REG_HOST_RXF0_MB1_LO    0x1824   0xcf981408   0xa7308c20
> 0x68a89828
>         REG_HOST_RXF0_PAGE0_LO    0x1544   0xcf900800   0xa72c8600
> 0x68bc8e00
>        REG_HOST_RXF0_PAGE0_VLD    0x15f4    0x1010101       0x1b19
> 0x1011a18
>         REG_HOST_RXF0_PAGE1_LO    0x1548   0xcf940e00   0xa7308d00
> 0x68a48300
>        REG_HOST_RXF0_PAGE1_VLD    0x15f5    0x1010101       0x1b19
> 0x1011a18
>          REG_HOST_RXF0_PAGEOFF    0x1800      0x2e640    0xc01de00    0xc033840
>           REG_HOST_RXF1_MB0_LO    0x1828          0x0          0x0          0x0
>           REG_HOST_RXF1_MB1_LO    0x182c          0x0          0x0          0x0
>         REG_HOST_RXF1_PAGE0_LO    0x15d0          0x0          0x0          0x0
>        REG_HOST_RXF1_PAGE0_VLD    0x15f6    0x1010101       0x1b19
> 0x1011a18
>         REG_HOST_RXF1_PAGE1_LO    0x15d4          0x0          0x0          0x0
>        REG_HOST_RXF1_PAGE1_VLD    0x15f7    0x1010101       0x1b19
> 0x1011a18
>          REG_HOST_RXF1_PAGEOFF    0x1808          0x0          0x0          0x0
>           REG_HOST_RXF2_MB0_LO    0x1830          0x0          0x0          0x0
>           REG_HOST_RXF2_MB1_LO    0x1834          0x0          0x0          0x0
>         REG_HOST_RXF2_PAGE0_LO    0x15d8          0x0          0x0          0x0
>        REG_HOST_RXF2_PAGE0_VLD    0x15f8    0x1010101          0x0    0x1010101
>         REG_HOST_RXF2_PAGE1_LO    0x15dc          0x0          0x0          0x0
>        REG_HOST_RXF2_PAGE1_VLD    0x15f9    0x1010101          0x0    0x1010101
>          REG_HOST_RXF2_PAGEOFF    0x180c          0x0          0x0          0x0
>           REG_HOST_RXF3_MB0_LO    0x1838          0x0          0x0          0x0
>           REG_HOST_RXF3_MB1_LO    0x183c          0x0          0x0          0x0
>         REG_HOST_RXF3_PAGE0_LO    0x15e0          0x0          0x0          0x0
>        REG_HOST_RXF3_PAGE0_VLD    0x15fa    0x1010101          0x0    0x1010101
>         REG_HOST_RXF3_PAGE1_LO    0x15e4          0x0          0x0          0x0
>        REG_HOST_RXF3_PAGE1_VLD    0x15fb    0x1010101          0x0    0x1010101
>          REG_HOST_RXF3_PAGEOFF    0x1810          0x0          0x0          0x0
>          REG_HOST_RXFPAGE_SIZE    0x1558      0x40000      0x40000          0x0
>           REG_HOST_SMB_ADDR_LO    0x1844          0x0          0x0          0x0
>             REG_HOST_TX_CMB_LO    0x1840   0xcf981400   0xcff75000     0x6f4400
>                REG_IDLE_STATUS    0x1410          0x0          0x0          0x0
>                 REG_IDT_TABLE0    0x1560          0x0   0xe4e4e4e4   0xe4e4e4e4
>                 REG_IDT_TABLE1    0x1564   0xe4e4e4e4   0xe4e4e4e4          0x0
>                 REG_IDT_TABLE2    0x1568   0xe4e4e4e4   0xe4e4e4e4          0x0
>                 REG_IDT_TABLE3    0x156c   0xe4e4e4e4   0xe4e4e4e4          0x0
>                 REG_IDT_TABLE4    0x14e0   0xe4e4e4e4   0xe4e4e4e4          0x0
>                 REG_IDT_TABLE5    0x14e4   0xe4e4e4e4   0xe4e4e4e4          0x0
>                 REG_IDT_TABLE6    0x14e8   0xe4e4e4e4   0xe4e4e4e4          0x0
>                 REG_IDT_TABLE7    0x14ec   0xe4e4e4e4   0xe4e4e4e4          0x0
>                        REG_IMR    0x1604   0x10035d1d   0x12035e1d    0x2000300
>       REG_IRQ_MODU_TIMER2_INIT    0x140a     0x640064     0x640064          0x0
>        REG_IRQ_MODU_TIMER_INIT    0x1408     0x640064     0x640064          0x0
>                        REG_ISR    0x1600    0x5000000    0x8c00000    0xdc00000
>                   REG_LOAD_PTR    0x1534          0x0          0x0          0x0
>            REG_LTSSM_TEST_MODE    0x12fc       0x6500       0x6500          0x0
>                   REG_MAC_CTRL    0x1480    0x4105cef    0x4105cef          0x0
>        REG_MAC_HALF_DUPLX_CTRL    0x1498    0x7a1f037    0x7a1f037          0x0
>                REG_MAC_IPG_IFG    0x1484   0x60405060   0x60405060          0x0
>          REG_MAC_RX_STATUS_BIN    0x1700          0x0          0x0          0x0
>          REG_MAC_RX_STATUS_END    0x175c          0x0          0x0          0x0
>               REG_MAC_STA_ADDR    0x1488   0x8c5d5ea7   0x8c5d5ea7          0x0
>          REG_MAC_TX_STATUS_BIN    0x1760          0x0          0x0          0x0
>          REG_MAC_TX_STATUS_END    0x17c0          0x0          0x0          0x0
>          REG_MANUAL_TIMER_INIT    0x1404          0x0          0x0          0x0
>                REG_MASTER_CTRL    0x1400   0xb0020224   0xb0020224          0x0
>              REG_MB_RXF1_RADDR    0x15b4          0x0          0x0          0x0
>              REG_MB_RXF2_RADDR    0x15b8          0x0          0x0          0x0
>              REG_MB_RXF3_RADDR    0x15bc          0x0          0x0          0x0
>            REG_MB_TPD_PROD_IDX    0x15f0          0xf        0x128        0x127
>                  REG_MDIO_CTRL    0x1414     0x717c1c     0x1e0ba8     0x6f77b4
>                        REG_MTU    0x149c        0x5f2        0x5f2          0x0
>              REG_PCIE_CAP_LIST      0x58      0x10010      0x10010          0x0
>         REG_PCIE_DEV_MISC_CTRL     0x21c        0xc00        0xc00          0x0
>               REG_PCIE_PHYMISC    0x1000   0x78ff2580   0x78ff25a0         0x20
>                 REG_PHY_STATUS    0x1418    0x7c700dd    0x7c700dd          0x0
>                REG_PM_CTRLSTAT      0x44          0x0        0x100        0x100
>              REG_RSS_HASH_FLAG    0x1574          0x0          0x0          0x0
>             REG_RSS_HASH_VALUE    0x1570          0x0          0x0          0x0
>                   REG_RSS_KEY0    0x14b0   0xbeac01fa   0xbeac01fa          0x0
>                   REG_RSS_KEY1    0x14b4   0x6a42b73b   0x6a42b73b          0x0
>                   REG_RSS_KEY2    0x14b8   0x8030f20c   0x8030f20c          0x0
>                   REG_RSS_KEY3    0x14bc   0x77cb2da3   0x77cb2da3          0x0
>                   REG_RSS_KEY4    0x14c0   0xae7b30b4   0xae7b30b4          0x0
>                   REG_RSS_KEY5    0x14c4   0xd0ca2bcb   0xd0ca2bcb          0x0
>                   REG_RSS_KEY6    0x14c8   0x43a38fb0   0x43a38fb0          0x0
>                   REG_RSS_KEY7    0x14cc   0x4167253d   0x4167253d          0x0
>                   REG_RSS_KEY8    0x14d0   0x255b0ec2   0x255b0ec2          0x0
>                   REG_RSS_KEY9    0x14d4   0x6d5a56da   0x6d5a56da          0x0
>          REG_RXF0_BASE_ADDR_HI    0x1540          0x0          0x0          0x0
>          REG_RXF1_BASE_ADDR_HI    0x1550          0x0          0x0          0x0
>          REG_RXF2_BASE_ADDR_HI    0x1554          0x0          0x0          0x0
>          REG_RXF3_BASE_ADDR_HI    0x153c          0x0          0x0          0x0
>                   REG_RXQ_CTRL    0x15a0   0xc0000080   0xc0001083       0x1003
>          REG_RXQ_JMBOSZ_RRDTIM    0x15a4        0x8bf        0x8be          0x1
>       REG_RXQ_RXF_PAUSE_THRESH    0x15a8     0xcc0333     0x400310
> 0x8c0023
>              REG_RX_HASH_TABLE    0x1490   0x80100000   0x80028100     0x128100
>                REG_SERDES_LOCK    0x1424       0xbb23       0xbb23          0x0
>             REG_SMB_STAT_TIMER    0x15c4      0x30d40      0x30d40          0x0
>             REG_SRAM_PKTH_ADDR    0x1532    0x40007e0    0x40007e0          0x0
>              REG_SRAM_RXF_ADDR    0x1520    0x3ff0000    0x3ff0000          0x0
>               REG_SRAM_RXF_LEN    0x1524        0x400        0x400          0x0
>             REG_SRAM_TCPH_ADDR    0x1530    0x40007e0    0x40007e0          0x0
>              REG_SRAM_TRD_ADDR    0x1518    0x7df07c0    0x7df07c0          0x0
>               REG_SRAM_TRD_LEN    0x151c         0x20         0x20          0x0
>              REG_SRAM_TXF_ADDR    0x1528    0x7bf0400    0x7bf0400          0x0
>               REG_SRAM_TXF_LEN    0x152c        0x3c0        0x3c0          0x0
>           REG_TPD_BASE_ADDR_LO    0x154c   0xcf900000   0xcff75010     0x675010
>               REG_TPD_CONS_IDX    0x1804          0xf        0x128        0x127
>              REG_TPD_RING_SIZE    0x155c         0x80        0x400        0x480
>            REG_TRIG_RRD_THRESH    0x15ca      0x10040      0x40010      0x50050
>               REG_TRIG_RXTIMER    0x15ce      0x40085      0x40004         0x81
>            REG_TRIG_TPD_THRESH    0x15c8      0x10040      0x40010      0x50050
>               REG_TRIG_TXTIMER    0x15cc      0x40085      0x40004         0x81
>                   REG_TXQ_CTRL    0x1580    0x2000065    0x1000065    0x3000000
>                REG_TX_EARLY_TH    0x1584         0xbf         0xbf          0x0
>                    REG_VPD_CAP      0x6c          0x3          0x3          0x0
>                   REG_VPD_DATA      0x70          0x0          0x0          0x0
>                   REG_WOL_CTRL    0x14a0          0x0          0x0          0x0
>            REG_WOL_PATTERN_LEN    0x14a4          0x0          0x0          0x0
> 
> Thanks,
> 
>   Hannes


^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-27 22:28                                               ` Huang, Xiong
@ 2013-03-27 22:34                                                 ` Hannes Frederic Sowa
  2013-03-28  0:10                                                   ` Huang, Xiong
  0 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-27 22:34 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

On Wed, Mar 27, 2013 at 10:28:24PM +0000, Huang, Xiong wrote:
>     What Windows are you using ? XP or Win7 ?

It is a Windows 7 x86_64. The version of the windows driver is 1.0.0.45.

Thanks,

  Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-27 22:34                                                 ` Hannes Frederic Sowa
@ 2013-03-28  0:10                                                   ` Huang, Xiong
  2013-03-28  0:40                                                     ` Hannes Frederic Sowa
  0 siblings, 1 reply; 46+ messages in thread
From: Huang, Xiong @ 2013-03-28  0:10 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev

There is no much difference on those registers :(
But you could try to replace :

static void atl1e_cal_ring_size(struct atl1e_adapter *adapter, u32 *ring_size)
{
	*ring_size = ((u32)(adapter->tx_ring.count *
		     sizeof(struct atl1e_tpd_desc) + 7
			/* tx ring, qword align */
		     + adapter->rx_ring.real_page_size * AT_PAGE_NUM_PER_QUEUE *
			adapter->num_rx_queues + 31
			/* rx ring,  32 bytes align */
		     + (1 + AT_PAGE_NUM_PER_QUEUE * adapter->num_rx_queues) *
			16 + 15));
			/* tx, rx cmd, dword align   */
}


static int atl1e_setup_ring_resources(struct atl1e_adapter *adapter)
{
.....
	/* Init CMB dma address */
	offset = roundup(offset, 16);
	tx_ring->cmb_dma = adapter->ring_dma + offset;
	tx_ring->cmb = adapter->ring_vir_addr + offset;
	offset += sizeof(u32);
	offset = roundup(offset, 16);

	for (i = 0; i < adapter->num_rx_queues; i++) {
		for (j = 0; j < AT_PAGE_NUM_PER_QUEUE; j++) {
			rx_page_desc[i].rx_page[j].write_offset_dma =
				adapter->ring_dma + offset;
			rx_page_desc[i].rx_page[j].write_offset_addr =
				adapter->ring_vir_addr + offset;
			offset += sizeof(u32);
			offset = roundup(offset, 16);
		}
	}
.....



Just guess, no confidence on it ....

BR.
Xiong

> -----Original Message-----
> From: Hannes Frederic Sowa [mailto:hannes@stressinduktion.org]
> Sent: Thursday, March 28, 2013 6:35 AM
> To: Huang, Xiong
> Cc: Sven Hartge; netdev@vger.kernel.org
> Subject: 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
> 
> On Wed, Mar 27, 2013 at 10:28:24PM +0000, Huang, Xiong wrote:
> >     What Windows are you using ? XP or Win7 ?
> 
> It is a Windows 7 x86_64. The version of the windows driver is 1.0.0.45.
> 
> Thanks,
> 
>   Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-28  0:10                                                   ` Huang, Xiong
@ 2013-03-28  0:40                                                     ` Hannes Frederic Sowa
  2013-03-28  1:01                                                       ` Huang, Xiong
  0 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-28  0:40 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

On Thu, Mar 28, 2013 at 12:10:57AM +0000, Huang, Xiong wrote:
> There is no much difference on those registers :(
> But you could try to replace :
> 
> static void atl1e_cal_ring_size(struct atl1e_adapter *adapter, u32 *ring_size)
> {
> 	*ring_size = ((u32)(adapter->tx_ring.count *
> 		     sizeof(struct atl1e_tpd_desc) + 7
> 			/* tx ring, qword align */
> 		     + adapter->rx_ring.real_page_size * AT_PAGE_NUM_PER_QUEUE *
> 			adapter->num_rx_queues + 31
> 			/* rx ring,  32 bytes align */
> 		     + (1 + AT_PAGE_NUM_PER_QUEUE * adapter->num_rx_queues) *
> 			16 + 15));
> 			/* tx, rx cmd, dword align   */
> }
> 
> 
> static int atl1e_setup_ring_resources(struct atl1e_adapter *adapter)
> {
> .....
> 	/* Init CMB dma address */
> 	offset = roundup(offset, 16);
> 	tx_ring->cmb_dma = adapter->ring_dma + offset;
> 	tx_ring->cmb = adapter->ring_vir_addr + offset;
> 	offset += sizeof(u32);
> 	offset = roundup(offset, 16);
> 
> 	for (i = 0; i < adapter->num_rx_queues; i++) {
> 		for (j = 0; j < AT_PAGE_NUM_PER_QUEUE; j++) {
> 			rx_page_desc[i].rx_page[j].write_offset_dma =
> 				adapter->ring_dma + offset;
> 			rx_page_desc[i].rx_page[j].write_offset_addr =
> 				adapter->ring_vir_addr + offset;
> 			offset += sizeof(u32);
> 			offset = roundup(offset, 16);
> 		}
> 	}
> .....
> 
> 
> 
> Just guess, no confidence on it ....

No, problem still persists. :(

Btw, in the meantime I extracted another mmiotrace (this time with a dhcp
exchange) and resolved the symbols:

https://gist.github.com/hannes/5259468/raw/4c22dff854254c46534c1b87e477eff7d3ca2c5d/mmiotrace.txt

Perhaps it helps.

Thanks,

  Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-28  0:40                                                     ` Hannes Frederic Sowa
@ 2013-03-28  1:01                                                       ` Huang, Xiong
  2013-03-28  1:16                                                         ` Hannes Frederic Sowa
  0 siblings, 1 reply; 46+ messages in thread
From: Huang, Xiong @ 2013-03-28  1:01 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev

Please try to use following define in atl1e_hw.h
 
#define     GPHY_CTRL_DEFAULT (\
		GPHY_CTRL_SEL_ANA_RST	|\
		GPHY_CTRL_HIB_PULSE	|\
		GPHY_CTRL_HIB_EN)

BR
Xiong

> -----Original Message-----
> From: Hannes Frederic Sowa [mailto:hannes@stressinduktion.org]
> Sent: Thursday, March 28, 2013 8:40 AM
> To: Huang, Xiong
> Cc: Sven Hartge; netdev@vger.kernel.org
> Subject: 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
> 
> On Thu, Mar 28, 2013 at 12:10:57AM +0000, Huang, Xiong wrote:
> > There is no much difference on those registers :( But you could try to
> > replace :
> >
> > static void atl1e_cal_ring_size(struct atl1e_adapter *adapter, u32
> > *ring_size) {
> > 	*ring_size = ((u32)(adapter->tx_ring.count *
> > 		     sizeof(struct atl1e_tpd_desc) + 7
> > 			/* tx ring, qword align */
> > 		     + adapter->rx_ring.real_page_size *
> AT_PAGE_NUM_PER_QUEUE *
> > 			adapter->num_rx_queues + 31
> > 			/* rx ring,  32 bytes align */
> > 		     + (1 + AT_PAGE_NUM_PER_QUEUE * adapter-
> >num_rx_queues) *
> > 			16 + 15));
> > 			/* tx, rx cmd, dword align   */
> > }
> >
> >
> > static int atl1e_setup_ring_resources(struct atl1e_adapter *adapter) {
> > .....
> > 	/* Init CMB dma address */
> > 	offset = roundup(offset, 16);
> > 	tx_ring->cmb_dma = adapter->ring_dma + offset;
> > 	tx_ring->cmb = adapter->ring_vir_addr + offset;
> > 	offset += sizeof(u32);
> > 	offset = roundup(offset, 16);
> >
> > 	for (i = 0; i < adapter->num_rx_queues; i++) {
> > 		for (j = 0; j < AT_PAGE_NUM_PER_QUEUE; j++) {
> > 			rx_page_desc[i].rx_page[j].write_offset_dma =
> > 				adapter->ring_dma + offset;
> > 			rx_page_desc[i].rx_page[j].write_offset_addr =
> > 				adapter->ring_vir_addr + offset;
> > 			offset += sizeof(u32);
> > 			offset = roundup(offset, 16);
> > 		}
> > 	}
> > .....
> >
> >
> >
> > Just guess, no confidence on it ....
> 
> No, problem still persists. :(
> 
> Btw, in the meantime I extracted another mmiotrace (this time with a dhcp
> exchange) and resolved the symbols:
> 
> https://gist.github.com/hannes/5259468/raw/4c22dff854254c46534c1b87e47
> 7eff7d3ca2c5d/mmiotrace.txt
> 
> Perhaps it helps.
> 
> Thanks,
> 
>   Hannes


^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-28  1:01                                                       ` Huang, Xiong
@ 2013-03-28  1:16                                                         ` Hannes Frederic Sowa
  2013-03-28  1:17                                                           ` Huang, Xiong
  0 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-28  1:16 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

On Thu, Mar 28, 2013 at 01:01:05AM +0000, Huang, Xiong wrote:
> Please try to use following define in atl1e_hw.h
>  
> #define     GPHY_CTRL_DEFAULT (\
> 		GPHY_CTRL_SEL_ANA_RST	|\
> 		GPHY_CTRL_HIB_PULSE	|\
> 		GPHY_CTRL_HIB_EN)

No change either.

We will try to go with RXQ_CTRL_PBA_ALIGN_256 in REG_RXQ_CTRL next. Just have
to check the ring resources are initialized correctly.

Thanks,

  Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-28  1:16                                                         ` Hannes Frederic Sowa
@ 2013-03-28  1:17                                                           ` Huang, Xiong
  2013-03-28  3:19                                                             ` Hannes Frederic Sowa
  0 siblings, 1 reply; 46+ messages in thread
From: Huang, Xiong @ 2013-03-28  1:17 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev

> 
> We will try to go with RXQ_CTRL_PBA_ALIGN_256 in REG_RXQ_CTRL next.
> Just have to check the ring resources are initialized correctly.
> 
> Thanks,


ALIGN_256 require the RXF page 256 byte alignment, you should also revise the memory allocation function.


Thanks
Xiong

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-28  1:17                                                           ` Huang, Xiong
@ 2013-03-28  3:19                                                             ` Hannes Frederic Sowa
  2013-03-28  3:25                                                               ` Huang, Xiong
  0 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-28  3:19 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

On Thu, Mar 28, 2013 at 01:17:53AM +0000, Huang, Xiong wrote:
> > 
> > We will try to go with RXQ_CTRL_PBA_ALIGN_256 in REG_RXQ_CTRL next.
> > Just have to check the ring resources are initialized correctly.
> > 
> > Thanks,
> 
> 
> ALIGN_256 require the RXF page 256 byte alignment, you should also revise the memory allocation function.

Could you have a look at the following diff? It does not work either. Perhaps
something is wrong in the calculations (but there are no seq number mismatches).

diff --git a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
index e1f1b2a..5264810 100644
--- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
+++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
@@ -697,7 +697,7 @@ static void atl1e_cal_ring_size(struct atl1e_adapter *adapter, u32 *ring_size)
 		     sizeof(struct atl1e_tpd_desc) + 7
 			/* tx ring, qword align */
 		     + adapter->rx_ring.real_page_size * AT_PAGE_NUM_PER_QUEUE *
-			adapter->num_rx_queues + 31
+			adapter->num_rx_queues + 255
 			/* rx ring,  32 bytes align */
 		     + (1 + AT_PAGE_NUM_PER_QUEUE * adapter->num_rx_queues) *
 			sizeof(u32) + 3));
@@ -714,7 +714,7 @@ static void atl1e_init_ring_resources(struct atl1e_adapter *adapter)
 				 + adapter->hw.max_frame_size
 				 + ETH_HLEN + VLAN_HLEN
 				 + ETH_FCS_LEN;
-	rx_ring->real_page_size = roundup(rx_ring->real_page_size, 32);
+	rx_ring->real_page_size = roundup(rx_ring->real_page_size, 256);
 	atl1e_cal_ring_size(adapter, &adapter->ring_size);
 
 	adapter->ring_vir_addr = NULL;
@@ -825,7 +825,7 @@ static int atl1e_setup_ring_resources(struct atl1e_adapter *adapter)
 
 	/* Init RXF-Pages */
 	offset += (sizeof(struct atl1e_tpd_desc) * tx_ring->count);
-	offset = roundup(offset, 32);
+	offset = roundup(offset, 256);
 
 	for (i = 0; i < adapter->num_rx_queues; i++) {
 		for (j = 0; j < AT_PAGE_NUM_PER_QUEUE; j++) {
@@ -1003,7 +1003,7 @@ static inline void atl1e_configure_rx(struct atl1e_adapter *adapter)
 		rxq_ctrl_data |=
 			(RXQ_CTRL_HASH_ENABLE | RXQ_CTRL_RSS_MODE_MQUESINT);
 
-	rxq_ctrl_data |= RXQ_CTRL_IPV6_XSUM_VERIFY_EN | RXQ_CTRL_PBA_ALIGN_32 |
+	rxq_ctrl_data |= RXQ_CTRL_IPV6_XSUM_VERIFY_EN | RXQ_CTRL_PBA_ALIGN_256 |
 			 RXQ_CTRL_CUT_THRU_EN | RXQ_CTRL_EN;
 
 	AT_WRITE_REG(hw, REG_RXQ_CTRL, rxq_ctrl_data);
@@ -1444,8 +1444,8 @@ skip_pkt:
 			rx_page->read_offset +=
 				(((u32)((prrs->word1 >> RRS_PKT_SIZE_SHIFT) &
 				RRS_PKT_SIZE_MASK) +
-				sizeof(struct atl1e_recv_ret_status) + 31) &
-						0xFFFFFFE0);
+				sizeof(struct atl1e_recv_ret_status) + 255) &
+						0xFFFFFF00);
 
 			if (rx_page->read_offset >= rx_ring->page_size) {
 				/* mark this page clean */

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* 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
  2013-03-28  3:19                                                             ` Hannes Frederic Sowa
@ 2013-03-28  3:25                                                               ` Huang, Xiong
  2013-03-28  3:29                                                                 ` Hannes Frederic Sowa
  0 siblings, 1 reply; 46+ messages in thread
From: Huang, Xiong @ 2013-03-28  3:25 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev

Please don't revise following code:

			rx_page->read_offset +=
				(((u32)((prrs->word1 >> RRS_PKT_SIZE_SHIFT) &
				RRS_PKT_SIZE_MASK) +
				sizeof(struct atl1e_recv_ret_status) + 31) &
						0xFFFFFFE0);

Here 32bytes alignment is no matter with Page alignment.

Thanks
Xiong


> -----Original Message-----
> From: Hannes Frederic Sowa [mailto:hannes@stressinduktion.org]
> Sent: Thursday, March 28, 2013 11:20 AM
> To: Huang, Xiong
> Cc: Sven Hartge; netdev@vger.kernel.org
> Subject: 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
> 
> On Thu, Mar 28, 2013 at 01:17:53AM +0000, Huang, Xiong wrote:
> > >
> > > We will try to go with RXQ_CTRL_PBA_ALIGN_256 in REG_RXQ_CTRL next.
> > > Just have to check the ring resources are initialized correctly.
> > >
> > > Thanks,
> >
> >
> > ALIGN_256 require the RXF page 256 byte alignment, you should also revise
> the memory allocation function.
> 
> Could you have a look at the following diff? It does not work either. Perhaps
> something is wrong in the calculations (but there are no seq number
> mismatches).
> 
> diff --git a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
> b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
> index e1f1b2a..5264810 100644
> --- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
> +++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
> @@ -697,7 +697,7 @@ static void atl1e_cal_ring_size(struct atl1e_adapter
> *adapter, u32 *ring_size)
>  		     sizeof(struct atl1e_tpd_desc) + 7
>  			/* tx ring, qword align */
>  		     + adapter->rx_ring.real_page_size *
> AT_PAGE_NUM_PER_QUEUE *
> -			adapter->num_rx_queues + 31
> +			adapter->num_rx_queues + 255
>  			/* rx ring,  32 bytes align */
>  		     + (1 + AT_PAGE_NUM_PER_QUEUE * adapter-
> >num_rx_queues) *
>  			sizeof(u32) + 3));
> @@ -714,7 +714,7 @@ static void atl1e_init_ring_resources(struct
> atl1e_adapter *adapter)
>  				 + adapter->hw.max_frame_size
>  				 + ETH_HLEN + VLAN_HLEN
>  				 + ETH_FCS_LEN;
> -	rx_ring->real_page_size = roundup(rx_ring->real_page_size, 32);
> +	rx_ring->real_page_size = roundup(rx_ring->real_page_size, 256);
>  	atl1e_cal_ring_size(adapter, &adapter->ring_size);
> 
>  	adapter->ring_vir_addr = NULL;
> @@ -825,7 +825,7 @@ static int atl1e_setup_ring_resources(struct
> atl1e_adapter *adapter)
> 
>  	/* Init RXF-Pages */
>  	offset += (sizeof(struct atl1e_tpd_desc) * tx_ring->count);
> -	offset = roundup(offset, 32);
> +	offset = roundup(offset, 256);
> 
>  	for (i = 0; i < adapter->num_rx_queues; i++) {
>  		for (j = 0; j < AT_PAGE_NUM_PER_QUEUE; j++) { @@ -1003,7
> +1003,7 @@ static inline void atl1e_configure_rx(struct atl1e_adapter
> *adapter)
>  		rxq_ctrl_data |=
>  			(RXQ_CTRL_HASH_ENABLE |
> RXQ_CTRL_RSS_MODE_MQUESINT);
> 
> -	rxq_ctrl_data |= RXQ_CTRL_IPV6_XSUM_VERIFY_EN |
> RXQ_CTRL_PBA_ALIGN_32 |
> +	rxq_ctrl_data |= RXQ_CTRL_IPV6_XSUM_VERIFY_EN |
> RXQ_CTRL_PBA_ALIGN_256
> +|
>  			 RXQ_CTRL_CUT_THRU_EN | RXQ_CTRL_EN;
> 
>  	AT_WRITE_REG(hw, REG_RXQ_CTRL, rxq_ctrl_data); @@ -1444,8
> +1444,8 @@ skip_pkt:
>  			rx_page->read_offset +=
>  				(((u32)((prrs->word1 >>
> RRS_PKT_SIZE_SHIFT) &
>  				RRS_PKT_SIZE_MASK) +
> -				sizeof(struct atl1e_recv_ret_status) + 31) &
> -						0xFFFFFFE0);
> +				sizeof(struct atl1e_recv_ret_status) + 255) &
> +						0xFFFFFF00);
> 
>  			if (rx_page->read_offset >= rx_ring->page_size) {
>  				/* mark this page clean */

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-28  3:25                                                               ` Huang, Xiong
@ 2013-03-28  3:29                                                                 ` Hannes Frederic Sowa
  2013-03-28  3:39                                                                   ` Huang, Xiong
  2013-03-28  3:52                                                                   ` Huang, Xiong
  0 siblings, 2 replies; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-28  3:29 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

On Thu, Mar 28, 2013 at 03:25:29AM +0000, Huang, Xiong wrote:
> Please don't revise following code:
> 
> 			rx_page->read_offset +=
> 				(((u32)((prrs->word1 >> RRS_PKT_SIZE_SHIFT) &
> 				RRS_PKT_SIZE_MASK) +
> 				sizeof(struct atl1e_recv_ret_status) + 31) &
> 						0xFFFFFFE0);
> 
> Here 32bytes alignment is no matter with Page alignment.

If I revert this change I get sequence errors:

[  781.449864] ATL1E 0000:04:00.0: irq 45 for MSI/MSI-X
[  781.454634] IPv6: ADDRCONF(NETDEV_UP): p33p1: link is not ready
[  782.893744] ATL1E 0000:04:00.0 p33p1: NIC Link is Up <100 Mbps Full Duplex>
[  782.893797] IPv6: ADDRCONF(NETDEV_CHANGE): p33p1: link becomes ready
[  783.194443] ATL1E 0000:04:00.0 p33p1: rx sequence number error (rx=0) (expect=1)
[  783.204497] ATL1E 0000:04:00.0 p33p1: NIC Link is Up <100 Mbps Full Duplex>
[  783.225336] ATL1E 0000:04:00.0 p33p1: rx sequence number error (rx=0) (expect=1)
[  783.236636] ATL1E 0000:04:00.0 p33p1: NIC Link is Up <100 Mbps Full Duplex>
[  783.462652] ATL1E 0000:04:00.0 p33p1: rx sequence number error (rx=0) (expect=1)
[  783.472530] ATL1E 0000:04:00.0 p33p1: NIC Link is Up <100 Mbps Full Duplex>
[  784.038976] ATL1E 0000:04:00.0 p33p1: rx sequence number error (rx=0) (expect=1)
[  784.047354] ATL1E 0000:04:00.0 p33p1: NIC Link is Up <100 Mbps Full Duplex>
...

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-28  3:29                                                                 ` Hannes Frederic Sowa
@ 2013-03-28  3:39                                                                   ` Huang, Xiong
  2013-03-29  3:05                                                                     ` Hannes Frederic Sowa
  2013-03-28  3:52                                                                   ` Huang, Xiong
  1 sibling, 1 reply; 46+ messages in thread
From: Huang, Xiong @ 2013-03-28  3:39 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev

Dump every packet length & read_offset value,  compare them.

> -----Original Message-----
> From: Hannes Frederic Sowa [mailto:hannes@stressinduktion.org]
> Sent: Thursday, March 28, 2013 11:30 AM
> To: Huang, Xiong
> Cc: Sven Hartge; netdev@vger.kernel.org
> Subject: 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
> 
> On Thu, Mar 28, 2013 at 03:25:29AM +0000, Huang, Xiong wrote:
> > Please don't revise following code:
> >
> > 			rx_page->read_offset +=
> > 				(((u32)((prrs->word1 >>
> RRS_PKT_SIZE_SHIFT) &
> > 				RRS_PKT_SIZE_MASK) +
> > 				sizeof(struct atl1e_recv_ret_status) + 31) &
> > 						0xFFFFFFE0);
> >
> > Here 32bytes alignment is no matter with Page alignment.
> 
> If I revert this change I get sequence errors:
> 
> [  781.449864] ATL1E 0000:04:00.0: irq 45 for MSI/MSI-X [  781.454634] IPv6:
> ADDRCONF(NETDEV_UP): p33p1: link is not ready [  782.893744] ATL1E
> 0000:04:00.0 p33p1: NIC Link is Up <100 Mbps Full Duplex> [  782.893797] IPv6:
> ADDRCONF(NETDEV_CHANGE): p33p1: link becomes ready [  783.194443]
> ATL1E 0000:04:00.0 p33p1: rx sequence number error (rx=0) (expect=1)
> [  783.204497] ATL1E 0000:04:00.0 p33p1: NIC Link is Up <100 Mbps Full Duplex>
> [  783.225336] ATL1E 0000:04:00.0 p33p1: rx sequence number error (rx=0)
> (expect=1) [  783.236636] ATL1E 0000:04:00.0 p33p1: NIC Link is Up <100 Mbps
> Full Duplex> [  783.462652] ATL1E 0000:04:00.0 p33p1: rx sequence number
> error (rx=0) (expect=1) [  783.472530] ATL1E 0000:04:00.0 p33p1: NIC Link is
> Up <100 Mbps Full Duplex> [  784.038976] ATL1E 0000:04:00.0 p33p1: rx
> sequence number error (rx=0) (expect=1) [  784.047354] ATL1E 0000:04:00.0
> p33p1: NIC Link is Up <100 Mbps Full Duplex> ...


^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-28  3:29                                                                 ` Hannes Frederic Sowa
  2013-03-28  3:39                                                                   ` Huang, Xiong
@ 2013-03-28  3:52                                                                   ` Huang, Xiong
  1 sibling, 0 replies; 46+ messages in thread
From: Huang, Xiong @ 2013-03-28  3:52 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev

Sorry, my fault, your code is right.

> -----Original Message-----
> From: Hannes Frederic Sowa [mailto:hannes@stressinduktion.org]
> Sent: Thursday, March 28, 2013 11:30 AM
> To: Huang, Xiong
> Cc: Sven Hartge; netdev@vger.kernel.org
> Subject: 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
> 
> On Thu, Mar 28, 2013 at 03:25:29AM +0000, Huang, Xiong wrote:
> > Please don't revise following code:
> >
> > 			rx_page->read_offset +=
> > 				(((u32)((prrs->word1 >>
> RRS_PKT_SIZE_SHIFT) &
> > 				RRS_PKT_SIZE_MASK) +
> > 				sizeof(struct atl1e_recv_ret_status) + 31) &
> > 						0xFFFFFFE0);
> >
> > Here 32bytes alignment is no matter with Page alignment.
> 
> If I revert this change I get sequence errors:
> 
> [  781.449864] ATL1E 0000:04:00.0: irq 45 for MSI/MSI-X [  781.454634] IPv6:
> ADDRCONF(NETDEV_UP): p33p1: link is not ready [  782.893744] ATL1E
> 0000:04:00.0 p33p1: NIC Link is Up <100 Mbps Full Duplex> [  782.893797] IPv6:
> ADDRCONF(NETDEV_CHANGE): p33p1: link becomes ready [  783.194443]
> ATL1E 0000:04:00.0 p33p1: rx sequence number error (rx=0) (expect=1)
> [  783.204497] ATL1E 0000:04:00.0 p33p1: NIC Link is Up <100 Mbps Full Duplex>
> [  783.225336] ATL1E 0000:04:00.0 p33p1: rx sequence number error (rx=0)
> (expect=1) [  783.236636] ATL1E 0000:04:00.0 p33p1: NIC Link is Up <100 Mbps
> Full Duplex> [  783.462652] ATL1E 0000:04:00.0 p33p1: rx sequence number
> error (rx=0) (expect=1) [  783.472530] ATL1E 0000:04:00.0 p33p1: NIC Link is
> Up <100 Mbps Full Duplex> [  784.038976] ATL1E 0000:04:00.0 p33p1: rx
> sequence number error (rx=0) (expect=1) [  784.047354] ATL1E 0000:04:00.0
> p33p1: NIC Link is Up <100 Mbps Full Duplex> ...


^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-28  3:39                                                                   ` Huang, Xiong
@ 2013-03-29  3:05                                                                     ` Hannes Frederic Sowa
  2013-03-29  3:39                                                                       ` Huang, Xiong
  0 siblings, 1 reply; 46+ messages in thread
From: Hannes Frederic Sowa @ 2013-03-29  3:05 UTC (permalink / raw)
  To: Huang, Xiong; +Cc: Sven Hartge, netdev

On Thu, Mar 28, 2013 at 03:39:33AM +0000, Huang, Xiong wrote:
> Dump every packet length & read_offset value,  compare them.

I think we have it! :)

If we disable msi as it is done in the windows driver, everything works as
expected. Do you have any clue why this could be the case? Otherwise I would
send a patch to disable msi by default.

Thanks for your help,

  Hannes

^ permalink raw reply	[flat|nested] 46+ messages in thread

* 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
  2013-03-29  3:05                                                                     ` Hannes Frederic Sowa
@ 2013-03-29  3:39                                                                       ` Huang, Xiong
  0 siblings, 0 replies; 46+ messages in thread
From: Huang, Xiong @ 2013-03-29  3:39 UTC (permalink / raw)
  To: Hannes Frederic Sowa; +Cc: Sven Hartge, netdev

> 
> On Thu, Mar 28, 2013 at 03:39:33AM +0000, Huang, Xiong wrote:
> > Dump every packet length & read_offset value,  compare them.
> 
> I think we have it! :)
> 
> If we disable msi as it is done in the windows driver, everything works as
> expected. Do you have any clue why this could be the case? Otherwise I
> would send a patch to disable msi by default.
> 

Windows doesn't deliberately disable MSI, it just simply use INTx style since this chip hasn't MSIX capability :)
I think it's a safe solution to disable its MSI.

Thank you for all the test !

-Xiong

^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2013-03-29  3:39 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-22 23:07 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 rebelyouth
2013-03-22 23:54 ` Eric Dumazet
2013-03-23  0:07   ` rebelyouth
2013-03-23  2:10     ` Hannes Frederic Sowa
2013-03-23  4:54       ` rebelyouth
2013-03-23 15:06         ` Hannes Frederic Sowa
2013-03-24  0:36           ` Sven Hartge
2013-03-24  1:26             ` Hannes Frederic Sowa
2013-03-24  1:35               ` Sven Hartge
2013-03-24  1:41                 ` Hannes Frederic Sowa
2013-03-24  3:27                   ` Huang, Xiong
2013-03-24  3:40                     ` Hannes Frederic Sowa
2013-03-24  4:21                       ` Huang, Xiong
2013-03-24  4:37                         ` Hannes Frederic Sowa
2013-03-24  4:54                           ` Huang, Xiong
2013-03-24  5:13                             ` Hannes Frederic Sowa
2013-03-24  5:16                               ` Huang, Xiong
2013-03-24  5:23                                 ` Hannes Frederic Sowa
2013-03-24  5:42                                   ` Huang, Xiong
2013-03-24 17:22                                     ` Eric Dumazet
2013-03-24 17:38                                       ` Hannes Frederic Sowa
2013-03-24 17:23                                     ` Hannes Frederic Sowa
2013-03-25 16:30                                       ` Hannes Frederic Sowa
2013-03-26  4:27                                     ` Hannes Frederic Sowa
2013-03-26  4:34                                       ` Huang, Xiong
2013-03-26  4:40                                         ` Hannes Frederic Sowa
2013-03-26  4:44                                           ` Huang, Xiong
2013-03-27 22:02                                             ` Hannes Frederic Sowa
2013-03-27 22:28                                               ` Huang, Xiong
2013-03-27 22:34                                                 ` Hannes Frederic Sowa
2013-03-28  0:10                                                   ` Huang, Xiong
2013-03-28  0:40                                                     ` Hannes Frederic Sowa
2013-03-28  1:01                                                       ` Huang, Xiong
2013-03-28  1:16                                                         ` Hannes Frederic Sowa
2013-03-28  1:17                                                           ` Huang, Xiong
2013-03-28  3:19                                                             ` Hannes Frederic Sowa
2013-03-28  3:25                                                               ` Huang, Xiong
2013-03-28  3:29                                                                 ` Hannes Frederic Sowa
2013-03-28  3:39                                                                   ` Huang, Xiong
2013-03-29  3:05                                                                     ` Hannes Frederic Sowa
2013-03-29  3:39                                                                       ` Huang, Xiong
2013-03-28  3:52                                                                   ` Huang, Xiong
2013-03-24  6:12                                   ` Huang, Xiong
2013-03-24 17:24                                     ` Hannes Frederic Sowa
2013-03-24  1:07           ` Sven Hartge
2013-03-23  0:01 ` Hannes Frederic Sowa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.