I am trying to mount a USB hard drive (Seagate Backup Plus) via the USB OTG port of my Wandboard on Arch Linux ARM. When I plug in the drive the pilot light flashes several times and Arch Linux finds the device, but finds it as a USB hub:
[ 1912.431400] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1 [ 1912.452800] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00 [ 1912.458503] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.08 [ 1912.466803] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1912.474060] usb usb1: Product: EHCI Host Controller [ 1912.478967] usb usb1: Manufacturer: Linux 5.8.7-1-ARCH ehci_hcd [ 1912.484916] usb usb1: SerialNumber: ci_hdrc.0 [ 1912.489891] hub 1-0:1.0: USB hub found [ 1912.493807] hub 1-0:1.0: 1 port detected
Is there a way I can have Linux recognize the HDD as a block device so that I can then mount it?
I would be happy to supply any further information.
In continuing my research I find that the g_mass_storage module
is in my device tree. Am I right in assuming that I wouldn’t need to recompile Arch ARM in order to use the USB HDD as a storage device, since I already have this module? However I would need help with how to go about enabling the module at boot time in order to be able to mount the HDD.
Below is the output of modinfo on the module:
[alarm@alarm ~]$ modinfo g_mass_storage filename: /lib/modules/5.8.7-1-ARCH/kernel/drivers/usb/gadget/legacy/g_mas s_storage.ko.gz license: GPL author: Michal Nazarewicz description: Mass Storage Gadget depends: usb_f_mass_storage,libcomposite intree: Y name: g_mass_storage vermagic: 5.8.7-1-ARCH SMP preempt mod_unload modversions ARMv7 p2v8 parm: idVendor:USB Vendor ID (ushort) parm: idProduct:USB Product ID (ushort) parm: bcdDevice:USB Device version (BCD) (ushort) parm: iSerialNumber:SerialNumber string (charp) parm: iManufacturer:USB Manufacturer string (charp) parm: iProduct:USB Product string (charp) parm: file:names of backing files or devices (array of charp) parm: ro:true to force read-only (array of bool) parm: removable:true to simulate removable media (array of bool) parm: cdrom:true to simulate CD-ROM instead of disk (array of bool) parm: nofua:true to ignore SCSI WRITE(10,12) FUA bit (array of bool) parm: luns:number of LUNs (uint) parm: stall:false to prevent bulk stalls (bool) ``