Re: sky2 still badly broken
From: Stephen Hemminger <hidden>
Date: 2012-05-03 18:15:40
On Thu, 03 May 2012 20:06:11 +0200 Niccolò Belli [off-list ref] wrote:
Il 03/05/2012 17:23, Stephen Hemminger ha scritto:quoted
The receiver on some versions of the chip can't keep up with full speed of 1G bit/sec. The receive FIFO has hardware issues, and since I don't work for Marvell, working around the problem is guesswork. Without exact information all that can be done is have a timeout and blunt force reset logic. The vendor driver sk98lin has the same brute force logic, but may just not print the message.If I lower the speed to 100Mb/s I don't have rx errors anymore *BUT* when using dhcp after a while the network doesn't work anymore: 64 bytes from 8.8.8.8: icmp_req=590 ttl=47 time=61.7 ms 64 bytes from 8.8.8.8: icmp_req=591 ttl=47 time=62.0 ms 64 bytes from 8.8.8.8: icmp_req=592 ttl=47 time=62.0 ms ping: sendmsg: Network is unreachable ping: sendmsg: Network is unreachable ping: sendmsg: Network is unreachable I have no problems with dhcp using wifi or other NICs. Niccolò
Maybe ethtool registers have some info?
# ethtool -S eth0
NIC statistics:
tx_bytes: 3640274
rx_bytes: 61588953
tx_broadcast: 641
rx_broadcast: 9964
tx_multicast: 126
rx_multicast: 1501
tx_unicast: 32683
rx_unicast: 50415
tx_mac_pause: 0
rx_mac_pause: 0
collisions: 0
late_collision: 0
aborted: 0
single_collisions: 0
multi_collisions: 0
rx_short: 0
rx_runt: 0
rx_64_byte_packets: 8704
rx_65_to_127_byte_packets: 4414
rx_128_to_255_byte_packets: 6218
rx_256_to_511_byte_packets: 1289
rx_512_to_1023_byte_packets: 1777
rx_1024_to_1518_byte_packets: 39478
rx_1518_to_max_byte_packets: 0
rx_too_long: 0
rx_fifo_overflow: 0
rx_jabber: 0
rx_fcs_error: 0
tx_64_byte_packets: 1628
tx_65_to_127_byte_packets: 27483
tx_128_to_255_byte_packets: 2885
tx_256_to_511_byte_packets: 637
tx_512_to_1023_byte_packets: 429
tx_1024_to_1518_byte_packets: 388
tx_1519_to_max_byte_packets: 0
tx_fifo_underrun: 0
And if you enable the debugfs option there is more info
hidden there.
# mount -t debugfs debugfs /sys/kernel/debug
# cat /sys/kernel/debug/sky2/eth0