Configure Dragonboard as a USB mass storage device to access its file system from the connected linux host through OTG


#1

Hello,
I am new to 96boards forums. I want to configure the dragon board as a mass storage device so the file system (some files in the file system) could be accessed from the linux or windows host connected through the USB OTG.

I have taken the following steps to enable the feature.

  1. Enabled following in kernel config.
    i. USB gadget support
    ii. USB gadget drivers.
    iii. USB functions configurable through Configfs.
    iv. Mass storage
    v. Mass storage gadget.
    vi. Ethernet gadget is disabled.
  2. build kernel and modules and flashed the kernel image through fastboot process as mentioned in the link https://builds.96boards.org/releases/dragonboard410c/linaro/debian/16.09/ .
  3. following commands i executed on the dragonboard.
    i. sudo modprobe configfs
    ii. sudo modprobe linkcomposite
    iii. sudo modprobe usb_f_mass_storage
    iv. sudo modprobe g_mass_storage file=/home/linaro/Documents/files
  4. connected my drogon board to the linux host but no file system is detected.
    i got the following logs in /var/log/messages when i connected the dragon board to host PC through OTG.

Feb 28 12:40:03 linaro-alip kernel: [25789.448501] msm_hsusb_host 78d9000.ehci: remove, state 1
Feb 28 12:40:03 linaro-alip kernel: [25789.448613] usb usb1: USB disconnect, device number 1
Feb 28 12:40:03 linaro-alip kernel: [25789.448732] usb 1-1: USB disconnect, device number 2
Feb 28 12:40:03 linaro-alip kernel: [25789.448756] usb 1-1.1: USB disconnect, device number 3
Feb 28 12:40:03 linaro-alip kernel: [25789.448779] usb 1-1.1.3: USB disconnect, device number 6
Feb 28 12:40:03 linaro-alip kernel: [25789.506447] usb 1-1.1.4: USB disconnect, device number 5
Feb 28 12:40:03 linaro-alip kernel: [25789.687549] usb 1-1.2: USB disconnect, device number 4
Feb 28 12:40:03 linaro-alip kernel: [25789.709375] msm_hsusb_host 78d9000.ehci: USB bus 1 deregistered
Feb 28 12:40:04 linaro-alip kernel: [25789.847889] msm_otg 78d9000.phy: Avail curr from USB = 100

Following is the output of lsmod.
linaro@linaro-alip:~$ lsmod
Module Size Used by
g_mass_storage 6022 0
usb_f_mass_storage 50812 2 g_mass_storage
libcomposite 54980 2 usb_f_mass_storage,g_mass_storage
configfs 33353 3 libcomposite,usb_f_mass_storage
bnep 18397 2
wcn36xx 70557 0
joydev 11855 0

Please share what wrong i have done. Please share if any more logs required.


#2

I have had the same issue with the g_ether gadget. The gadget seems to be working properly on the Dragonboard side, /dev/usb0 is created and can be configured with an IP address. The Dragonboard is just not enumerated on the host side.

Has anyone been successful getting any of the gadgets to work on the Dragonboard with the Debian build?

I can give more detail if required but if someone has a configuration for any of the gadgets that is known to work on the Dragonboard that would be a good start.