Hi out there, hope someone can help me to activate the CAN Bus interface at Beaglebone Black. I describe shortly what I have done so far
Debain linux cat /etc/debian_version 8.2 uname -a Linux beaglebone 4.1.10-ti-r23 #1 SMP PREEMPT Fri Oct 16 23:55:32 UTC 2015 armv7l GNU/Linux I downloaded the Device Tree Overlay from RobertCNelson https://github.com/RobertCNelson/bb.org-overlays followed instruction and installed it I added the BB-CAN1 device (P9-24/26) sh -c "echo 'BB-CAN1'> /sys/devices/platform/bone_capemgr/slots" root@beaglebone:~# cat /sys/devices/platform/bone_capemgr/slots 0: PF---- -1 1: PF---- -1 2: PF---- -1 3: PF---- -1 4: P-O-L- 0 Override Board Name,00A0,Override Manuf,BB-CAN1 dmesg [ 1266.197246] bone_capemgr bone_capemgr: part_number 'BB-CAN1', version 'N/A' [ 1266.197290] bone_capemgr bone_capemgr: slot #4: override [ 1266.197308] bone_capemgr bone_capemgr: Using override eeprom data at slot 4 [ 1266.197326] bone_capemgr bone_capemgr: slot #4: 'Override Board Name,00A0,Override Manuf,BB-CAN1' [ 1266.208737] bone_capemgr bone_capemgr: slot #4: dtbo 'BB-CAN1-00A0.dtbo' loaded; overlay id #0 [ 1266.226715] CAN device driver interface [ 1266.245068] c_can_platform 481d0000.can: c_can_platform device registered (regs=fa1d0000, irq=191) Installed can-utils # git clone git://gitorious.org/linux-can/can-utils.git and load modules modprobe can modprobe can-dev modprobe can-raw now setting up interface ip link set can0 up type can bitrate 125000 triple-sampling on restart-ms 100 ifconfig can0 up show the interace ifconfig can0 can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 UP NOARP MTU:16 Metric:1 RX packets:3 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:24 (24.0 B) TX bytes:0 (0.0 B) Interrupt:191 root@beaglebone:~# ip -d -s link show can0 3: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 10 link/can promiscuity 0 can <TRIPLE-SAMPLING> state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 100 bitrate 125000 sample-point 0.875 tq 500 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1 c_can: tseg1 2..16 tseg2 1..8 sjw 1..4 brp 1..1024 brp-inc 1 clock 24000000 re-started bus-errors arbit-lost error-warn error-pass bus-off 0 0 0 1 2 1 RX: bytes packets errors dropped overrun mcast 4 0 0 0 0 0 TX: bytes packets errors dropped carrier collsns 0 0 0 8 0 0 I attached to my canbus an embedded controller, sending constantly some bytes at a rate of 125kBit At the BBB I start candump to monitor this traffic. No frames received candump can0 At the same time I connected a raspberry Pi to the same canbus and received frames from the embedded controller pi@raspberrypi ~ $ candump can0 can0 539 [1] 5A can0 539 [1] 5B can0 539 [1] 5C can0 539 [1] 5D if I try to send some frames from the BBB it will fail es well root@beaglebone:~# ip -d -s link show can0 3: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 10 link/can promiscuity 0 can <TRIPLE-SAMPLING> state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 100 bitrate 125000 sample-point 0.875 tq 500 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1 c_can: tseg1 2..16 tseg2 1..8 sjw 1..4 brp 1..1024 brp-inc 1 clock 24000000 re-started bus-errors arbit-lost error-warn error-pass bus-off 5 0 0 6 10 6 RX: bytes packets errors dropped overrun mcast 216 27 0 0 0 0 TX: bytes packets errors dropped carrier collsns 0 0 0 13 0 0 written packages are dropped and the error-pass, bus-off counter increase since the CANBus gets restarted. During startup the CANBus receives some frames maybe face frames. Do not get anything with candump cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pinmux-pins | grep can pin 96 (44e10980.0): 481d0000.can (GPIO UNCLAIMED) function pinmux_dcan1_pins group pinmux_dcan1_pins pin 97 (44e10984.0): 481d0000.can (GPIO UNCLAIMED) function pinmux_dcan1_pins group pinmux_dcan1_pins cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pingroups group: pinmux_dcan1_pins pin 97 (44e10984.0) pin 96 (44e10980.0) >From my point of view everything looks fine, cable connections etc. I checked by oscilloscope, as CANBus drive I used SN65HVD230D. Receiver signal from Port4 of the CANDriver is connected to DCAN1_RX P9_26. If is send CANFrames I cannot measure anything at P9_24. Has anyone further ideas to get to the bottom of the problem. Anyone has such a config running successfully? Thanks for your hints markus -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.