LinuxではUSBデバイスと通信できません。

LinuxではUSBデバイスと通信できません。

誰かがこの問題を解決するのに役立つことを願っています。

Linux環境(openSUSE 15.1を使用している)では、USB経由で分光計デバイス(ThorLabsから提供)を接続しようとしています。しかし、この製造元はWindowsシステムのみをサポートしていますが、パッケージにドライバのソースコードが含まれているので、そのドライバをLinuxでコンパイルしてデバイスを使用できると思います。必要な唯一のものはUSBインタフェースと通信するためのVISAライブラリですが、NI-VISAを介してLinuxで使用できることがわかりました。Linux用NI-VISA)。

これまでLinuxシステムでデバイスドライバのソースコードをコンパイルしていましたが、問題はまだデバイスと対話できないことです。しかし、これは私が今まで知っているものです:

  • Linuxでこのコマンドを使用すると、lsusbベンダー(0x1313)と製品ID(0x8080)が表示されますが、シリアル番号は表示されません。また、製品IDは私が期待したものとは異なり、0x8081です。
    $ lsusb
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 003: ID 04f2:b685 Chicony Electronics Co., Ltd 
    Bus 001 Device 002: ID 06cb:00a8 Synaptics, Inc. 
    Bus 001 Device 004: ID 8087:0029 Intel Corp. 
    Bus 001 Device 005: ID 1313:8080 ThorLabs 
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  • usb-devices私のデバイスに追加のドライバがないことがわかりました。しかし、コンパイルされたドライバライブラリを使用してこれを行う方法がわかりません。
    T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  5 Spd=480 MxCh= 0
    D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
    P:  Vendor=1313 ProdID=8080 Rev=00.00
    C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
    I:  If#= 0 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
  • libvisa.so バックエンドのすべてのインタフェースを一覧表示するには、pyvisa Python パッケージを使用します。クエリを通過した後も私のデバイスは返されません?*

  • このページ(https://zone.ni.com/reference/en-XX/help/370131S-01/ni-visa/configuringni-visarecognizerawusbdevice/)はRAWデバイス用にNI-VISAを設定する方法を説明します(実際にはデバイスの場合です)。カーネルサポートが必要だと言います。USBFS。しかし、少し読んだ後、この機能は廃止され、最新のディストリビューションでは廃止されています。とにかく、実際にデバイスをマウントしようとしましたが、/devにエントリが見つからないか、少なくとも私が認識したエントリが見つかりませんでした。

私はLinuxシステムについてかなりよく知っていましたが、複雑なハードウェア構成を深く掘り下げたことはありませんでした。この時点で私はアイデアが不足していました。この問題をデバッグするには、何を探す必要がありますか?上記の2番目のポイントには接続ドライバが表示されないため、このデバイスを処理するためにコンパイルされたドライバを何らかの方法で定義できますか?どんなヒント/アドバイスでもいただければ幸いです!

編集:質問の背景を明確にしました。 NI-VISAリファレンスが追加されました。

ベストアンサー1

私はこれが愚かな質問であることを知っていますが、時には質問を受ける必要があるかもしれません。モジュールがツリーの外でコンパイルされたと仮定し、モジュールをインストールしてロードしたことを確認しましたか(modprobeなど)。

おすすめ記事