问题标签 [canutils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
14810 浏览

can-bus - Canplayer 不会重播 candump 文件

我正在尝试使用 canplayer 重播一些 candump 文件,但没有成功。当我尝试运行 canplayer 时,它只是执行并返回,让我不知道发生了什么。

到目前为止,我已经尝试过:

设置 1

  • 设置vcan接口
  • 使用 cansend 和 cangen 向 vcan 接口发送数据,成功(通过 candump 验证)。
  • 运行 cangen 时从 vcan0 记录了一个 candump 文件。带有绝对时间戳 (-ta) 和不带绝对时间戳的记录文件。
  • 尝试使用 canplayer 重现文件。尝试使用几个参数,无济于事。canplayer 立即返回,没有任何投诉。如果我弄乱了它抱怨的文件或参数。

设置 2

  • 将 2 个 PEAK CAN USB 适配器设备连接到 PC。
  • 使用 120 欧姆端接电缆将适配器相互连接
  • 启动 cangen 指向 can0 并使用 candump 验证消息到达 can1
  • 从 can0 接口录制的 candump 文件。
  • 尝试使用canplayer重现文件,但没有成功。

我已经在两台运行 Ubuntu 12.04 的不同机器上尝试了这些测试,结果相同。

你知道这可能是什么原因吗?

0 投票
1 回答
3971 浏览

linux - CAN-utils和socket可以

我正在运行 Ubuntu 15.0 并拼命想让 can-utils 与各种(USB)设备一起运行,但一点运气都没有。

在设置 slcan 并运行 candump 或 cansniffer 时,我希望至少有一些东西,但不,根本没有传入数据。

我尝试使用的设备是 Ebay 电缆...

  • 蓝色 VAGCOM 401.9
  • 黑色 VAG K+CAN
  • MPPS 13(芯片调谐)

我已经拆开了 MPPS 电缆,它似乎有真正的硬件(不是中国克隆),比如:NXP SJA1000T、MCP2551,它还有另一个芯片标记为c8051f380(pdf 链接)

不幸的是,这些接口都没有显示 CAN 数据。can-utils 对我来说仍然是一个新工具,所以我可能(希望!)错过了一些重要的步骤,但如果不是,我真的不明白为什么这些都不起作用......根本。

最重要的是,我确实有 MCP2551 收发器、MCP2515 和一个 MCP2562FD 控制器,但我没有晶体或电容来组装我自己的接口,我更喜欢这样。我确实只是为了好玩,FTD232RL(sparkfun one)和 MCP2551 一起尝试,并且确定我在 OSX Coolterm 上获得了数据,但是是的……这并不是什么好玩的事情,因为我在链中没有任何控制。这是我拆开 MPPS 以查看它是否包含 16Mhz 晶体 + 盖帽的主要原因,我可以在自己的设置中使用和使用。但是当我看到这个设备中使用了哪些芯片时,我认为一定有某种可能性可以让 can-utils 使用它。

所以总结一下……有没有人测试过 MPPS13 电缆或任何其他中国电缆?由于 Linux 和内核等对我来说仍然有点先进,所以我真的找不到任何适合 can-utils 和所有这些需要设置的驱动程序的合适的设置。绝望之下,我试图运行我遇到的几乎所有终端命令,以期让某些东西起作用(我知道这很愚蠢,但绝望是压倒性的)。我也想在 rPI 上测试这一切,因为有大量页面可用于该主题......但当然我的 PI 已经退休了。

0 投票
2 回答
17191 浏览

linux - 被 candump (SocketCAN) ID 过滤功能搞糊涂了

简而言之,我希望 candump 只显示 ID 为 0x00200200 或 0x255 的帧。

所以我这样做:

但这给出了所有帧,并且每帧显示两次。即输出:

会是这样的:

除了过滤器的行为不像我预期的那样并通过 0x256 之外,它出现两次的事实表明这个帧实际上是由两个过滤器匹配的,这对我来说更没有意义。谁能解释为什么会发生这种情况,也许可以告诉我正确的方法?

0 投票
0 回答
115 浏览

c - 如何制定接收超时?

我开发了一个从 vcan0 接口接收 can 流量的 C 程序。

我想在接收时添加超时,我的意思是当超时过期(例如 10 秒)在此期间没有收到数据时,我打印“10 秒内没有收到数据”并重新启动我的电脑(重启如果满足特定条件,则进行)。

我已经使用选择功能进行了测试,我得到了超时,但是当不满足特定条件时,我无法再接收罐头流量了。

当我超时并且不满足特定条件时,我应该添加一些东西来重新激活接收吗?如果是的话怎么办?

我的程序是这样的:

0 投票
2 回答
5616 浏览

linux - CAN FD 支持 SocketCAN 上的虚拟 CAN (vcan)

我使用 SocketCAN 尤其是 Virtual CAN vcan 已经有一段时间了。但是,到目前为止,我从未使用过 CAN FD(灵活数据速率)。

好吧,我今天早上使用 can-utils 进行了尝试:

但是,我得到了响应“CAN 接口不支持 CAN FD”。vcan 接口已使用以下终端命令创建:

有人知道 vcan 是否支持 CAN FD 吗?如果是,如何设置支持 CAN FD 的 vcan 接口?

系统配置:VirtualBox 上的 Ubuntu 14.04.1。

提前致谢, MAW

0 投票
2 回答
1621 浏览

linux - imx 上的 Linux 2.6:无法使用 candump 记录发送的 CAN 帧

我有一个在 imx CPU 上运行的自定义构建 linux 2.6。CAN与外部节点的通信就像一个魅力,但是当我在终端中使用“candump can0”时(当我使用usb-CAN加密狗在我的主机上运行相同的应用程序时,我从我的应用程序发送到节点的帧不会被打印出来)不会出现此问题)。

