USB拡張カードまたはSDカードリーダーの存在を検出できるC++プログラムを書いてみたいと思います。これは可能ですか? Linuxでは?LinuxでUSB拡張カードの存在を検出することはできますか?
2
A
答えて
3
あなたは、正確なベンダーIDおよび/または製品IDを知っていればあなたはこのように、それを検索できます。
for (bus = busses; bus; bus = bus->next)
for (dev = bus->devices; dev; dev = dev->next)
if ((dev->descriptor.idVendor == vendor) && (dev->descriptor.idProduct == product))
return dev;
0
はい、あなたは簡単なdmesg
によってidVendorとidProductを得ることができます。そして、知識のある人によって上に示されたそれのための検索条件を入れてください。もっと深く掘り下げたい場合や、Linuxをお持ちの場合は、<kernel_source>/drivers/usb/core
にusb.h
を見つけることができます。 構造体:struct usb_device{}
があります。 さらに詳しく調べたい場合はannounce_device()
のような方法でdriver.c
とhub.c
をチェックし、dmesg
の後にUSBデバイスの詳細を表示する必要があります。それを探検してください。 :)
関連する問題
- 1. PCIE USB 3.0拡張カードから起動する
- 2. Linux:エイリアスを拡張することは可能ですか?
- 3. AndroidでCanvasを拡張することはできますか?
- 4. VSコード拡張API:既存のファイルエクスプローラを拡張/拡張することは可能ですか?
- 5. Doctrine EntityGeneratorを拡張することはできますか?
- 6. IdentityServer 4モデルを拡張することはできますか?
- 7. xamlセッターを拡張することはできますか?
- 8. レイアウトを拡張することはできますか?
- 9. クロムアプリ/拡張機能にあることを検出します
- 10. WindowsとLinuxのパスを拡張子付きで検証する正規表現
- 11. 携帯電話の存在をBluetooth USBドングルで検出します。
- 12. VS Intellisense:拡張メソッドを隠すことはできますか?
- 13. 既存のカラー化ツールまたは言語をVSコードで拡張することはできますか
- 14. クラスが別のクラスを拡張する場合、拡張クラスを拡張するのではなく、初期化することはできますか?
- 15. LinuxでUSBドライブを検出するCプログラム
- 16. Linuxのシェルコマンドで出力ファイルの拡張子を置き換え
- 17. 独自のメソッドでUIAElementArrayを拡張することはできますか?
- 18. Javaで汎用クラスのパラメータを拡張することはできますか?
- 19. Linux - 存在するディレクトリを削除することができません
- 20. Firefox拡張機能で読み込まれたページを検出するとき
- 21. 拡張子が.jsonのファイルを保存することができません
- 22. Chrome拡張機能はURLを1回だけ検出できますか?
- 23. NHibernate.ToFuture()拡張メソッドのアナログはEntity Frameworkに存在しますか?
- 24. ChartJSを変更または拡張することはできますか?
- 25. C#で配列を拡張することはできますか?
- 26. C#/ LINQでQuery-Keywordsを拡張することはできますか?
- 27. クロム拡張でwindow.postMessage()を使用することはできますか?
- 28. open-uriで拡張機能を維持することはできますか?
- 29. TypeScriptで関数を拡張することはできますか?
- 30. Springでpojoクラスを拡張することはできますか?
あなたは 'lsusb'と' udev'プログラムに興味があるかもしれません。私は彼らが実際に行っているシステムコールを正確には知らない。あなたは 'strace'を使って調べることができます。 –