So here's some good news!
I realized, about 10 minutes after I sent that anguished email, that (as
was pointed out in another email) my kernel already had SocketCAN in it.
And it worked, as far as the modprobe steps were concerned.
The news then turned a little bad. The version of iproute2 that's in the
2.6.39 kernel didn't support the "type can" parameters for the ip link
set command :
/usr/sbin/ip link set can0 up type can bitrate 250000
I grabbed the rpm for the latest version of iproute2, and tried to
install it. And then things got weird. It *conflicts* with the version
of iproute2 that's already installed, but isn't an upgrade or update of
it, according to yum.
Fortunately (I hope), I could do a --force install of it and it ended up
putting the ip binary in /usr/sbin/ (which is not where the earlier
version of ip ended up). When I run that new ip from that directory, it
looks like it works. I have no clear idea what harm will happen now that
I have two different versions of iproute2 installed, or if I should
overwrite the older with the newer.
I did compile can-utils, but as I don't have an actual CAN network set
up (but just the ESD dongle), I can't really tell if it's working.
I'm going to give the box back to Jesse tomorrow, and he's going to take
over from here.
Also, as far as the distro shift is concerned, our target has actually
been CentOS. Jesse just started with Ubuntu because it's what was on the
box already. Also (and I know that this is going to sound a little *too*
pragmatic), one of the primary roles of this box is to do CanBUS. I'd
switch to whatever distro got me to that goal 30 seconds faster.
Thanks for the help and encouragement!
On 6/30/11 12:05 AM, Wolfgang Grandegger wrote:
On 06/30/2011 01:51 AM, Stu Statman wrote:
After the repeated failures on Ubuntu, we decided to try to get
What did fail with Ubuntu? Likely not a kernel issue!? I think it's not
a good idea to switch distro just because you did not get it working
quickly enough. What kernel are you using under Ubuntu?
~$ uname -r
2.6.38-8-generic
That's what I have and I will try to get the problem fixed. Will try to
find a time slot this week.
SocketCAN to work on CentOS, using kernel-ml to get the latest kernel
(2.6.39-2.el5.elrepo-i686). That failed too :
[root@localhost 2.6]# pwd
/home/wgn/socketcan/trunk/kernel/2.6
[root@localhost 2.6]# make
KERNELDIR=/usr/src/kernels/2.6.39-2.el5.elrepo-i686
make -C /usr/src/kernels/2.6.39-2.el5.elrepo-i686
M=/home/wgn/socketcan/trunk/kernel/2.6 modules
TOPDIR=/home/wgn/socketcan/trunk/kernel/2.6
make[1]: Entering directory `/usr/src/kernels/2.6.39-2.el5.elrepo-i686'
CC [M] /home/wgn/socketcan/trunk/kernel/2.6/drivers/net/can/mcp251x.o
/home/wgn/socketcan/trunk/kernel/2.6/drivers/net/can/mcp251x.c: In
function ‘mcp251x_can_probe’:
/home/wgn/socketcan/trunk/kernel/2.6/drivers/net/can/mcp251x.c:1009:
error: implicit declaration of function ‘create_freezeable_workqueue’
/home/wgn/socketcan/trunk/kernel/2.6/drivers/net/can/mcp251x.c:1009:
warning: assignment makes pointer from integer without a cast
make[3]: ***
[/home/wgn/socketcan/trunk/kernel/2.6/drivers/net/can/mcp251x.o] Error 1
make[2]: *** [/home/wgn/socketcan/trunk/kernel/2.6/drivers/net/can] Error 2
make[1]: *** [_module_/home/wgn/socketcan/trunk/kernel/2.6] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.39-2.el5.elrepo-i686'
make: *** [modules] Error 2
You should not use the Socket-CAN repos as it is out-dated or not
up-to-date to some extend. The 2.6.39 kernel coming with CentOS is just
fine. Have you checked if CONFIG_CAN_CALC_BITTIMING is set on the Linux
kernel coming CentOS?
Any suggestions? Or should we give up on SocketCAN?
Be more patient.
Wolfgang.
_______________________________________________
Socketcan-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-users