GNU/Linux >> Linux の 問題 >  >> Linux

G_mass_storage => Udc-coreを使用してファイルでUsbデバイスをエミュレートする:使用可能なUdcが見つかりませんでした–保留中のドライバーのリストに[g_mass_storage]を追加しましたか?

画像ファイルからUSBをエミュレートしたい。

カーネル4.11.7でCentos7を使用しています kernel-mlを介してインストール およびkernel-ml-devel elrepo 4.11.7-1.el7.elrepo.x86_64 (実際、3.10。*4.10。*4.11.1でも試してみました)

2つの解決策があります:

  1. insmodを使用

    sudo insmod /link/to/g_mass_storage.ko file =/ tmp / filebin.img stall =0 removeable =y

dmesg
udc-core: couldn't find an available UDC - added [g_mass_storage] to list of pending drivers

  1. modprobeを使用

    $ sudo modprobe g_mass_storage file =/tmp/testusb.img stall =0 removeable =y
    modprobe:FATAL:モジュールg_mass_storageが見つかりません。
    dmesgに何もありません 。

  2. dummy_hcdも試してみました :

    $ sudomodprobeダミー_hcd
    modprobe:致命的:モジュールdummy_hcdが見つかりません。

この問題を解決するにはどうすればよいですか?

ガジェットなどですべてを有効にして、カーネル4.11.1を再コンパイルするなど、さまざまなことを試しました…

/usr/src/kernels/4.11.7-1.el7.elrepo.x86_64 $ cat .config | grep CONFIG_USB_DUMMY_HCD
# CONFIG_USB_DUMMY_HCD is not set

結果:
カーネルをコンパイルした後、modprobe dummy_hcdすることができました バイナリファイルでUSBをエミュレートします。

承認された回答:

dummy_hcdが必要です ダミー(ループバック)ホストコントローラーデバイス。ガジェットUSBドライバーは、実際のUSBハードウェア用であり、通常のPCにはこのハードウェアは存在しません。ループバックコントローラーは、ガジェットコントローラーのフレームワークと、それらにアクセスするためのUSBホストコントローラーの両方を提供します。だから:

$ sudo modprobe dummy_hcd

新しいルートハブを提供します

$ lsusb
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

これで、ガジェットドライバーをmodprobeできます

$ sudo modprobe g_mass_storage file=/path/to/backing_file idVendor=0x1d6b idProduct=0x0104 iManufacturer=Myself iProduct=VirtualBlockDevice iSerialNumber=123

新しいルートハブの下に表示されます

$ lsusb
Bus 005 Device 002: ID 0525:a4a5 Netchip Technology, Inc. Pocketbook Pro 903
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

ファイルの内容だけに関心がある場合は、USB大容量ストレージデバイスをシミュレートする必要がないことに注意してください。直接マウントできます(ループデバイスを介してマウントできますが、自動的に行われます)。


Linux
  1. LinuxでのLogrotateの使用ログファイルの管理(例を含む)

  2. Linux でフル パスを指定して ls コマンドを使用してファイルを一覧表示する

  3. find と xargs を使用して rm でファイルを削除する

  1. MAC上の.isoファイルを使用してPCで起動可能なUSBスティックを作成する

  2. Linux でフル パスを含むファイルを一覧表示するにはどうすればよいですか?

  3. デバイスファイルとデバイスドライバーの違い

  1. コマンドラインからストップワードリストを含むファイルで最も頻繁に使用されるN個の単語を検索しますか?

  2. Linuxで検索および検索コマンドを使用してファイルを検索する

  3. Bash を使用してファイルを検索してコピーする