一直有兄弟们反应can bus直连过程不能发现can设备,也就是cannot find device can0,下面给出我的解决方案:
1、首先确保设备接线和固件没有问题。mks monster8 配合 msk thr36见我另一篇文章mks monster8 和 mks thr36 的 can bus 直连,这里只需要最简系统,派 + 主板 + can板,其他东西不必要接,查到2个can_uuid后再上机接线使用。
2、检查系统是否支持can。各种派的系统一般都是阉割版的,某些系统并不支持can,像下图linux 4.9的内核没有can驱动模块,怎么调试都是不会找到can设备的。
不能找到can设备的linux
sudo modprobe can
sudo modprobe can-raw
sudo modprobe can-dev
lsmod | grep can
能找到can设备的linux
上图是can设备正常使用的linux系统,输入lsmod命令可以看出can模块已经加载。
如果系统没有can模块,我使用了最笨的方法直接重装linux,首先备份一下配置文件(重要)和打印历史数据库(可选),首选5.xx的内核,我试过4.9内核和6.1内核,4.9的没有can模块,6.0内核版本的liunx不能安装moonraker,安装过程编译文件报错,未找着原因。debian、ubuntu、armbian应该都可以,好像ubuntu和armbian都是从的debian修改而来的,我习惯用debian。
另外一点,好像klipper 和 主板 can板的固件版本要对应,如果重装linux后,有can模块不能找到can设备,重新刷主板和can的固件,具体操作步骤还是见mks monster8 和 mks thr36 的 can bus 直连。
作者:步子man大了 https://www.bilibili.com/read/cv27090817/?spm_id_from=333.999.0.0 出处:bilibili
还没有评论,来说两句吧...