I am using Linux kernel version 6.6.23-v8-16k+.
My distributor is Debian GNU/Linux 121 (bookworm).
I am wanting to install and test the base xilinx_can module available in the base kernel code.
When installing the kernel, I was able to find to portion in the Configuration to tell the kernel installer to build this driver.
In the menuconfig, when building a Linux kernel, there is an option to have it build the Xilinx Can drvier for you
It appears that the Linux kernel has built the driver properly, as I can find the xilinx_can.ko module file in the drivers portion of my kernel code. However, when I try to install it, I receive the following errors when using insmod:
[ 158.547832] xilinx_can: Unknown symbol can_put_echo_skb (err -2)
[ 158.547855] xilinx_can: Unknown symbol can_get_echo_skb (err -2)
[ 158.547871] xilinx_can: Unknown symbol alloc_canfd_skb (err -2)
[ 158.547896] xilinx_can: Unknown symbol open_candev (err -2)
[ 158.547912] xilinx_can: Unknown symbol of_can_transceiver (err -2)
[ 158.547930] xilinx_can: Unknown symbol alloc_can_skb (err -2)
[ 158.547944] xilinx_can: Unknown symbol unregister_candev (err -2)
[ 158.547955] xilinx_can: Unknown symbol can_change_state (err -2)
[ 158.547965] xilinx_can: Unknown symbol can_change_mtu (err -2)
[ 158.547975] xilinx_can: Unknown symbol can_dropped_invalid_skb (err -2)
[ 158.547988] xilinx_can: Unknown symbol free_candev (err -2)
[ 158.547999] xilinx_can: Unknown symbol alloc_candev_mqs (err -2)
[ 158.548011] xilinx_can: Unknown symbol can_fd_len2dlc (err -2)
[ 158.548029] xilinx_can: Unknown symbol can_fd_dlc2len (err -2)
[ 158.548044] xilinx_can: Unknown symbol close_candev (err -2)
[ 158.548055] xilinx_can: Unknown symbol can_bus_off (err -2)
[ 158.548083] xilinx_can: Unknown symbol alloc_can_err_skb (err -2)
[ 158.548099] xilinx_can: Unknown symbol register_candev (err -2)
And when using modprobe:
modprobe: FATAL: Module xilinx_can not found in directory /lib/modules/6.6.23-v8-16k+
It seems that the kernel is missing some dependencies that the driver is expecting, but that feels odd since I did not edit or change any of the code, I merely told the kernel to build it.
Did I miss a box I needed to check when using menuconfig in the kernel builder? Or is it possible I didn’t install the kernel properly, which is why it might be showing up as built in my kernel code but not appearing in lib/modules?
Thanks.
tuatara is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.