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:
-
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
-
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 . -
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).