Marvell 88E8056 – sky2 linux driver broken

Posted: December 29th, 2014 | Author: | Filed under: other | No Comments »

Update 5/22/15: I’ve since found that lowering the MTU below 1500 with the sky2 driver will cause major packet loss when the interface is used in a bridged connection for a Virtualbox VM. I have since raised the MTU back to 1500 and haven’t had the issue reoccur with the current kernel (3.16.0-38-generic #52-Ubuntu SMP).

———

Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller

Symptom: During heavy network loads you get rx length errors and loss of network connectivity. Syslog will show similar messages to below.

Diagnosis: The sky2 driver remains broken for the Marvell 88E8056 on-board gigabit NICs.

Workaround: Set MTU permanetly to 1492 (default is likely set at 1500).

Check current MTU setting with:
# ip link list

Temporary MTU setting can be done with:
# ifconfig eth0 mtu 1492

Permanent MTU setting can be done via the GUI network manager settings or via edits to /etc/network/interfaces.

/var/log/syslog errors example:


kernel: [34019.426715] sky2 0000:06:00.0: error interrupt status=0x40000008
kernel: [34019.427154] sky2 0000:06:00.0 eth0: rx error, status 0x5ea0100 length 2082
kernel: [34020.055038] : hw csum failure
kernel: [34020.055053] CPU: 0 PID: 0 Comm: swapper/0 Tainted: P IOE 3.16.0-28-generic #38-Ubuntu
kernel: [34020.055056] Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202 12/22/2010
kernel: [34020.055059] ffff8801e335a501 ffff88033fc03b20 ffffffff81781eaa 0000000000000000
kernel: [34020.055063] ffff88033fc03b38 ffffffff8167df4a ffff880306f32600 ffff88033fc03b68
kernel: [34020.055066] ffffffff81675cf5 02b25bc6e3359e62 ffff8802eb6c8000 ffff8801e335a5e2
kernel: [34020.055070] Call Trace:
kernel: [34020.055072] [] dump_stack+0x45/0x56
kernel: [34020.055087] [] netdev_rx_csum_fault+0x3a/0x40
kernel: [34020.055091] [] __skb_checksum_complete+0xb5/0xc0
kernel: [34020.055097] [] tcp_rcv_established+0x154/0x6e0
kernel: [34020.055101] [] tcp_v4_do_rcv+0x1b5/0x4e0
kernel: [34020.055106] [] ? skb_checksum+0x26/0x30
kernel: [34020.055113] [] ? skb_push+0x50/0x50
kernel: [34020.055125] [] tcp_v4_rcv+0x6ce/0x7b0
kernel: [34020.055138] [] ? __enqueue_entity+0x78/0x80
kernel: [34020.055141] [] ? enqueue_entity+0x400/0xc20
kernel: [34020.055147] [] ip_local_deliver_finish+0xaa/0x220
kernel: [34020.055150] [] ip_local_deliver+0x48/0x80
kernel: [34020.055154] [] ip_rcv_finish+0x84/0x350
kernel: [34020.055158] [] ip_rcv+0x27f/0x380
kernel: [34020.055161] [] __netif_receive_skb_core+0x572/0x820
kernel: [34020.055165] [] __netif_receive_skb+0x16/0x70
kernel: [34020.055168] [] netif_receive_skb_internal+0x23/0x90
kernel: [34020.055171] [] napi_gro_receive+0xc0/0xf0
kernel: [34020.055192] [] sky2_poll+0x5b3/0xd60 [sky2]
kernel: [34020.055196] [] net_rx_action+0x142/0x250
kernel: [34020.055200] [] __do_softirq+0x124/0x2e0
kernel: [34020.055207] [] irq_exit+0xfd/0x110
kernel: [34020.055213] [] do_IRQ+0x56/0xe0
kernel: [34020.055227] [] common_interrupt+0x6d/0x6d
kernel: [34020.055231] [] ? cpuidle_enter_state+0x49/0xc0
kernel: [34020.055244] [] cpuidle_enter+0x17/0x20
kernel: [34020.055251] [] cpu_startup_entry+0x347/0x480
kernel: [34020.055258] [] rest_init+0x77/0x80
kernel: [34020.055266] [] start_kernel+0x44e/0x45b
kernel: [34020.055272] [] ? early_idt_handlers+0x120/0x120
kernel: [34020.055277] [] x86_64_start_reservations+0x2a/0x2c
kernel: [34020.055284] [] x86_64_start_kernel+0x143/0x152
kernel: [34020.887384] : hw csum failure
kernel: [34023.443785] CPU: 0 PID: 3968 Comm: plasma-desktop Tainted: P IOE 3.16.0-28-generic #38-Ubuntu
kernel: [34023.443786] Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202 12/22/2010
kernel: [34023.443788] ffffffff81ce1001 ffff88033fc03bd8 ffffffff81781eaa ffff88032e24e000
kernel: [34023.443790] ffff88033fc03bf0 ffffffff8167df4a ffff880243e6e400 ffff88033fc03c20
kernel: [34023.443792] ffffffff81675cf5 fc9805e500000000 ffff880243e6e400 ffffffff81ce10c0
kernel: [34023.443794] Call Trace:
kernel: [34023.443796] [] dump_stack+0x45/0x56
kernel: [34023.443802] [] netdev_rx_csum_fault+0x3a/0x40
kernel: [34023.443804] [] __skb_checksum_complete+0xb5/0xc0
kernel: [34023.443806] [] tcp_v4_rcv+0x2c0/0x7b0
kernel: [34023.443809] [] ? update_curr+0x75/0x180
kernel: [34023.443812] [] ip_local_deliver_finish+0xaa/0x220
kernel: [34023.443814] [] ip_local_deliver+0x48/0x80
kernel: [34023.443817] [] ip_rcv_finish+0x84/0x350
kernel: [34023.443819] [] ip_rcv+0x27f/0x380
kernel: [34023.443821] [] __netif_receive_skb_core+0x572/0x820
kernel: [34023.443824] [] __netif_receive_skb+0x16/0x70
kernel: [34023.443826] [] netif_receive_skb_internal+0x23/0x90
kernel: [34023.443828] [] napi_gro_receive+0xc0/0xf0
kernel: [34023.443834] [] sky2_poll+0x5b3/0xd60 [sky2]
kernel: [34023.443837] [] net_rx_action+0x142/0x250
kernel: [34023.443839] [] __do_softirq+0x124/0x2e0
kernel: [34023.443844] [] irq_exit+0xfd/0x110
kernel: [34023.443847] [] do_IRQ+0x56/0xe0
kernel: [34023.443849] [] common_interrupt+0x6d/0x6d
kernel: [34023.443850] [] ? netlink_poll+0x13b/0x1e0
kernel: [34023.443855] [] ? SYSC_sendto+0x1c0/0x1c0
kernel: [34023.443858] [] ? __mutex_lock_interruptible_slowpath+0x230/0x230
kernel: [34023.443862] [] ? unix_stream_recvmsg+0xf7/0x8c0
kernel: [34023.443866] [] ? aa_sock_msg_perm+0x81/0x160
kernel: [34023.443868] [] sock_recvmsg+0x9c/0xd0
kernel: [34023.443872] [] ? poll_select_copy_remaining+0x130/0x130
kernel: [34023.443874] [] ___sys_recvmsg+0x107/0x2b0
kernel: [34023.443879] [] ? inotify_free_event+0xe/0x10
kernel: [34023.443882] [] ? kfree+0x13e/0x150
kernel: [34023.443885] [] ? finish_wait+0x55/0x70
kernel: [34023.443888] [] ? inotify_read+0x122/0x440
kernel: [34023.443891] [] __sys_recvmsg+0x42/0x80
kernel: [34023.443893] [] SyS_recvmsg+0x12/0x20
kernel: [34023.443895] [] system_call_fastpath+0x1a/0x1f
kernel: [34027.250308] eth0: hw csum failure



Leave a Reply