Bug #224
closed
bat0: hw csum failure on raspberry
Added by Michael Imhof about 9 years ago.
Updated almost 7 years ago.
Description
I am running bat-adv under raspbian on a raspberrypi b+ .
Unfortunately my syslog gets spammed multiple times a second due to a hw csum failure.
root@raspiff:~# cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
root@raspiff:~# uname -a
Linux raspiff 4.1.7+ #817 PREEMPT Sat Sep 19 15:25:36 BST 2015 armv6l GNU/Linux
root@raspiff:~# dmesg
...
[116975.356687] bat0: hw csum failure
[116975.356844] CPU: 0 PID: 95 Comm: systemd-journal Not tainted 4.1.7+ #817
[116975.356863] Hardware name: BCM2708
[116975.356941] [<c0016d88>] (unwind_backtrace) from [<c0013b50>] (show_stack+0x20/0x24)
[116975.357026] [<c0013b50>] (show_stack) from [<c0586bf8>] (dump_stack+0x20/0x28)
[116975.357150] [<c0586bf8>] (dump_stack) from [<c04a7630>] (netdev_rx_csum_fault+0x3c/0x48)
[116975.357202] [<c04a7630>] (netdev_rx_csum_fault) from [<c049d698>] (_skb_checksum_complete+0xb0/0xb4)
[116975.357319] [<c049d698>] (_skb_checksum_complete) from [<c051e1a8>] (igmp_rcv+0x8c/0x7dc)
[116975.357403] [<c051e1a8>] (igmp_rcv) from [<c04e04bc>] (ip_local_deliver_finish+0xdc/0x250)
[116975.357441] [<c04e04bc>] (ip_local_deliver_finish) from [<c04e0b04>] (ip_local_deliver+0x4c/0xc0)
[116975.357512] [<c04e0b04>] (ip_local_deliver) from [<c04e0768>] (ip_rcv_finish+0x138/0x35c)
[116975.357541] [<c04e0768>] (ip_rcv_finish) from [<c04e0dc4>] (ip_rcv+0x24c/0x3a0)
[116975.357613] [<c04e0dc4>] (ip_rcv) from [<c04a4d30>] (_netif_receive_skb_core+0x61c/0xa54)
[116975.357647] [<c04a4d30>] (_netif_receive_skb_core) from [<c04a76f4>] (_netif_receive_skb+0x20/0x7c)
[116975.357683] [<c04a76f4>] (_netif_receive_skb) from [<c04a8678>] (process_backlog+0x7c/0xfc)
[116975.357754] [<c04a8678>] (process_backlog) from [<c04a7ca8>] (net_rx_action+0x188/0x3c4)
[116975.357802] [<c04a7ca8>] (net_rx_action) from [<c0027a3c>] (_do_softirq+0x114/0x3b4)
[116975.357876] [<c0027a3c>] (_do_softirq) from [<c0028070>] (irq_exit+0xcc/0x120)
[116975.357916] [<c0028070>] (irq_exit) from [<c0061260>] (_handle_domain_irq+0x84/0xe0)
[116975.357998] [<c0061260>] (_handle_domain_irq) from [<c00093a4>] (asm_do_IRQ+0x2c/0x30)
[116975.358040] [<c00093a4>] (asm_do_IRQ) from [<c058c648>] (_irq_usr+0x48/0xc0)
[116975.358103] Exception stack(0xda4c9fb0 to 0xda4c9ff8)
[116975.358129] 9fa0: 00000008 00000000 00000001 00000000
[116975.358155] 9fc0: b6511268 bef6eb4c 000ab268 00000000 00000007 00000000 b6511200 807f6408
[116975.358179] 9fe0: 000000c7 bef6eb00 7f5de5c0 7f5f4d1c 00000010 ffffffff
[116975.367184] bat0: hw csum failure
[116975.367271] CPU: 0 PID: 95 Comm: systemd-journal Not tainted 4.1.7+ #817
[116975.367286] Hardware name: BCM2708
[116975.367435] [<c0016d88>] (unwind_backtrace) from [<c0013b50>] (show_stack+0x20/0x24)
[116975.367566] [<c0013b50>] (show_stack) from [<c0586bf8>] (dump_stack+0x20/0x28)
[116975.367647] [<c0586bf8>] (dump_stack) from [<c04a7630>] (netdev_rx_csum_fault+0x3c/0x48)
[116975.367697] [<c04a7630>] (netdev_rx_csum_fault) from [<c049d698>] (_skb_checksum_complete+0xb0/0xb4)
[116975.367875] [<c049d698>] (_skb_checksum_complete) from [<c051e1a8>] (igmp_rcv+0x8c/0x7dc)
[116975.367921] [<c051e1a8>] (igmp_rcv) from [<c04e04bc>] (ip_local_deliver_finish+0xdc/0x250)
[116975.367998] [<c04e04bc>] (ip_local_deliver_finish) from [<c04e0b04>] (ip_local_deliver+0x4c/0xc0)
[116975.368031] [<c04e0b04>] (ip_local_deliver) from [<c04e0768>] (ip_rcv_finish+0x138/0x35c)
[116975.368062] [<c04e0768>] (ip_rcv_finish) from [<c04e0dc4>] (ip_rcv+0x24c/0x3a0)
[116975.368132] [<c04e0dc4>] (ip_rcv) from [<c04a4d30>] (_netif_receive_skb_core+0x61c/0xa54)
[116975.368165] [<c04a4d30>] (_netif_receive_skb_core) from [<c04a76f4>] (_netif_receive_skb+0x20/0x7c)
[116975.368239] [<c04a76f4>] (_netif_receive_skb) from [<c04a8678>] (process_backlog+0x7c/0xfc)
[116975.368272] [<c04a8678>] (process_backlog) from [<c04a7ca8>] (net_rx_action+0x188/0x3c4)
[116975.368318] [<c04a7ca8>] (net_rx_action) from [<c0027a3c>] (_do_softirq+0x114/0x3b4)
[116975.368395] [<c0027a3c>] (_do_softirq) from [<c0028070>] (irq_exit+0xcc/0x120)
[116975.368440] [<c0028070>] (irq_exit) from [<c0061260>] (_handle_domain_irq+0x84/0xe0)
[116975.368650] [<c0061260>] (_handle_domain_irq) from [<c00093a4>] (asm_do_IRQ+0x2c/0x30)
[116975.368700] [<c00093a4>] (asm_do_IRQ) from [<c058c648>] (_irq_usr+0x48/0xc0)
[116975.368760] Exception stack(0xda4c9fb0 to 0xda4c9ff8)
[116975.368782] 9fa0: 807f6408 00000000 00000000 00000000
[116975.368844] 9fc0: 00000001 b6fe8f10 0001de30 00000000 807f6408 bef6eb4c 00000000 807f6408
[116975.368872] 9fe0: 7f615ccc bef6eab0 00000310 7f5ded20 60000010 ffffffff
...
This issue was also reported independently on the raspberrypi forum:
https://www.raspberrypi.org/forums/viewtopic.php?t=125888&p=843372
Problem persists with batman-adv-2015.1
[280099.774438] bat0: hw csum failure
[280099.774496] CPU: 0 PID: 19752 Comm: sshd Tainted: G O 4.1.7+ #817
[280099.774575] Hardware name: BCM2708
[280099.774654] [<c0016d88>] (unwind_backtrace) from [<c0013b50>] (show_stack+0x20/0x24)
[280099.774741] [<c0013b50>] (show_stack) from [<c0586bf8>] (dump_stack+0x20/0x28)
[280099.774823] [<c0586bf8>] (dump_stack) from [<c04a7630>] (netdev_rx_csum_fault+0x3c/0x48)
[280099.774871] [<c04a7630>] (netdev_rx_csum_fault) from [<c049d698>] (_skb_checksum_complete+0xb0/0xb4)
[280099.775301] [<c049d698>] (_skb_checksum_complete) from [<bf022030>] (rawv6_rcv+0x134/0x350 [ipv6])
[280099.775833] [<bf022030>] (rawv6_rcv [ipv6]) from [<bf022374>] (raw6_local_deliver+0x128/0x24c [ipv6])
[280099.776274] [<bf022374>] (raw6_local_deliver [ipv6]) from [<bf00602c>] (ip6_input_finish+0x78/0x488 [ipv6])
[280099.776668] [<bf00602c>] (ip6_input_finish [ipv6]) from [<bf006968>] (ip6_input+0x30/0x84 [ipv6])
[280099.777090] [<bf006968>] (ip6_input [ipv6]) from [<bf006a9c>] (ip6_mc_input+0xe0/0x228 [ipv6])
[280099.777471] [<bf006a9c>] (ip6_mc_input [ipv6]) from [<bf005f30>] (ip6_rcv_finish+0x40/0xc4 [ipv6])
[280099.777859] [<bf005f30>] (ip6_rcv_finish [ipv6]) from [<bf0067b4>] (ipv6_rcv+0x378/0x4fc [ipv6])
[280099.778121] [<bf0067b4>] (ipv6_rcv [ipv6]) from [<c04a4d7c>] (_netif_receive_skb_core+0x668/0xa54)
[280099.778216] [<c04a4d7c>] (_netif_receive_skb_core) from [<c04a76f4>] (_netif_receive_skb+0x20/0x7c)
[280099.778255] [<c04a76f4>] (_netif_receive_skb) from [<c04a8678>] (process_backlog+0x7c/0xfc)
[280099.778330] [<c04a8678>] (process_backlog) from [<c04a7ca8>] (net_rx_action+0x188/0x3c4)
[280099.778378] [<c04a7ca8>] (net_rx_action) from [<c0027a3c>] (_do_softirq+0x114/0x3b4)
[280099.778455] [<c0027a3c>] (_do_softirq) from [<c0028070>] (irq_exit+0xcc/0x120)
[280099.778498] [<c0028070>] (irq_exit) from [<c0061260>] (_handle_domain_irq+0x84/0xe0)
[280099.778574] [<c0061260>] (_handle_domain_irq) from [<c00093a4>] (asm_do_IRQ+0x2c/0x30)
[280099.778620] [<c00093a4>] (asm_do_IRQ) from [<c058c2f8>] (_irq_svc+0x38/0xd0)
[280099.778676] Exception stack(0xc87f3dd8 to 0xc87f3e20)
[280099.778697] 3dc0: c87f3e3c 815853a4
[280099.778721] 3de0: c87f3e20 c87f2000 00000004 c87f3e38 815853a0 81585390 00000000 0000000d
[280099.778782] 3e00: c87f3e38 c87f3f64 0000001c c87f3e20 00001108 c01515d0 a0000013 ffffffff
[280099.778838] [<c058c2f8>] (_irq_svc) from [<c01515d0>] (core_sys_select+0xec/0x360)
[280099.778877] [<c01515d0>] (core_sys_select) from [<c0151914>] (SyS_select+0xd0/0x124)
[280099.778955] [<c0151914>] (SyS_select) from [<c000f700>] (ret_fast_syscall+0x0/0x54)
[280099.779080] bat0: hw csum failure
[280099.779112] CPU: 0 PID: 19752 Comm: sshd Tainted: G O 4.1.7+ #817
[280099.779169] Hardware name: BCM2708
[280099.779218] [<c0016d88>] (unwind_backtrace) from [<c0013b50>] (show_stack+0x20/0x24)
[280099.779259] [<c0013b50>] (show_stack) from [<c0586bf8>] (dump_stack+0x20/0x28)
[280099.779340] [<c0586bf8>] (dump_stack) from [<c04a7630>] (netdev_rx_csum_fault+0x3c/0x48)
[280099.779389] [<c04a7630>] (netdev_rx_csum_fault) from [<c049d698>] (_skb_checksum_complete+0xb0/0xb4)
[280099.779727] [<c049d698>] (_skb_checksum_complete) from [<bf0234e4>] (icmpv6_rcv+0x2d8/0xa5c [ipv6])
[280099.780178] [<bf0234e4>] (icmpv6_rcv [ipv6]) from [<bf006128>] (ip6_input_finish+0x174/0x488 [ipv6])
[280099.780599] [<bf006128>] (ip6_input_finish [ipv6]) from [<bf006968>] (ip6_input+0x30/0x84 [ipv6])
[280099.780978] [<bf006968>] (ip6_input [ipv6]) from [<bf006a9c>] (ip6_mc_input+0xe0/0x228 [ipv6])
[280099.781542] [<bf006a9c>] (ip6_mc_input [ipv6]) from [<bf005f30>] (ip6_rcv_finish+0x40/0xc4 [ipv6])
[280099.781963] [<bf005f30>] (ip6_rcv_finish [ipv6]) from [<bf0067b4>] (ipv6_rcv+0x378/0x4fc [ipv6])
[280099.782212] [<bf0067b4>] (ipv6_rcv [ipv6]) from [<c04a4d7c>] (_netif_receive_skb_core+0x668/0xa54)
[280099.782307] [<c04a4d7c>] (_netif_receive_skb_core) from [<c04a76f4>] (_netif_receive_skb+0x20/0x7c)
[280099.782342] [<c04a76f4>] (_netif_receive_skb) from [<c04a8678>] (process_backlog+0x7c/0xfc)
[280099.782377] [<c04a8678>] (process_backlog) from [<c04a7ca8>] (net_rx_action+0x188/0x3c4)
[280099.782461] [<c04a7ca8>] (net_rx_action) from [<c0027a3c>] (_do_softirq+0x114/0x3b4)
[280099.782593] [<c0027a3c>] (_do_softirq) from [<c0028070>] (irq_exit+0xcc/0x120)
[280099.782638] [<c0028070>] (irq_exit) from [<c0061260>] (_handle_domain_irq+0x84/0xe0)
[280099.782714] [<c0061260>] (_handle_domain_irq) from [<c00093a4>] (asm_do_IRQ+0x2c/0x30)
[280099.782759] [<c00093a4>] (asm_do_IRQ) from [<c058c2f8>] (_irq_svc+0x38/0xd0)
[280099.782815] Exception stack(0xc87f3dd8 to 0xc87f3e20)
[280099.782835] 3dc0: c87f3e3c 815853a4
[280099.782859] 3de0: c87f3e20 c87f2000 00000004 c87f3e38 815853a0 81585390 00000000 0000000d
[280099.782922] 3e00: c87f3e38 c87f3f64 0000001c c87f3e20 00001108 c01515d0 a0000013 ffffffff
[280099.782974] [<c058c2f8>] (_irq_svc) from [<c01515d0>] (core_sys_select+0xec/0x360)
[280099.783052] [<c01515d0>] (core_sys_select) from [<c0151914>] (SyS_select+0xd0/0x124)
[280099.783092] [<c0151914>] (SyS_select) from [<c000f700>] (ret_fast_syscall+0x0/0x54)
As a workaround it seems to be sufficient to disable hw rx-checksumming on eth0 in conjunction with the deactivation of generic-receive-offload on bat0:
ethtool -K eth0 rx off
ethtool -K bat0 gro off
Hi Michael,
thanks for reporting this checksum problem. To be honest, we feel somewhat out of our league for what concerns hardware accelerated checksumming on the raspery pi. May I suggest you send this kernel trace to the netdev mailing list (netdev@vger.kernel.org) while cc-ing the batman mailing list (b.a.t.m.a.n@lists.open-mesh.org) and ask for input. Please keep in mind to not send any HTML within your mail or else it'll be rejected.
Hi Michael,
There have been two fixes for "hw csum" errors lately in the Linux kernel. One of them introduced (and fixed: 9b368814b33) by me... but the call trace is different, so probably not your issue. However the second one looks promising:
bpf: add skb_postpush_rcsum and fix dev_forward_skb occasions
Could you retry with a v4.5 Linux kernel?
If it still exists I can have a closer look, had been playing with a Raspberry Pi 2 (which has the same ethernet chip as the Raspberry 1) to fix my checksumming issue three weeks ago, so I had the opportunity to get a little familiar with its hardware checksumming and the Linux checksumming code.
Regards, Linus
- Assignee set to Michael Imhof
Seems to be fixed.
Thanks a lot and kind regards,
Michael
- Status changed from New to Rejected
Mark it as rejected because the problem is caused by different components in the kernel (which are fixed in newer kernel versions).
Matthias Schiffer created two patches which are somewhat related to this ticket:
They are not really RaspberryPI specific but are related to something which might also have caused your problem. Tt is quite likely that someone searching for the error message will find this ticket.
Also available in: Atom
PDF