Comment 60 for bug 60764

Revision history for this message
Tero Jänkä (graytron) wrote :

I can confirm this "Corrupted MAC on input" bug on i386 desktop version of Ubuntu 9.10 karmic. Silent file corruption also happens when downloading files using HTTP or FTP protocols. This bug is easily reproducible.

The computer on which this bug manifests itself is an Asus Eee PC 1000HE with 2 GB of RAM and an Atheros AR8121/AR8113/AR8114 PCI-E Ethernet Controller (1969:1026). I tried upgrading the 1000HE AMI BIOS from version 0607 to 1002, but that didn't help.

- $ uname -a
Linux eeepc 2.6.31-15-generic #50-Ubuntu SMP Tue Nov 10 14:54:29 UTC 2009 i686 GNU/Linux

- $ sudo lspci -vvvn
03:00.0 0200: 1969:1026 (rev b0)
        Subsystem: 1043: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 27
        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 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [48] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+
                Address: 00000000fee0300c Data: 417a
        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- Suprise- 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 <?>
        Capabilities: [100] Advanced Error Reporting <?>
        Capabilities: [180] Device Serial Number <EDITED OUT>
        Kernel driver in use: ATL1E
        Kernel modules: atl1e

- $ sudo ethtool -i eth0
driver: ATL1E
version: 1.0.0.7-NAPI
firmware-version: L1e
bus-info: 0000:03:00.0

- $ sudo ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes: 10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes: 10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pg
        Wake-on: d
        Current message level: 0x00000000 (0)
        Link detected: yes

- $ sudo ethtool -k eth0
Cannot get device rx csum settings: Operation not supported
Cannot get device flags: Operation not supported
Offload parameters for eth0:
rx-checksumming: off
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off

I have tried the workarounds mentioned in this thread and elsewhere, but none of them works.

- $ sudo ethtool -K eth0 rx off
Cannot set device rx csum settings: Operation not supported

- $ sudo ethtool -K eth0 tx off
Cannot set device tx csum settings: Operation not supported

- $ sudo ethtool -K eth0 tso off
Cannot set device tcp segmentation offload settings: Operation not supported

After running above 3 commands "sudo ethtool -k eth0" still prints exactly the same values as listed above. How can I disable these offload settings for good?

To reproduce the bug repeat the following steps 1-3.

1. Suspend the computer (Fn+F1 on Asus Eee PC 1000HE)

2. Wake up from Suspend (Press any key)

3. $ scp user@remoteserver:~/ubuntu-9.10-server-amd64.iso .
ubuntu-9.10-server-amd64.iso 0% 0 0.0KB/s --:-- ETA
Disconnecting: Corrupted MAC on input.
lost connection

It seems that after this initial "Corrupted MAC on input" error the bug takes a longer time to emerge again, but it always shows up right after waking up from suspend and downloading something with scp. The bug is _not_ openssh or scp related. Silent file corruption happens when downloading files using HTTP or FTP protocols.

Let me know if you need any more information and I will provide it. This is a major problem and concerns many people.