다양하고 변화하는 USB 장치가 연결된 Linux 장치 용 IO 루틴을 작성합니다. 이 목적을 위해 어느 장치가 어떤 포트에 연결되어 있는지 파악할 수 있어야 올바른 소프트웨어로 열 수 있습니다. 'udevinfo'와 비슷한 점이 이상적 일지 모르지만 필자는 그런 식으로 시작하는 방법을 모릅니다.리눅스/C++에서 열거 형 USB 장치
C++ api에 대한 제안 사항을 읽으시겠습니까?
다양하고 변화하는 USB 장치가 연결된 Linux 장치 용 IO 루틴을 작성합니다. 이 목적을 위해 어느 장치가 어떤 포트에 연결되어 있는지 파악할 수 있어야 올바른 소프트웨어로 열 수 있습니다. 'udevinfo'와 비슷한 점이 이상적 일지 모르지만 필자는 그런 식으로 시작하는 방법을 모릅니다.리눅스/C++에서 열거 형 USB 장치
C++ api에 대한 제안 사항을 읽으시겠습니까?
나는 chkconfig 파일에서 BASH 솔루션을 사용했다. 나는 모든 ttyUSB 항목을 살펴보고 각각에 대한 드라이버 정보를 살펴 본다.
USB_ID=`egrep -i "mct u232|pl2303|keyspan" -m 1 /proc/tty/driver/usbserial | awk '{ printf("$d", $1)}'`
if [ -z $USB_ID ]
then
echo $echo_n "No USB serial adapter found.";
exit 1
fi
libusb의 libusb_get_device_list
, libusb_get_bus_number
, libusb_get_device_address
을 참조하십시오.
GIO이 도움이 될 것입니다. volume-added 및 volume-removed 신호에 연결하면 프로그램에 시스템에 추가되거나 제거 된 저장 장치에 경고합니다. GIO에서 제공하는 제어 수준이 필요하지 않은 경우 libudev++을 사용하여 GIO보다 높은 수준의 래퍼를 제공 할 수 있습니다.
필요한 정보가 무엇인지 모르겠지만/sys/bus/usb를 통해 갈 수 있습니까?
나를위한 트릭은 어떤 USB 장치가/dev/TTYUSBn의 어느 항목에 해당하는지 알아내는 것입니다. 나는 libusb 나 libudev로 많은 성공을 거두지 못했기 때문에 cmd 행의 관련 dev 경로를 통과하는 스크립팅 된 솔루션에 대해 더 생각하고 있습니다. – ethrbunny
나는 341008에 동의한다. –