Some modules in extras not loadable

Issue #24 new
Michael Root created an issue

Running 2018.5 K26ARM USB AIO-64K on an R8000, some modules in the 2018.5 extras tarball load fine (eg. zlib_deflate), but many others fail:

#!
# insmod xfrm4_tunnel.ko 
insmod: can't insert 'xfrm4_tunnel.ko': Invalid argument

Details from syslog:

#!

Jan  1 01:35:41 R8000 kern.warn kernel: xfrm4_tunnel: Unknown symbol xfrm4_tunnel_register (err 0)
Jan  1 01:35:41 R8000 kern.warn kernel: xfrm4_tunnel: disagrees about version of symbol xfrm_register_type
Jan  1 01:35:41 R8000 kern.warn kernel: xfrm4_tunnel: Unknown symbol xfrm_register_type (err -22)
Jan  1 01:35:41 R8000 kern.warn kernel: xfrm4_tunnel: disagrees about version of symbol skb_push
Jan  1 01:35:41 R8000 kern.warn kernel: xfrm4_tunnel: Unknown symbol skb_push (err -22)
Jan  1 01:35:41 R8000 kern.warn kernel: xfrm4_tunnel: disagrees about version of symbol xfrm_unregister_type
Jan  1 01:35:41 R8000 kern.warn kernel: xfrm4_tunnel: Unknown symbol xfrm_unregister_type (err -22)
Jan  1 01:35:41 R8000 kern.warn kernel: xfrm4_tunnel: Unknown symbol xfrm4_tunnel_deregister (err 0)
Jan  1 01:35:41 R8000 kern.warn kernel: xfrm4_tunnel: disagrees about version of symbol xfrm4_rcv_encap
Jan  1 01:35:41 R8000 kern.warn kernel: xfrm4_tunnel: Unknown symbol xfrm4_rcv_encap (err -22)

The common denominator in the modules that don't load seems to be the skb_push symbol.

The ipsec modules in extras are very handy, as they allow setting up an iOS-native IKEv2 or IPsec VPN.

Comments (6)

  1. Michael Root reporter

    Another data point: I reverted the R8000 to 2018.2 K26ARM USB AIO-64K, as I also have a Linksys EA6900 running that version, and the ipsec extras modules work fine on that hardware. Unfortunately, I still get the same "Unknown symbol" errors on the R8000. To summarize:

    • EA6500 + 2018.2 AIO firmware + 2018.2 arm-extras: works fine
    • R8000 + 2018.2 AIO firmware + 2018.2 arm-extras: "unknown symbol"
  2. Michael Root reporter

    Yet another data point: I updated my EA6900 to 2018.5, and the corresponding arm-extras ipsec modules work fine on that hardware. Maybe there's some issue with the R8000 build config?

  3. Michael Root reporter

    Still an issue with the 2019.1 build and assocated arm-extra tarball:

    root@R8000:/opt/extras/ipsec# insmod xfrm4_mode_transport.ko 
    insmod: can't insert 'xfrm4_mode_transport.ko': Invalid argument
    root@R8000:/opt/extras/ipsec# dmesg
    xfrm4_mode_transport: disagrees about version of symbol xfrm_unregister_mode
    xfrm4_mode_transport: Unknown symbol xfrm_unregister_mode (err -22)
    xfrm4_mode_transport: disagrees about version of symbol xfrm_register_mode
    xfrm4_mode_transport: Unknown symbol xfrm_register_mode (err -22)
    root@R8000:/opt/extras/ipsec# ls -l xfrm4_mode_transport.ko 
         4 -rw-r--r--    1 1000     1000          3756 Feb 26  2019 xfrm4_mode_transport.ko
    root@R8000:/opt/extras/ipsec# md5sum xfrm4_mode_transport.ko
    1cb164f8e4aeed63257a77bc5ecdf61d  xfrm4_mode_transport.ko
    root@R8000:/opt/extras/ipsec# uname -a
    Linux R8000 2.6.36.4brcmarm #5 SMP PREEMPT Mon Feb 25 21:07:48 CET 2019 armv7l Tomato
    root@R8000:/opt/extras/ipsec# nvram get os_version
    2019.1 K26ARM USB AIO-64K
    

    Would really appreciate your thoughts--even if it's "sorry, too busy to fix"... Thanks :)

  4. Log in to comment