Module Raspberry Pi零作为读写大容量存储器
我正在尝试使用Module Raspberry Pi零作为读写大容量存储器,module,raspberry-pi-zero,Module,Raspberry Pi Zero,我正在尝试使用dwc2和g_mass_storage(使用可用的最后一张Raspbian图像)将Raspberry Pi Zero设置为大容量存储器。 我用dd创建了数据存储文件,用mkdosfs将其制作成FAT32 fs。 我找了很多东西。我花了一些时间来理解应该在/etc/modprobe.d/g_mass_storage.conf 它最终出现在ubuntu中。我的问题是:它处于只读模式 我试图将ro选项设置为y或n,但对行为没有任何影响。我更改了文件(777)的权限,但没有更改任何内容。
dwc2
和g_mass_storage
(使用可用的最后一张Raspbian图像)将Raspberry Pi Zero设置为大容量存储器。
我用dd
创建了数据存储文件,用mkdosfs
将其制作成FAT32 fs。
我找了很多东西。我花了一些时间来理解应该在/etc/modprobe.d/g_mass_storage.conf
它最终出现在ubuntu中。我的问题是:它处于只读模式
我试图将ro
选项设置为y
或n
,但对行为没有任何影响。我更改了文件(777)的权限,但没有更改任何内容。
以下是我的/etc/modprobe.d/g_mass_storage.conf
文件的当前内容:
options g_mass_storage file=/piusb.bin stall=0 removable=y ro=n
以下是ubuntu中的dmesg
:
[Today and now]usb 1-1.2: new high-speed USB device number 28 using ehci-pci
[ +0,299994] usb 1-1.2: device descriptor read/64, error -71
[ +0,959969] usb 1-1.2: device descriptor read/64, error -71
[ +0,187918] usb 1-1.2: new high-speed USB device number 29 using ehci-pci
[ +0,113925] usb 1-1.2: New USB device found, idVendor=0525, idProduct=a4a5
[ +0,000007] usb 1-1.2: New USB device strings: Mfr=3, Product=4, SerialNumber=0
[ +0,000004] usb 1-1.2: Product: Mass Storage Gadget
[ +0,000003] usb 1-1.2: Manufacturer: Linux 4.19.118+ with 20980000.usb
[ +0,001467] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[ +0,000246] usb-storage 1-1.2:1.0: Quirks match for vid 0525 pid a4a5: 10000
[ +0,000283] scsi host9: usb-storage 1-1.2:1.0
[ +1,009528] scsi 9:0:0:0: Direct-Access Linux File-Stor Gadget 0419 PQ: 0 ANSI: 2
[ +0,001079] sd 9:0:0:0: Attached scsi generic sg5 type 0
[ +0,001699] sd 9:0:0:0: Power-on or device reset occurred
[ +0,001211] sd 9:0:0:0: [sde] 67108864 512-byte logical blocks: (34.4 GB/32.0 GiB)
[ +0,000672] sd 9:0:0:0: [sde] Write Protect is on
[ +0,000016] sd 9:0:0:0: [sde] Mode Sense: 0f 00 80 00
[ +0,000740] sd 9:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ +0,005478] sde:
[ +0,002735] sd 9:0:0:0: [sde] Attached SCSI removable disk
如何获得读/写大容量存储器?我重现了您的问题。我在Raspberry Pi Zero W上的模块
g_acm_ms
上遇到了类似的问题。如果在/etc/modprobe.d/
中配置模块,则系统会忽略参数ro=0
。这可能是由于内核模块的初始化顺序。我通过将模块添加到黑名单并在/etc/rc.local
中编写初始化来解决这个问题。因此,我设法获得了读/写大容量存储器的仿真
所有步骤:
# dd bs=1M if=/dev/zero of="/piusb.bin" count=2048
# mkdosfs "/piusb.bin"
/boot/cmd_line.txt
的末尾(在rootwait
之后)/boot/config.txt
$ echo "blacklist g_acm_ms" | sudo tee -a "/etc/modprobe.d/blacklist-g_acm_ms.conf"
/etc/rc.local
中添加初始化退出0
:
# nano /etc/rc.local
/sbin/modprobe file=/piusb.bin removable=y ro=0 stall=0
# reboot -h
注意:如果您不想使用USB进行控制台输出,您可以使用
g_mass_storage
而不是g_acm_ms
我重现了您的问题。我在Raspberry Pi Zero W上的模块g_acm_ms
上遇到了类似的问题。如果在/etc/modprobe.d/
中配置模块,则系统会忽略参数ro=0
。这可能是由于内核模块的初始化顺序。我通过将模块添加到黑名单并在/etc/rc.local
中编写初始化来解决这个问题。因此,我设法获得了读/写大容量存储器的仿真
所有步骤:
# dd bs=1M if=/dev/zero of="/piusb.bin" count=2048
# mkdosfs "/piusb.bin"
/boot/cmd_line.txt
的末尾(在rootwait
之后)/boot/config.txt
$ echo "blacklist g_acm_ms" | sudo tee -a "/etc/modprobe.d/blacklist-g_acm_ms.conf"
/etc/rc.local
中添加初始化退出0
:
# nano /etc/rc.local
/sbin/modprobe file=/piusb.bin removable=y ro=0 stall=0
# reboot -h
注意:如果您不想使用USB进行控制台输出,您可以使用
g_mass_storage
而不是g_acm_ms
,我不知道它是否改变了什么,但我正在用“USB”端口为pi zero供电,这意味着当我将其插入计算机时,它将启动。我使用外部电源进行测试,它只删除了错误-71
我不知道它是否改变了某些内容,但我正在使用“usb”端口为pi zero通电,这意味着当我将其插入计算机时,它将启动。我使用外部电源进行了测试,它只删除了错误-71