起動時に仮想SocketCANインターフェースをセットアップしたい。次の行は、私が望むことを(手動で)実行します。
ip link add dev vcan0 type vcan
ip link set up vcan0
(または)
ip link add dev vcan0 up type vcan
ホットプラグで物理 USBCANインターフェースを表示する方法があります-/etc/network/interfaces
に次の行を追加します。
allow-hotplug can0
iface can0 can static
bitrate 250000
up /sbin/ip link set $IFACE down
up /sbin/ip link set $IFACE up type can
ここで、起動時にvcan
インターフェイスも表示したいと思います。そこで、vcan
モジュールを自動追加し、それらの行を/etc/network/interfaces
に追加しました。
auto vcan0
iface vcan0 can static
bitrate 0 # NEEDED but not supported
pre-up /sbin/ip link add dev $IFACE type vcan
up /sbin/ip link set $IFACE up
しかし、奇妙なことに、このアプローチは機能しません。起動時またはifup vcan0
を実行すると、次のエラーが発生します。
Configuring interface vcan0=vcan0 (can)
/sbin/ip link add dev $IFACE type vcan
...
ip link set vcan0 type can bitrate 0
RTNETLINK answers: Operation not supported
Failed to bring up vcan0.
..行を追加するとbitrate <somevalue>
または、
Configuring interface vcan0=vcan0 (can)
Missing required variable: bitrate
Missing required configuration variables for interface vcan0/can.
Failed to bring up vcan0.
..ビットレート設定を省略した場合。
したがって、私はしなければならない設定bitrate
としてはいけない設定しているように見えます-同時に。
私はここで何が間違っているのですか?
p.s.もちろん、起動時にip link add ..
を実行することもできますが、両方のインターフェイスに同じアプローチを使用したいと思います。
起動時にvcanモジュールをロードする必要があります。これを編集/ etc/modulesそして行を追加します
vcan
次に、/ etc/network/interfacesを編集します
auto vcan0
iface vcan0 inet manual
pre-up /sbin/ip link add dev $IFACE type vcan
up /sbin/ifconfig $IFACE up
最後に、インターフェイスを再起動します。
Sudo /etc/init.d/networking restart
入力すると、vcan0インターフェイスがポップアップするはずです
ifconfig
ターミナルで。