Add support for setting socketcan by ip tool
authorMichal Sojka <sojkam1@fel.cvut.cz>
Tue, 1 Sep 2009 15:26:40 +0000 (17:26 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Tue, 1 Sep 2009 15:26:40 +0000 (17:26 +0200)
This is necessary for 2.6.31 kernel

tests/_lib.sh

index ccedc8c..3f9ef7c 100644 (file)
@@ -51,16 +51,24 @@ prepare_lincan_virtual() {
     sleep 0.1
 }
 
     sleep 0.1
 }
 
+socketcan_set_bitrate() {
+    local canX=$1
+    if [ -f /sys/class/net/$canX/can_bittiming/bitrate ]; then
+       echo 1000000 > /sys/class/net/$canX/can_bittiming/bitrate
+    else
+       ip link set $canX type can bitrate 1000000
+    fi
+}
 prepare_socketcan_hw() {
     rmmod_can
     modprobe kvaser_pci
 prepare_socketcan_hw() {
     rmmod_can
     modprobe kvaser_pci
-    echo 1000000 > /sys/class/net/can0/can_bittiming/bitrate
+    socketcan_set_bitrate can0
     ip link set up dev can0
     ip link set up dev can0
-    echo 1000000 > /sys/class/net/can1/can_bittiming/bitrate
-    ip link set up dev can1
-    echo 1000000 > /sys/class/net/can2/can_bittiming/bitrate
+    socketcan_set_bitrate can1
+    ip link set up dev can1 
+    socketcan_set_bitrate can2
     ip link set up dev can2
     ip link set up dev can2
-    echo 1000000 > /sys/class/net/can3/can_bittiming/bitrate
+    socketcan_set_bitrate can3
     ip link set up dev can3
     CAN0=socketcan:can0
     CAN1=socketcan:can1
     ip link set up dev can3
     CAN0=socketcan:can0
     CAN1=socketcan:can1