Embedded Linux USB Ethernet Gadget 사용하기
LAN 이나 WiFi 가 없는 보드에서 개발하기엔 불편한 부분이 많다 . 가장 불편한 부분은 수정하여 빌드한 바이너리 파일을 보드에 올려 테스트 할 떄마다 전체 커널 이미지를 다시 올려야하는 수고스러움 이다. 이때 유용하게 사용할 수 있는 방법이 USB Ethernet gadget 을 연결하여 NFS 등을 사용하는 것이다 . USB Ethernet Gadget 커널 설정 방법 Kernel menuconfig 의 Device Drivers > USB support > USB Gadget Support 에서 Ethernet Gadget (with CDC Ethernet support) 를 선택한다 . RNDIS support 도 선택해야 한다 . 특정 프로세서에서는 kernel config 이외에 다른 설정이나 소스 수정이 필요한 경우도 있다 . Allwinner 의 A20 이나 A64 등의 경우 usb gadget 커널 드라이버 소스에서 is_udc_enable=1 을 해주는 등의 소스 수정도 필요하다 . Sunxi_udc.c static u8 is_udc_enable = 1; 커널 빌드 후 이미지를 디바이스에 올린 다음 부팅한다 . 부팅 후 ifconfig 를 사용하여 usb0 의 ip 를 설정할 수 있다 . 디바이스를 windows PC 와 USB 로 연결하면 , 디바이스 드라이버를 설치하라고 나오는 경우 커널 소스의 Documents/USB/linux.inf 를 설치한다 . USB Serial Port 라고 인식하는 경우 , 장치 관리자에서 드라이버 업데이트를 선택하여 수동으로 위 linux.inf 드라이버를 설치한다 . 드라이버는 서명이 안되어 있어 , 드라이버 인증을 사용하지 않는 모드로 부팅하여 사용하던지 , 관리자 모드의 windows powershell 에서 아래 명령어를 사용하고 리부팅 후 설치해야 한다 . bcdedit.exe -...

댓글
댓글 쓰기