問題タブ [socketcan]
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.
ubuntu - ubuntu 16.10でvcan0がIP競合を引き起こす
ubuntu 16.10 マシンを作成し、vcan ネットワークを作成しようとしました。
これを入力するとすぐに、インターネット接続が失われます。
二度と戻りません。私は vcan0 インターフェイスを立ち上げさえしていません。標準の vcan モジュールをロードするだけです どこからデバッグを開始すればよいでしょうか?
raspberry-pi3 - ループバックがオフになると、CAN バスは ERROR PASSIVE 状態になります
PiCAN2ボードを最新のJessieを実行しているraspberry piに接続しました。can-utils を使用して、この PiCAN2 を介して PC に CAN メッセージを送信しようとすると (PC は USB to DB9 CAN インターフェイスを介して PiCAN2 ボードに接続されます)、CAN を使用するとすぐに ERROR-PASSIVE 状態になります。インターフェースアップ。しかし、ループバック モードを有効にすると、ラズベリー パイ自体の 2 つの異なるターミナル ウィンドウを使用してメッセージを送受信できます。を使用してループバックモードを有効にしました
sudo /sbin/ip link set can0 type can bitrate 500000 loopback on.
ループバックモードについてもっと教えてもらえますか? PiCAN2 のハードウェア設定が正しいことを確認したいです。ループバックモードを使用してメッセージを送受信できるので、CAN ボードが正しく構成されていることを確認できますか?それとも、必ずしも正しいとは限りませんか?
ERROR PASSIVE モードになった理由も知りたいです。PiCAN2 が正しく設定されていないことを示しているのでしょうか、それとも USB から DB9 CAN へのインターフェイスに問題があることを示しているのでしょうか? 私はこの分野に不慣れで、どんな助けでもいいでしょう。ありがとうございました。
sockets - socketcan は調停をどのように処理しますか?
CAN プロトコルがどのように機能するかをよく理解しています。2 つのノードが同時にネットワークを使用しようとすると、低い ID のフレームが優先され、もう一方のノードがこれを検出して停止します。
これは、socketcan を使用すると抽象化されるようです。ファイル ディスクリプタと同じように、単純に読み書きします。私は何かを誤解しているかもしれませんが、ほとんどのドキュメント ( http://lxr.free-electrons.com/source/Documentation/networking/can.txt ) を確認しましたが、明確に説明されているとは思いません。
フレームが最小の id フレームになるまで write() はブロックしますか、それともネットワークの準備が整うまでソケットはフレームをバッファリングできますか? その場合、これが発生したときにユーザーに通知されますか、それともループバックを使用しますか?