이솝 임베디드 포럼 WiKi 페이지는 이솝 임베디드 포럼 공동제작 보드를 사용하시는 회원님들이 자유롭게 업데이트 하실 수 있습니다.
[V210/C100] USB 네트워크 및 다운로드 환경 설정 방법
조회 수 2137 추천 수 0 2012.08.15 07:12:17
USB 네트워크 및 다운로드 환경 설정 방법 (VirtualBox)
1. VritualBox 설정
윈도우 환경에서 VirtualBox를 사용하여 게스트 OS로 리눅스를 사용할 경우, “RNDIS/Ethernet Gadget”이 인식되었을 때, 수동으로 USB를 연결하면
해당 기능을 게스트 OS인 리눅스에서 사용 할 수 있다.
매번 타겟 보드가 부팅할 때마다 매번 연결해주어야 하므로 상당히 번거롭다.
이것을 VirtualBox에서 자동으로 처리하도록 하기 위하여 몇 가지 사전 작업이 필요하다.
1) USB filter 추가 - “RNDIS/Ethernet Gadget”
VirtualBox 실행 후 게스트 OS 부팅 전, 설정에서 USB를 선택한 뒤, 빈 필터를 추가하고 수정을 선택하여 USB 관련 정보를 입력한다.
하기 내용은 aESOP V210 세트 커널 기준으로 이름, 제조사, 제품 정보는 타겟 보드에 따라 달라질 수 있다.
이름: Linux 2.6.32.9 with s3c-udc RNDIS/Ethernet Gadget [0323]
벤더 ID: 0525
제품 ID: a4a2
리비전: 0323
제조사: Linux 2.6.32.9 with s3c-udc
제품: RNDIS/Ethernet Gadget
시리얼 번호:
포트:
원격지: 아니오
2) USB 필터 추가 - dnw(smdk_usbdl)
리눅스에서 dnw를 사용해야 할 경우, “RNDIS/Ethernet Gadget” 장치와 마찬가지로 다음의 내용의 USB 필터를 추가하면 된다.
VirtualBox 실행 후 게스트 OS 부팅 전, 설정에서 USB를 선택한 뒤, 빈 필터를 추가하고 수정을 선택하여 USB 관련 정보를 입력한다.
하기 내용은 aESOP V210 세트에 제공된 u-boot 기준으로 이름, 제조사, 제품 정보는 타겟 보드에 따라 달라질 수 있다.
이름: System MCU SEC S3C6400X Test B/D [0100]
벤더 ID: 04e8
제품 ID: 1234
리비전: 0100
제조사: System MCU
제품: SEC S3C6400X Test B/D
시리얼 번호:
포트:
원격지: 아니오
3) 윈도우 드라이버 설치
윈도우에서 “RNDIS/Ethernet Gadget” 장치를 인식하면 “새 하드웨어 검색 마법사”를 실행하여 드라이버를 설치할 지 묻는다.
이 때 윈도우에서 “RNDIS/Ethernet Gadget” 장치를 사용해야 할 경우가 아니면 취소를 누르면 된다.
VirtualBox에서 “RNDIS/Ethernet Gadget” 장치를 사용하기 위하여 "VirtualBox USB"를 설치하여야 한다.
“RNDIS/Ethernet Gadget” USB 필터를 추가한 가상머신이 부팅된 상태이고,
“RNDIS/Ethernet Gadget” 장치가 PC에 인식되었을 때 다음과 같이 "VirtualBox USB"를 묻는데 반드시 설치하여야 한다.
위의 작업이 완료되면 가상머신에서 “RNDIS/Ethernet Gadget” 장치를 사용하기 위한 사전작업이 완료된다.
2. 리눅스 환경 설정
리눅스에서 USB “RNDIS/Ethernet Gadget” 장치 인식 시, usb0 인터페이스가 생성된다.
이를 사용하기 위하여 IP주소를 설정해야 하며 인터페이스도 활성화 시켜야 한다.
1) udev의 룰 추가를 통한 usb0 인터페이스 자동인식
udev에 usb0인터페이스 생성 시 IP 주소 할당 및 인터페이스를 활성화 하도록 룰을 추가하여 위 과정을 자동으로 처리하도록 할 수 있다.
/etc/udev/rules.d/85-ifupdown.rules 파일이 없는 경우 파일을 생성하여 아래와 같이 입력한다.
ACTION=="remove", RUN+="/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifdown -- --allow auto $env{INTERFACE}"
LABEL="net_end"
KERNEL=="usb0" RUN+="/sbin/ifconfig usb0 192.168.12.1 netmask 255.255.255.0 up"
SUBSYSTEM=="usb", ACTION=="add", DRIVERS=="?*", KERNEL=="usb0", NAME="eth0"
/etc/udev/rules.d/85-ifupdown.rules 파일이 있는 경우 파일을 생성하여 아래의 내용을 추가한다.
KERNEL=="usb0" RUN+="/sbin/ifconfig usb0 192.168.12.1 netmask 255.255.255.0 up"
SUBSYSTEM=="usb", ACTION=="add", DRIVERS=="?*", KERNEL=="usb0", NAME="eth0"
위의 작업이 완료된 후 하기의 명령어로 udev에 추가된 룰을 반영하여야 한다.
udevadm control --reload-rules // 룰 갱신
service udev restart // udev 재시작(위 명령어가 동작되지 않을 경우)
2) 인터페이스 정보 추가
usb0 인터페이스 생성 시 관련정보를 설정하여 usb0 네트워크 환경을 알맞게 구성할 수 있다.
/etc/network/interfaces 파일에 하기 내용을 추가한다.
auto usb0
iface usb0 inet static
address 192.168.12.1
netmask 255.255.255.0
broadcast 192.168.1.255
입력이 완료된 후, 다음의 명령어를 사용하여 네트워크 인터페이스 정보를 갱신한다.
/etc/init.d/networking restart
위의 작업이 완료되면 리눅스에서 “RNDIS/Ethernet Gadget" 장치 인식 시 지정된 주소로 usb0를 자동으로 생성한다.