Windows 10 shows "Could not recognize device " when plugged in upsquared through OTG

vini_gajjar
vini_gajjar New Member Posts: 11

Hello ,
I have the Up squared 8GB memory / 64 GB storage version.

Problem: Windows 10 shows "Device malfunction, Could not recognize" when plugged in the Up squared board through otg.

Steps: Following steps are performed to use up-squared as gadget mass storage device and to access it from windows 10

1 In bios the OTG device mode is already enabled.

2 In terminal , I ran following commands,
dd bs=1M count=4 if=/dev/zero of=gadget_storage
fdisk -u gadget_storage

  • pressed "x" for expert mode
  • pressed "s" and entered 8 for 8 sectors
  • pressed "h" and entered 1 for 1 head
  • pressed "c" and entered 1024 for 1024 cylinders
  • pressed "r" to get out of xpert mode
  • pressed "n" and then "p" for primary
  • Entered the default value to select the partitions and then First sector and Last sectors
  • pressed "t" and and pressed "7" to select file system as NTFS
  • pressed "w" to save the partition table.
    losetup -o512 /dev/loop0 gadget_storage
    *// -o 512 setting the byte offset (First sector number[1 in my case] * 512 = 512)
    mkfs.ntfs -p 1 -S 8 -H 1 /dev/loop0 8191
    *// p sets starting sector number which is 1 , S represent sectors per track which i selected as 8 , H as heads and 8191
    *// reperesent total sectors .
    losetup -d /dev/loop0
    *// detaching the backing store file from loop device
    modprobe g_mass_storage stall=0 file=gadget_storage

Connected the upsquared to windows 10 host machine while OTG cable
Problem : windows 10 shows , Device malfunctioned , could not recognize the usb device.

However , I could successfully detect the mass storage in windows 7 and linux ubuntu host systems ,

Could somebody please help me understand what could go wrong with windows 10.

Thank you

Answers

  • vini_gajjar
    vini_gajjar New Member Posts: 11

    @ccalde
    As you said , I have set up a new discussion here,
    I want to mention one thing is that i have installed ubuntu 16.04 following the steps mentioned on https://wiki.up-community.org/Ubuntu
    Now i have configured the Upsquared board in Device mode OTG and created a mass storage using the above steps.
    The problem is when I connect the board to windows 10 host machine through otg , I get a notification on my windows laptop, "Windows can not recognize the device or malfunctioned"

  • ccalde
    ccalde New Member Posts: 348 ✭✭✭

    Hi @vini_gajjar

    I think your issue is with the format for Windows.

    Please, try the next instructions to reformat your UP2 device as mass storage to be detected by Windows:
    https://wiki.up-community.org/Serial_console#Storage_device

  • vini_gajjar
    vini_gajjar New Member Posts: 11
    edited May 2019

    Friends, I could solve this issue which I think may not be the only way to solve it.
    I downloaded the kernel source, accessed the g_mass_storage.c>
    I modified the device speed mentioned in the driver description [USB_SPEED_SUPER to USB_SPEED_HIGH]
    built the module and copied it in /lib/modules//kernel/drivers/usb/gadget/
    Loaded the module using modprobe and now can access the device from Windows 10.
    I did this as i doubted the stability and recognition of otg device [up squared] at usb 3.0 speed.
    I could see that the enumeration process always used to fail due to no descriptor values received from upsquared when requested by host.