GNU/Linux >> Belajar Linux >  >> Linux

Meniru Perangkat Usb Dengan File Menggunakan G_mass_storage => Udc-core:Tidak Dapat Menemukan Udc yang Tersedia – Menambahkan [g_mass_storage] Ke Daftar Driver Tertunda?

Saya ingin meniru USB dari file gambar.

Saya menggunakan Centos7 dengan Kernel 4.11.7 diinstal melalui kernel-ml dan kernel-ml-devel elrepo 4.11.7-1.el7.elrepo.x86_64 (sebenarnya saya mencoba dengan 3.10.* 4.10.* 4.11.1 juga)

Kami memiliki 2 solusi:

  1. dengan insmod

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

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

  1. dengan modprobe

    $ sudo modprobe g_mass_storage file=/tmp/testusb.img stall=0 removable=y
    modprobe:FATAL:Modul g_mass_storage tidak ditemukan.
    Tidak ada di dmesg .

  2. Saya juga telah mencoba dengan dummy_hcd :

    $ sudo modprobe dummy_hcd
    modprobe:FATAL:Modul dummy_hcd tidak ditemukan.

Bagaimana cara mengatasi masalah ini?

Saya mencoba banyak hal seperti mengkompilasi ulang Kernel 4.11.1 dengan mengaktifkan semuanya dengan gadget dll…

/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

Hasil:
Setelah mengkompilasi kernel, saya dapat modprobe dummy_hcd dan untuk meniru usb dengan file biner.

Jawaban yang Diterima:

Anda memerlukan dummy_hcd perangkat pengontrol host dummy (loopback). Driver USB gadget dimaksudkan untuk perangkat keras USB nyata, dan pada PC normal perangkat keras ini tidak ada. Pengontrol loopback menyediakan kerangka kerja untuk pengontrol gadget, dan pengontrol host USB untuk mengaksesnya. Jadi:

$ sudo modprobe dummy_hcd

memberi Anda hub root baru

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

Sekarang kamu bisa modprobe driver gadgetnya

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

dan itu akan muncul di bawah root hub baru

$ 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

Perhatikan bahwa Anda tidak perlu mensimulasikan perangkat penyimpanan massal USB jika Anda hanya tertarik dengan konten file, Anda dapat memasangnya secara langsung (melalui perangkat loop, tetapi itu terjadi secara otomatis).


Linux
  1. Temukan File dengan Perintah Temukan dan Temukan di Linux

  2. Linux menghapus file dengan ukuran 0

  3. Ulangi daftar file dengan spasi

  1. Buat daftar semua file gambar grafik dengan find?

  2. Daftar file menggunakan perintah ls di Linux dengan path lengkap

  3. Menghapus file dengan rm menggunakan find dan xargs

  1. Bagaimana cara mengisi file dengan FF menggunakan dd?

  2. Cara mencari file dengan name=php.ini di linux menggunakan perintah grep

  3. Bagaimana cara menghapus file dengan nama aneh?