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