[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#701489: linux-image-3.7-trunk-amd64: asix_rx_fixup error messages from Lenovo ethernet dongle



Le mercredi 27 février 2013 à 18:04 +0100, Vincent Blut a écrit :
> found 701489 3.2.35-2
> thanks
> 
> Le samedi 23 février 2013 à 13:24 -0500, Eric Cooper a écrit :
> > Package: src:linux
> > Version: 3.7.8-1~experimental.1
> > Severity: normal
> > 
> > During normal operation, there are numerous error messages from
> > asix_rx_fixup, some of which are in the attached log.  This is the
> > Lenovo usb-ethernet dongle supplied with the ThinkPad X1 Carbon
> > laptop.
> > 
> Hi Eric,
> 
> I have a usb to ethernet dongle here which embed the same controller:
> 
> $ lsusb -v | grep -i asix
> Bus 003 Device 002: ID 0b95:7e2b ASIX Electronics Corp. AX88772B
>   idVendor           0x0b95 ASIX Electronics Corp.
>   iManufacturer           1 ASIX Elec. Corp.
> 
> Like you, I get from time to time the following error messages: 
> 
> $ dmesg | grep 'asix_rx_fixup()'
> [11687.121074] asix 3-1:1.0 eth0: asix_rx_fixup() Bad RX Length 582
> [11859.900410] asix 3-1:1.0 eth0: asix_rx_fixup() Bad RX Length 454
> [15697.977880] asix 3-1:1.0 eth0: asix_rx_fixup() Bad RX Length 66
> [15697.977888] asix 3-1:1.0 eth0: asix_rx_fixup() Bad Header Length
> [15698.131641] asix 3-1:1.0 eth0: asix_rx_fixup() Bad RX Length 66
> [15698.131813] asix 3-1:1.0 eth0: asix_rx_fixup() Bad Header Length
> [15698.618950] asix 3-1:1.0 eth0: asix_rx_fixup() Bad RX Length 66
> [15698.618987] asix 3-1:1.0 eth0: asix_rx_fixup() Bad Header Length
> [15698.816807] asix 3-1:1.0 eth0: asix_rx_fixup() Bad RX Length 66
> [15698.816848] asix 3-1:1.0 eth0: asix_rx_fixup() Bad Header Length
> [15698.963551] asix 3-1:1.0 eth0: asix_rx_fixup() Bad RX Length 66
> [15698.963622] asix 3-1:1.0 eth0: asix_rx_fixup() Bad Header Length
> [15699.017713] asix 3-1:1.0 eth0: asix_rx_fixup() Bad RX Length 66
> [15699.017734] asix 3-1:1.0 eth0: asix_rx_fixup() Bad Header Length
> 
> As reported in the kernel ring buffer, I thought that these errors were
> all related to rx_length_errors but looking at the sysfs interface it
> seems it isn't the case:
> 
> $ cat /sys/class/net/eth0/statistics/rx_length_errors
> 2
> 
> The rest is logged in rx_errors
> 
> $ cat /sys/class/net/eth0/statistics/rx_errors
> 16
> 
> I tested throughput with iperf before and after these errors and it
> seems that the connection is not affected (≈ 94Mbits/s), same conclusion
> for the latency. 
> 
> I intended to see if a bad NIC parameter could be the cause of these
> errors, but most NIC of them are fixed in the firmware (‽):
> 
> # ethtool -k eth0
> Features for eth0:
> rx-checksumming: off [fixed]
> tx-checksumming: off
> 	tx-checksum-ipv4: off [fixed]
> 	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 [fixed]
> 	tx-scatter-gather-fraglist: off [fixed]
> tcp-segmentation-offload: off
> 	tx-tcp-segmentation: off [fixed]
> 	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: off [fixed]
> tx-vlan-offload: off [fixed]
> 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 [fixed]
> rx-all: off [fixed]
> 
> Finally, looking at the kernel git tree for asix_rx_fixup() related
> commits, only the first isn't in 3.7:
> 
> commit 8b5b6f5413e97c3e8bafcdd67553d508f4f698cd
> net: asix: handle packets crossing URB boundaries (doesn't queued in
> 3.8)

This one has been added in 3.9-rc1 but don't improve the situation.

> 
> commit a9e0aca4b37885b5599e52211f098bd7f565e749
> asix: asix_rx_fixup surgery to reduce skb truesizes (applied in >= 3.4)
> 
> commit 9227a46bfbac0516fb7428715a095e1bc59b872a
> asix: check packet size against mtu+ETH_HLEN instead of ETH_FRAME_LEN
> (applied in >= 2.6.35)
> 
> Cheers,
> Vincent
> 
> 


Reply to: