2017-12-06 8 views
0

친애하는 지역 사회 구성원을 작성하지 UART = USB 장치에 USB,인텔 에디슨 + Ubilinux +

우리는에서 턴 실행을 -in 인텔 에디슨 내에서 실행 로봇 자율 제어 시스템의 개발에 노력하고 있습니다 PixHawk 자동 파일럿 모듈. 이 시스템은 ROS (Robot Operating System)를 사용하므로 Ubilinux를 설치해야했습니다. 우리 시스템은 직렬 채널을 통해 데이터를 전송하는 360도 레이저 (RPLIDAR-360)와 연결되어야하므로 USB-UART 어댑터 (Silicon lab 's CP2102)를 통해 레이저의 데이터를 얻으려고합니다 (PixHawk는 데이터 전송에 USB 사용 가능). 요약

는, 레이저가 USB2UART 어댑터에 연결되어, 어댑터는 에디슨의 직렬 포트에 연결되어 있습니다.

그러나 드라이버 문제와 관련되어 있습니다. 다음 상세 함께

[ 917.812195] usb usb2: Product: xHCI Host Controller 
[ 917.812214] usb usb2: Manufacturer: Linux 3.10.17-yocto-standard-r2 dwc-xhci 
[ 917.812232] usb usb2: SerialNumber: dwc3-host.2 
[ 917.812858] xHCI xhci_add_endpoint called for root hub 
[ 917.812878] xHCI xhci_check_bandwidth called for root hub 
[ 917.813141] hub 2-0:1.0: USB hub found 
[ 917.813185] hub 2-0:1.0: 1 port detected 
[ 918.128982] usb 1-1: new full-speed USB device number 2 using dwc3-host 
[ 918.151786] usb 1-1: New USB device found, idVendor=10c4, idProduct=ea60 
[ 918.151818] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 
[ 918.151839] usb 1-1: Product: CP2102 USB to UART Bridge Controller 
[ 918.151857] usb 1-1: Manufacturer: Silicon Labs 
[ 918.151875] usb 1-1: SerialNumber: 0001 

: 'dmesg 명령'을 추적 할 때 장치 (idVendor = 10C4, idProduct = ea60) 검출

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 
D: Ver= 1.10 Cls=00(>ifc) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 
P: Vendor=10c4 ProdID=ea60 Rev= 1.00 
S: Manufacturer=Silicon Labs 
S: Product=CP2102 USB to UART Bridge Controller 
S: SerialNumber=0001 
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA 
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none) 
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms 
E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms 

하지만 아무런/디바이스/ttyUSBX 장치가 생성되지 않고, 거기 드라이버 누락 또는 구성 실패에 대한 오류 메시지가 없습니다.

우리하여 'UNAME'명령을 사용하여 다음과 같은보고 Ubilinux 3, 사용 : 설치된 드라이버의 목록입니다

** 3.10.17-yocto-standard-r2 

그리고 다음

usb 
/lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/media/usb: 
/lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/media/usb/gspca: 
/lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/media/usb/uvc: 
/lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/usb: 
/lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/usb/gadget: 
usb_f_acm.ko 
/lib/modules/3.10.17-yocto-standard-r2/kernel/drivers/usb/serial: 
usb_wwan.ko 

사람이 있었다 하는가를 비슷한 구성으로 CP2102 어댑터로 작업 할 수 있습니까?

마지막 수단으로 다음 참조를 사용하여 드라이버를 컴파일하고 설치하려고합니다. [url = https://askubuntu.com/questions/941594/installing-cp210x-driver]Installing CP210x 드라이버? CP210x 드라이버 설치? - Ubuntu에 물어보십시오.

'make'프로세스가 헤더 부족으로 인해 충돌합니다. APT를 통해 헤더를 다운로드 할 수 없었지만 결국 웹 사이트에서 헤더를 수동으로 다운로드하여 '.ko'모듈을 컴파일했습니다. 그러나

, 수행 한 후 :

insmod cp210x.ko 

우리는 가지고 : 우리는 몇 가지 질문이이 시점에서

Insmod: ERROR: could not insert module cp210x.ko: Invalid module format 

그래서 ... 그 중 하나에 대한 조언 정말 감사하겠습니다 :

3.10.17 -
  1. 사람이 Ubilinux에서 커널 헤더를 설치하는 방법을 알고 있나요?
  2. Ubilinux에서 커널을 업그레이드하는 공식 절차는 무엇입니까? 이미 보드에서 ROS가 작동하고 있습니다 ... 커널 업그레이드가 ROS 구성을 엉망으로 만들 수 있다고 생각합니까?
  3. 일반적으로 cp210x 장치의 구성에 성공 했습니까?사전에

감사합니다,

헥터

+0

jUbiLinux로 바꾸고 ping 개발자가 골동품 재고 대신 바닐라 커널로 전환하는 것을 고려하십시오 : https://github.com/jubilinux/jubilinux/issues/11. – 0andriy

답변

0

CP2102의 드라이버가 이미 커널에 추가 노력의 필요를 존재하지 않습니다. 올바른 udev 규칙 파일을 사용하십시오 (리눅스 배포판에는 기본적으로 존재하지 않습니다). 예는 here입니다. 이 파일을 가지고/dev/ttyUSBX가 생성 될 것입니다.