Linuxデバイス用にIOルーチンを作成すると、さまざまなUSBデバイスが接続されます。この目的のためには、どのデバイスがどのポートに接続されているか把握できるようにして、正しいソフトウェアで開くことができるようにする必要があります。 'udevinfo'に似たものが理想的かもしれませんが、私はそのようなことを書いてどのように始めるべきか分かりません。Linux/C++でのEnum USBデバイス
C++ apisの提案を読むには?
Linuxデバイス用にIOルーチンを作成すると、さまざまなUSBデバイスが接続されます。この目的のためには、どのデバイスがどのポートに接続されているか把握できるようにして、正しいソフトウェアで開くことができるようにする必要があります。 'udevinfo'に似たものが理想的かもしれませんが、私はそのようなことを書いてどのように始めるべきか分かりません。Linux/C++でのEnum USBデバイス
C++ apisの提案を読むには?
私は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に同意します。 –