September 6, 20242 yr Hello, I've been having some issues with the official CB1 image on github provided by BTT. Namely, I'm having CAN issues with bytes_invalid increasing during printing operation which is exacerbated once I add more than 1 CAN device. One of the recommendations was to try a newer kernel so I'm trying to migrate to Armbian. I have called out the appropriate overlays (MCP2515)and verified that they are loaded in the armbianEnv.txt file. However, I am not able to load up a Can network. I have created a file in /etc/systemd/network/80-can.network containing the below info. [Match] Name=can* [CAN] BitRate=1000000 I also ran dtc -s /proc/device-tree 2>/dev/null > foo.dts foo.dts Edited September 6, 20242 yr by Rodman Added foo.dts file
September 7, 20242 yr After changing the overlays, make sure to reboot the board. The device tree you sent shows mcp2515 as disabled. I've booted the current armbian image on my board, added just mcp2515 to the overlays, and the device tree shows mcp2515 as enabled.
September 7, 20242 yr Solution From more testing on my end, I found out that the `light` overlay causes errors. Please remove it from the list, and the CAN should work.
September 7, 20242 yr Author Looks like removing the "light" overlay does allow the CAN network to start up. Thanks for the help! Unfortunately, it appears that the bytes_invalid issue persists with this kernel as well. The hunt continues!
September 7, 20242 yr I've submitted a patch to github that fixes the `light` overlay: https://github.com/armbian/build/pull/7183 It would allow to use the light overlay, if needed.
September 18, 20242 yr @JohnTheCoolingFan Hey mate. Im using this firmware on CB1 also. I tried what you said above but its still defaulting to txqueuelenth to 10. I can manually start can0 at the desired speed and queue length but doesnt persist after boot.
September 18, 20242 yr @townie can you please provide some logs? Maybe there's some information on why it doesn't persist. Providing logs with armbianmonitor -u helps with troubleshooting and significantly raises chances that issue gets addressed.
September 21, 20242 yr Sorry for the long delay. I don't have experience with CAN networks, but a quick search found this gist, which uses systemd network and udev rules to set the txqueuelen: https://gist.github.com/Lauszus/733c4c4c6abacd19a0b5dad099fab172 You can change the device name match to just can0 instead of a wildcard if you want. I've bought a few spi-to-can adapters to later test how this works myself, but if you can please try the linked method.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.