부팅 시 가상 SocketCAN 인터페이스를 설정하고 싶습니다. 다음 줄은 내가 원하는 것을 (수동으로) 수행합니다.
ip link add dev vcan0 type vcan
ip link set up vcan0
(또는)
ip link add dev vcan0 up type vcan
키우는 방법이 있어요물리적핫플러깅 시 USB CAN 인터페이스 - 다음 줄을 추가합니다 /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
다음과 같은 오류가 8번이나 발생합니다.
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
하고해서는 안 된다설정하세요 - 동시에.
내가 여기서 뭘 잘못하고 있는 걸까?
ps. 물론 ip link add ..
시작 시 간단히 실행할 수도 있지만 두 인터페이스 모두에 대해 동일한 접근 방식을 사용하고 싶습니다.
답변1
부팅 시 vcan 모듈을 로드해야 합니다. 편집하다/etc/모듈이를 위해 다음 줄을 추가하십시오.
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
터미널에서.