부팅 시 활성화되도록 vcan 인터페이스 설정

부팅 시 활성화되도록 vcan 인터페이스 설정

부팅 시 가상 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

터미널에서.

관련 정보