特にsysfsのファイルを見ています。/sys/bus/usb/devices
ファイルには、「00」のように2文字で表される小さな数字が含まれています。
私のすべての例には「09」以下の数字が含まれています。
私はこれを解釈するためのスクリプトを書いていますが、次の値で「0A」または「10」を期待する必要があるかどうかはわかりません(つまり、10進数、16進数ですか?)
私はこれがカーネルkobjectのビューであることを見ましたが、シリアライゼーションソースが見つかりませんでした。
この数字(bInterfaceNumberなど)が10進数、16進数、またはケースごとに異なるかどうかを教えてください。違いがある場合は、ソースコードのどこでsysfsの特定のファイルを確認できますか?
関連している場合、私のコンピュータはほとんど20.04と22.04の混合Ubuntuです。比較対象としてスクリプトを見てみましたが、バージョンusb-devices
間に変更があり、スクリプトが何をしたいのか自信が落ちました。
答え1
これは、kobject フィールドと対応する直列化機能によって異なります。検索は常に簡単ではありませんが、USBの場合は便利です。グループ化。bInterfaceNumber
はいそう宣言した:
usb_intf_attr(bInterfaceNumber, "%02x\n");
2番目のパラメータはフォーマット文字列なので、16進値を表示します。下の行は、bAlternateSetting
示されている10進値を示しています。
すべてのsysfsエントリは次のようになります。録音された、次bInterfaceNumber
のように説明します。
What: /sys/bus/usb/devices/usbX/bInterfaceNumber
Description:
Interface number, in hexadecimal.