On 30.04.2011 14:09, AD wrote: > Hi all, > > I hope that someone can give me a hint for the following problem. > > That's what I did: > > checkout socketcan from svn (revision 1240) > > in the folder socketcan/kernel/2.6: > > make > make modules_install > > modprobe can-isotp > > This results in the following error: > FATAL: Error inserting can_isotp > /lib/modules/2.6.32-bpo.5-686/extra/can-isotp.ko): Unknown symbol in module, > or unknown parameter (see dmesg) > > dmesg | tail output: > > [41334.983203] can: controller area network core (rev 20090105 abi 8) > [41334.984140] NET: Registered protocol family 29 > [41334.985885] can_isotp: disagrees about version of symbol can_proto_register > [41334.985891] can_isotp: Unknown symbol can_proto_register > [41334.986323] can_isotp: Unknown symbol can_ioctl > [41334.987262] can_isotp: disagrees about version of symbol > can_proto_unregister > [41334.987265] can_isotp: Unknown symbol can_proto_unregister > > lsmod | grep can results in this output > can 17795 0 > > this does also work: > modprobe can-raw > modprobe can-bcm > > lsmod | grep can results in this output > > can_bcm 9527 0 > can_raw 4235 0 > can 17795 2 can_bcm,can_raw > > So any ideas how the problem can be fixed?
Yes. The problem is, that you have a mix of mainline CAN sources (that came with your Debian kernel) and the SocketCAN SVN sources. You built the SocketCAN sources against the includes from the SVN which contain some updates that will emerge in the 2.6.39 mainline kernel (but not in your 2.6.32-bpo.5-686). You need to load consistent modules from mainline *OR* the BerliOS SVN: By default the Mainline modules are loaded (that's why can_raw and can_bcm are loading without problems). They are located in /lib/modules/2.6.32-bpo.5-686/kernel/net/can/*.ko The SocketCAN SVN modules are located in /lib/modules/2.6.32-bpo.5-686/extra/net/can/*.ko or (in your setup seen above) /lib/modules/2.6.32-bpo.5-686/extra/*.ko which therefore interferes ... So if you would like to run can-isotp you must be sure not to load the mainline modules: Unload all 'mainline' modules: modprobe -r can-bcm modprobe -r can-raw modprobe -r can cd /lib/modules/2.6.32-bpo.5-686/extra/ insmod ./can.ko insmod ./can-isotp.ko insmod ./can-raw.ko insmod ./can-bcm.ko This works :-) If you would like to use the SocketCAN modules generally you may remove the mainline CAN modules from the mainline modules directory: rm /lib/modules/2.6.32-bpo.5-686/kernel/net/can/*.ko and reorder the module depencies to select the stuff from /lib/modules/2.6.32-bpo.5-686/extra/ depmod -a But this is your choice - if you know what you're doing ;-) Regards, Oliver _______________________________________________ Socketcan-users mailing list [email protected] https://lists.berlios.de/mailman/listinfo/socketcan-users
