Windows 10 shows "Could not recognize device " when plugged in upsquared through OTG
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
-
@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" -
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 -
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.