I've an issue with the PCAN-miniPCIe. Our board have 2 other integrated CAN and they are working perfectly
The PCAN-miniPCIe is plug on a iMX7 based board running on a yocto based Linux
I've ticked the option for this extension board in the menuconfig :
Networking support -> CAN bus subsystem support -> CAN Device Drivers -> Philips/NXP SJA1000 devices -> PEAK PCAN-PCI/PCIe/miniPCI Cards
At the startup of the board, Linux successfully recognized the 2 CAN interface of the PEAK board :
Code: Select all
[ 1.684575] sja1000 CAN netdevice driver
[ 1.697929] peak_pci 0000:01:00.0: can2 at reg_base=0xc0861000 cfg_base=0xc081d000 irq=330
[ 1.705651] peak_pci 0000:01:00.0: can3 at reg_base=0xc0861400 cfg_base=0xc081d000 irq=330
[ 2.250458] can: controller area network core (rev 20120528 abi 9)
[ 2.258644] can: raw protocol (rev 20120528)
Code: Select all
ip link set can2 up type can bitrate 250000
ip link set can3 up type can bitrate 250000
I'm using the software PCAN-View
So when I send a message from the iMX7 board on the PEAK PCIe interface using
Code: Select all
cansend can2 001#1122334455667788
After 10 cansend, I get this message on the iMx7 Board :
Code: Select all
write: No buffer space available
Code: Select all
ip link set can2 down
ip link set can2 up type can bitrate 250000
So i tried in the other way, and launch candump on the PEAK CAN interface
Code: Select all
candump can2
I tried to plug directly can2 on can3, launch candump on can3 and cansend on can2 , but again, nothing is received
I tried the loopback mode
Code: Select all
ip link set can2 down
ip link set can2 type can loopback on
ip link set can2 up type can bitrate 250000
candump can2 &
cansend can2 001#1122334455667788
To summarize, using the PEAK PCIe, only the first message is really send, after the interface has been up, the buffer doesn't clear, and after 10 candsend it's full. Candump doesn't see any message
The 2 iMX7 integrated CAN works like a charm
Any help would be appreciate,
Thanks