当发送扩展 CAN 帧时,它们会使用 candump 显示。

我知道过滤发送的消息可能很方便,但我应该可以选择。

欢迎提供任何线索。我在想可能是驱动程序中的一些过滤导致了这种情况。

FlexCAN 驱动程序具有以下配置文件:

中止 br_propseg dump_rx_mb loopback state 唤醒 bcc br_pseg1 dump_xmit_mb maxmb std_msg xmit_maxmb 比特率 br_pseg2 ext_msg
modals 子系统 boff_rec br_rjw fifo power tsyn br_clksrc 驱动程序监听 smp uevent br_presdiv
dump_reg local_priority srx_dis wak_src

0 投票
0 回答
1742 浏览

raspberry-pi3 - 当环回关闭时,CAN 总线变为 ERROR PASSIVE 状态

我已经将 PiCAN2 板与运行最新 Jessie 的树莓派连接起来​​。当我尝试使用 can-utils 通过这个 PiCAN2 向我的 PC 发送一些 CAN 消息(PC 通过 USB 到 DB9 CAN 接口连接到 PiCAN2 板)时,一旦我带上 CAN,它就会进入 ERROR-PASSIVE 状态界面向上。但是,当我启用环回模式时,我可以使用树莓派本身的两个不同终端窗口发送和接收消息。我使用启用了环回模式 sudo /sbin/ip link set can0 type can bitrate 500000 loopback on.

有人可以告诉我更多有关环回模式的信息吗?我想确保我的 PiCAN2 硬件设置正确。是否可以确认我的 CAN 板配置正确,因为我可以使用环回模式发送/接收消息?或者这并不一定意味着它是正确的?

我还想知道为什么我得到 ERROR PASSIVE 模式 - 它是否表明 PiCAN2 配置不正确,或者这是否意味着我的 USB 到 DB9 CAN 接口有问题?我是这个领域的新手,任何帮助都会很好。谢谢你。

0 投票
0 回答
185 浏览

can-bus - 使用 canutils 转储 BAM(广播公告消息)

早上好,我是一名嵌入式 linux 开发人员,我正在尝试在基于 iMX6 的板上转储 J1939 CAN 语句。

我尝试使用命令将 RAW canbus 消息保存在文件中

candump can0 -L > /tmp/fms_canbus

并且一切都适用于非广播消息

但是我无法接收 BROADCAST 消息 (BAM),文件上似乎没有记录 BAM 消息。

据我所知,为了读取 BAM 消息,应使用 SOCK_DGRAM、CAN_BCM 选项打开套接字,但似乎 canutils 包中没有 CLI 工具可以执行类似于

candump can0 -L > /tmp/fms_canbus

有没有人可以帮助我解决这个问题?我应该实现自定义工具还是有允许执行所需操作的标准工具?最好的问候乔瓦尼

0 投票
1 回答
334 浏览

linux - Tiny-CAN I-XL socketCAN扩展格式

我的问题如下。我在 Linux 上使用 Tiny-CAN I-XL CAN-USB 适配器和 socketCAN。我通过执行以下操作配置 CAN 适配器:

sudo slcan_attach /dev/ttyUSB0 -w

sudo ip link set can0 type can bitrate 100000 restart-ms 500

sudo ifconfig can0 up

与第二个适配器(can1)相同的过程,并通过两个终端中的 candump 显示。

可以通过以下方式发送标准消息:

可以发送 can0 123#11.22.33.44.55.66.77.88

但是使用扩展格式不起作用:

可以发送can0 12345678#11.22.33.44.55.66.77.88

我错过了什么?我是否忘记进行特定设置?

我认为 CAN-id 的第 31 位应该是 1,如 can.h 中所述以打开 EFF。因此,像这样的消息:

可以发送can0 81111123#11.22.33.44.55.66.77.88

应该管用。但事实并非如此。

有任何想法吗?

0 投票
2 回答
1367 浏览

ubuntu - 使用 candump (SocketCAN) 时没有活动的虚拟罐消息

我正在玩 can-utils 包,尝试运行虚拟罐设备。除了没有活动消息外,一切似乎都运行良好。Candump 和 cansniffer 有效,因为我手动发送消息并显示。

难道我做错了什么?

这是我运行的命令:

我正在使用 Ubuntu 16,内核 4.11.0