All of lore.kernel.org
 help / color / mirror / Atom feed
* USB mass storage gadget on SAMA5D2
@ 2023-05-19 20:18 admin LI
  2023-05-21  7:09 ` Eugen Hristev
  0 siblings, 1 reply; 7+ messages in thread
From: admin LI @ 2023-05-19 20:18 UTC (permalink / raw)
  To: Lukasz Majewski, Marek Vasut, u-boot

Hi,

I'm trying to use ums to access EMMC on our SAMA5D2 board without success.

My board_init(), without adding usba_udc_probe() ums will cause data abort
error:
int board_init(void)
{
/* address of boot parameters */
gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;

#ifdef CONFIG_USB_GADGET_ATMEL_USBA
at91_udp_hw_init();
usba_udc_probe(&pdata);
#endif

return 0;
}

USB related config:
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_STORAGE=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_VENDOR_NUM=0xdead
CONFIG_USB_GADGET_PRODUCT_NUM=0xbeef
CONFIG_USB_GADGET_ATMEL_USBA=y
CONFIG_USB_GADGET_VBUS_DRAW=500
CONFIG_USB_GADGET_DOWNLOAD=y
CONFIG_USB_ETHER=y

EMMC can be successfully accessed, Linux boot is ok:
=> mmc list
sdio-host@a0000000: 0 (eMMC)

=> mmc info
Device: sdio-host@a0000000
Manufacturer ID: 70
OEM: 100
Name: M6270
Bus Speed: 52000000
Mode: MMC High Speed (52MHz)
Rd Block Len: 512
MMC version 5.1
High Capacity: Yes
Capacity: 3.6 GiB
Bus Width: 4-bit
Erase Group Size: 512 KiB
HC WP Group Size: 4 MiB
User Capacity: 3.6 GiB
Boot Capacity: 2 MiB ENH
RPMB Capacity: 512 KiB ENH
Boot area 0 is not write protected
Boot area 1 is not write protected

=> mmc part

Partition Map for MMC device 0  --   Partition Type: DOS

Part    Start Sector    Num Sectors     UUID            Type
  1     2048            1044480         0508e2bf-01     83

However, when I use "ums 0 mmc 0", the USB device is partially enumerated
without a block device available, in the console the rotation cursor spins
about 20s then USB is disconnected.

On u-boot:
=> ums 0 mmc 0
UMS: LUN 0, dev mmc 0, hwpart 0, sector 0x0, count 0x720000
-=> (self-exit after 20s)

On Linux:
[  699.920316] usb 3-5: new high-speed USB device number 5 using xhci_hcd
[  700.060766] usb 3-5: New USB device found, idVendor=dead,
idProduct=beef, bcdDevice= 2.17
[  700.060772] usb 3-5: New USB device strings: Mfr=1, Product=2,
SerialNumber=0
[  700.060774] usb 3-5: Product: USB download gadget
[  700.060776] usb 3-5: Manufacturer: U-Boot
[  700.081573] usb-storage 3-5:1.0: USB Mass Storage device detected
[  700.081780] scsi host0: usb-storage 3-5:1.0
[  700.081874] usbcore: registered new interface driver usb-storage
[  700.088339] usbcore: registered new interface driver uas
[  722.407008] usb 3-5: USB disconnect, device number 5


Thanks,

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: USB mass storage gadget on SAMA5D2
  2023-05-19 20:18 USB mass storage gadget on SAMA5D2 admin LI
@ 2023-05-21  7:09 ` Eugen Hristev
  2023-05-22  9:00   ` admin LI
  0 siblings, 1 reply; 7+ messages in thread
From: Eugen Hristev @ 2023-05-21  7:09 UTC (permalink / raw)
  To: admin LI, Lukasz Majewski, Marek Vasut, u-boot
  Cc: mihai Sain, cristian.birsan

Hi,

I believe someone from Microchip have tried this before
Some people in CC added

You can also open a case on support.microchip.com

Eugen

On 5/19/23 23:18, admin LI wrote:
> Hi,
> 
> I'm trying to use ums to access EMMC on our SAMA5D2 board without success.
> 
> My board_init(), without adding usba_udc_probe() ums will cause data abort
> error:
> int board_init(void)
> {
> /* address of boot parameters */
> gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
> 
> #ifdef CONFIG_USB_GADGET_ATMEL_USBA
> at91_udp_hw_init();
> usba_udc_probe(&pdata);
> #endif
> 
> return 0;
> }
> 
> USB related config:
> CONFIG_USB=y
> CONFIG_USB_EHCI_HCD=y
> CONFIG_USB_STORAGE=y
> CONFIG_USB_GADGET=y
> CONFIG_USB_GADGET_VENDOR_NUM=0xdead
> CONFIG_USB_GADGET_PRODUCT_NUM=0xbeef
> CONFIG_USB_GADGET_ATMEL_USBA=y
> CONFIG_USB_GADGET_VBUS_DRAW=500
> CONFIG_USB_GADGET_DOWNLOAD=y
> CONFIG_USB_ETHER=y
> 
> EMMC can be successfully accessed, Linux boot is ok:
> => mmc list
> sdio-host@a0000000: 0 (eMMC)
> 
> => mmc info
> Device: sdio-host@a0000000
> Manufacturer ID: 70
> OEM: 100
> Name: M6270
> Bus Speed: 52000000
> Mode: MMC High Speed (52MHz)
> Rd Block Len: 512
> MMC version 5.1
> High Capacity: Yes
> Capacity: 3.6 GiB
> Bus Width: 4-bit
> Erase Group Size: 512 KiB
> HC WP Group Size: 4 MiB
> User Capacity: 3.6 GiB
> Boot Capacity: 2 MiB ENH
> RPMB Capacity: 512 KiB ENH
> Boot area 0 is not write protected
> Boot area 1 is not write protected
> 
> => mmc part
> 
> Partition Map for MMC device 0  --   Partition Type: DOS
> 
> Part    Start Sector    Num Sectors     UUID            Type
>    1     2048            1044480         0508e2bf-01     83
> 
> However, when I use "ums 0 mmc 0", the USB device is partially enumerated
> without a block device available, in the console the rotation cursor spins
> about 20s then USB is disconnected.
> 
> On u-boot:
> => ums 0 mmc 0
> UMS: LUN 0, dev mmc 0, hwpart 0, sector 0x0, count 0x720000
> -=> (self-exit after 20s)
> 
> On Linux:
> [  699.920316] usb 3-5: new high-speed USB device number 5 using xhci_hcd
> [  700.060766] usb 3-5: New USB device found, idVendor=dead,
> idProduct=beef, bcdDevice= 2.17
> [  700.060772] usb 3-5: New USB device strings: Mfr=1, Product=2,
> SerialNumber=0
> [  700.060774] usb 3-5: Product: USB download gadget
> [  700.060776] usb 3-5: Manufacturer: U-Boot
> [  700.081573] usb-storage 3-5:1.0: USB Mass Storage device detected
> [  700.081780] scsi host0: usb-storage 3-5:1.0
> [  700.081874] usbcore: registered new interface driver usb-storage
> [  700.088339] usbcore: registered new interface driver uas
> [  722.407008] usb 3-5: USB disconnect, device number 5
> 
> 
> Thanks,


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: USB mass storage gadget on SAMA5D2
  2023-05-21  7:09 ` Eugen Hristev
@ 2023-05-22  9:00   ` admin LI
  2023-05-25 17:16     ` Cristian.Birsan
  0 siblings, 1 reply; 7+ messages in thread
From: admin LI @ 2023-05-22  9:00 UTC (permalink / raw)
  To: Eugen Hristev
  Cc: Lukasz Majewski, Marek Vasut, u-boot, mihai Sain, cristian.birsan

Hi,

I think there may be some racing in the driver. (Purely assumption as a
tinyusb maintainer)
If I enable DBG_ALL in atmel_usba_udc.h, the block device is enermurated
although with I/O error.

[1337613.189788] usb 1-1: new high-speed USB device number 7 using xhci_hcd
[1337613.674551] usb 1-1: New USB device found, idVendor=dead,
idProduct=beef, bcdDevice= 2.17
[1337613.674565] usb 1-1: New USB device strings: Mfr=1, Product=2,
SerialNumber=0
[1337613.674568] usb 1-1: Product: USB download gadget
[1337613.674572] usb 1-1: Manufacturer: U-Boot
[1337613.866033] usb-storage 1-1:1.0: USB Mass Storage device detected
[1337613.866645] scsi host0: usb-storage 1-1:1.0
[1337614.997803] scsi 0:0:0:0: Direct-Access     Linux    UMS disk 0
ffff PQ: 0 ANSI: 2
[1337615.230004] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337615.706637] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337616.183308] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337616.659937] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337617.140086] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337617.616632] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337618.073323] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337618.549927] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337619.026540] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337619.499944] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337619.976679] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337620.453285] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337620.916597] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337621.393267] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337621.869676] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337622.346597] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337622.823361] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337623.293287] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337623.635357] sd 0:0:0:0: [sda] Read Capacity(10) failed: Result:
hostbyte=DID_ERROR driverbyte=DRIVER_OK
[1337623.635369] sd 0:0:0:0: [sda] Sense not available.
[1337623.635376] sd 0:0:0:0: [sda] 0 512-byte logical blocks: (0 B/0 B)
[1337623.635379] sd 0:0:0:0: [sda] 0-byte physical blocks
[1337623.756597] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337624.233274] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337624.709945] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337625.186639] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337625.663266] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337626.136617] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337626.478078] sd 0:0:0:0: [sda] Write Protect is off
[1337626.478088] sd 0:0:0:0: [sda] Mode Sense: 00 00 00 00
[1337626.599928] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337627.076606] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337627.553276] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337628.029936] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337628.499858] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337628.973267] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337629.313846] sd 0:0:0:0: [sda] Asking for cache data failed
[1337629.313861] sd 0:0:0:0: [sda] Assuming drive cache: write through
[1337629.314517] sd 0:0:0:0: [sda] Attached SCSI removable disk
[1337629.436603] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337629.906353] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337630.373268] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337630.843284] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337631.306595] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337631.783253] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337632.259935] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337632.736612] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337633.213283] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337633.689933] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337634.146549] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337634.626586] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337635.096677] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337635.569893] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337636.043195] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337636.519877] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337636.993235] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337637.463216] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337637.926268] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337638.403221] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337638.879961] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337639.343221] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337639.813267] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337640.293319] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337640.756596] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337641.233227] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337641.709903] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337642.183232] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337642.649871] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337643.123263] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337643.586595] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337644.063281] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337644.539952] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337645.016640] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337645.493347] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337645.969975] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337646.433307] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337646.906317] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337647.366610] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337647.836558] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337648.309969] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337648.773280] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337649.243256] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337649.723285] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337650.199907] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337650.663212] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337651.139885] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337651.613205] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337652.878455] sd 0:0:0:0: [sda] 7471104 512-byte logical blocks: (3.83
GB/3.56 GiB)
[1337653.056594] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337653.533299] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337654.009932] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337654.486656] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337654.963248] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337655.439945] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337655.903277] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337656.379957] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337656.853260] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337657.326598] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337657.803280] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337658.279946] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337658.620594] sda: detected capacity change from 0 to 7471104
[1337658.743259] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337659.213281] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337659.689931] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337660.169887] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337660.639886] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337661.113316] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337661.576555] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337662.046598] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337662.523268] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337662.999945] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337663.479877] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337663.956609] usb 1-1: reset high-speed USB device number 7 using
xhci_hcd
[1337664.294581] sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_ERROR
driverbyte=DRIVER_OK cmd_age=2s
[1337664.294593] sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 00 00 00
00 08 00
[1337664.294597] I/O error, dev sda, sector 0 op 0x0:(READ) flags 0x0
phys_seg 1 prio class 2
[1337664.294611] Buffer I/O error on dev sda, logical block 0, async page
read


=> ums 0 mmc 0
UMS: LUN 0, dev mmc 0, hwpart 0, sector 0x0, count 0x720000
udc: ep_alloc_request: 2fb6ee28, 0x0
udc: irq, status=0x000022
udc: Suspend detected
udc: Wake Up CPU detected
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000000
udc: irq, status=0x000020
udc: Wake Up CPU detected
udc: irq, status=0x000011
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000029
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000029
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000029
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000029
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000029
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000029
udc: Wake Up CPU detected
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [0]: s/80855000 c/00001001
udc: Packet length: 8
udc: Copying ctrl request from 0x00300000:
udc: ep0: queue req 2fb740f8, len 18
udc: req 80.06, length 64, state 1, ret 0
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/00014000 c/00001801
udc: ep0: submit_request: req 2fb740f8 (length 18), dma: 0
udc: ep0: submit_transaction, req 2fb740f8 (length 18), done
udc: ep0 [1]: s/01254800 c/00001401
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/00000040 c/00000001
udc: irq, status=0x000031
udc: Wake Up CPU detected
udc: ep0: req 2fb740f8 complete: status -104, actual 18
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000001
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000029
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000029
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000129
udc: Wake Up CPU detected
udc: ep0 [0]: s/80845000 c/00001001
udc: Packet length: 8
udc: Copying ctrl request from 0x00300000:
udc: setting address 2...
udc: req 00.05, length 0, state 5, ret 0
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [5]: s/00004400 c/00001401
udc: ep0 [0]: s/00004000 c/00001001
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [0]: s/80855000 c/00001001
udc: Packet length: 8
udc: Copying ctrl request from 0x00300000:
udc: ep0: queue req 2fb740f8, len 18
udc: req 80.06, length 18, state 1, ret 0
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/00014000 c/00001801
udc: ep0: submit_request: req 2fb740f8 (length 18), dma: 0
udc: ep0: submit_transaction, req 2fb740f8 (length 18), done
udc: ep0 [1]: s/01254800 c/00001401
udc: irq, status=0x000129
udc: Wake Up CPU detected
udc: ep0 [1]: s/8085d400 c/00001401
udc: ep0 [4]: s/8085d000 c/00001201
udc: ep0: req 2fb740f8 complete: status 0, actual 18
udc: Packet length: 8
udc: Copying ctrl request from 0x00300000:
udc: ep0: queue req 2fb740f8, len 9
udc: req 80.06, length 9, state 1, ret 0
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/0001c000 c/00001801
udc: ep0: submit_request: req 2fb740f8 (length 9), dma: 0
udc: ep0: submit_transaction, req 2fb740f8 (length 9), done
udc: ep0 [1]: s/0095c800 c/00001401
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/8085d400 c/00001401
udc: ep0 [4]: s/8085d000 c/00001201
udc: ep0: req 2fb740f8 complete: status 0, actual 9
udc: Packet length: 8
udc: Copying ctrl request from 0x00300000:
udc: ep0: queue req 2fb740f8, len 32
udc: req 80.06, length 32, state 1, ret 0
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/0001c000 c/00001801
udc: ep0: submit_request: req 2fb740f8 (length 32), dma: 0
udc: ep0: submit_transaction, req 2fb740f8 (length 32), done
udc: ep0 [1]: s/0205c800 c/00001401
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/8085d400 c/00001401
udc: ep0 [4]: s/8085d000 c/00001201
udc: ep0: req 2fb740f8 complete: status 0, actual 32
udc: Packet length: 8
udc: Copying ctrl request from 0x00300000:
udc: ep0: queue req 2fb740f8, len 4
udc: req 80.06, length 255, state 1, ret 0
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/0001c000 c/00001801
udc: ep0: submit_request: req 2fb740f8 (length 4), dma: 0
udc: ep0: submit_transaction, req 2fb740f8 (length 4), done
udc: ep0 [1]: s/0045c800 c/00001401
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/8085d400 c/00001401
udc: ep0 [4]: s/8085d000 c/00001201
udc: ep0: req 2fb740f8 complete: status 0, actual 4
udc: Packet length: 8
udc: Copying ctrl request from 0x00300000:
udc: ep0: queue req 2fb740f8, len 40
udc: req 80.06, length 255, state 1, ret 0
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/0001c000 c/00001801
udc: ep0: submit_request: req 2fb740f8 (length 40), dma: 0
udc: ep0: submit_transaction, req 2fb740f8 (length 40), done
udc: ep0 [1]: s/0285c800 c/00001401
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/8085d400 c/00001401
udc: ep0 [4]: s/8085d000 c/00001201
udc: ep0: req 2fb740f8 complete: status 0, actual 40
udc: Packet length: 8
udc: Copying ctrl request from 0x00300000:
udc: ep0: queue req 2fb740f8, len 14
udc: req 80.06, length 255, state 1, ret 0
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/0001c000 c/00001801
udc: ep0: submit_request: req 2fb740f8 (length 14), dma: 0
udc: ep0: submit_transaction, req 2fb740f8 (length 14), done
udc: ep0 [1]: s/00e5c800 c/00001401
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/8084d400 c/00001401
udc: ep0 [4]: s/8084d000 c/00001201
udc: ep0: req 2fb740f8 complete: status 0, actual 14
udc: Packet length: 8
udc: Copying ctrl request from 0x00300000:
udc: ep0: queue req 2fb740f8, len 0
udc: req 00.09, length 0, state 3, ret 0
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [3]: s/0000c000 c/00001801
udc: ep0: submit_request: req 2fb740f8 (length 0), dma: 0
udc: ep0: submit_transaction, req 2fb740f8 (length 0), done
udc: ep0 [3]: s/0004c800 c/00001401
udc: ep1: ep_enable: desc=2ffe5ca0
udc: ep1: EPT_SIZE = 6 (maxpacket = 512)
udc: EPT_CFG1 after init: 0x8000006e
udc: INT_ENB after init: 0x000352
udc: ep2: ep_enable: desc=2ffe5ca9
udc: ep2: EPT_SIZE = 6 (maxpacket = 512)
udc: EPT_CFG2 after init: 0x80000066
udc: INT_ENB after init: 0x000752
udc: ep_alloc_request: 2fb6ee78, 0x0
udc: ep_alloc_request: 2fb6eec8, 0x0
udc: ep_alloc_request: 2fb6ee78, 0x0
udc: ep_alloc_request: 2fb6eec8, 0x0
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [3]: s/8085d400 c/00001401
udc: ep0: req 2fb740f8 complete: status 0, actual 0
udc: ep0 [0]: s/8085d000 c/00001001
udc: Packet length: 8
udc: Copying ctrl request from 0x00300000:
udc: ep0: queue req 2fb740f8, len 40
udc: req 80.06, length 255, state 1, ret 0
udc: ep2: queue req 2fb75ef0, len 512
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/0001c000 c/00001801
udc: ep0: submit_request: req 2fb740f8 (length 40), dma: 0
udc: ep0: submit_transaction, req 2fb740f8 (length 40), done
udc: ep0 [1]: s/0285c800 c/00001401
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/8085d400 c/00001401
udc: ep0 [4]: s/8085d000 c/00001201
udc: ep0: req 2fb740f8 complete: status 0, actual 40
udc: Packet length: 8
udc: Copying ctrl request from 0x00300000:
udc: ep0: queue req 2fb740f8, len 26
udc: req 80.06, length 255, state 1, ret 0
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/0001c000 c/00001801
udc: ep0: submit_request: req 2fb740f8 (length 26), dma: 0
udc: ep0: submit_transaction, req 2fb740f8 (length 26), done
udc: ep0 [1]: s/01a5c800 c/00001401
udc: irq, status=0x000125
udc: Wake Up CPU detected
udc: ep0 [1]: s/8005c640 c/00001401
udc: ep0 [4]: s/8005c240 c/00001201
udc: ep0: req 2fb740f8 complete: status 0, actual 26
udc: ep0 [0]: s/0001c040 c/00001001
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected
udc: irq, status=0x000025
udc: Wake Up CPU detected

On Sun, May 21, 2023 at 9:09 AM Eugen Hristev <eugen.hristev@collabora.com>
wrote:

> Hi,
>
> I believe someone from Microchip have tried this before
> Some people in CC added
>
> You can also open a case on support.microchip.com
>
> Eugen
>
> On 5/19/23 23:18, admin LI wrote:
> > Hi,
> >
> > I'm trying to use ums to access EMMC on our SAMA5D2 board without
> success.
> >
> > My board_init(), without adding usba_udc_probe() ums will cause data
> abort
> > error:
> > int board_init(void)
> > {
> > /* address of boot parameters */
> > gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
> >
> > #ifdef CONFIG_USB_GADGET_ATMEL_USBA
> > at91_udp_hw_init();
> > usba_udc_probe(&pdata);
> > #endif
> >
> > return 0;
> > }
> >
> > USB related config:
> > CONFIG_USB=y
> > CONFIG_USB_EHCI_HCD=y
> > CONFIG_USB_STORAGE=y
> > CONFIG_USB_GADGET=y
> > CONFIG_USB_GADGET_VENDOR_NUM=0xdead
> > CONFIG_USB_GADGET_PRODUCT_NUM=0xbeef
> > CONFIG_USB_GADGET_ATMEL_USBA=y
> > CONFIG_USB_GADGET_VBUS_DRAW=500
> > CONFIG_USB_GADGET_DOWNLOAD=y
> > CONFIG_USB_ETHER=y
> >
> > EMMC can be successfully accessed, Linux boot is ok:
> > => mmc list
> > sdio-host@a0000000: 0 (eMMC)
> >
> > => mmc info
> > Device: sdio-host@a0000000
> > Manufacturer ID: 70
> > OEM: 100
> > Name: M6270
> > Bus Speed: 52000000
> > Mode: MMC High Speed (52MHz)
> > Rd Block Len: 512
> > MMC version 5.1
> > High Capacity: Yes
> > Capacity: 3.6 GiB
> > Bus Width: 4-bit
> > Erase Group Size: 512 KiB
> > HC WP Group Size: 4 MiB
> > User Capacity: 3.6 GiB
> > Boot Capacity: 2 MiB ENH
> > RPMB Capacity: 512 KiB ENH
> > Boot area 0 is not write protected
> > Boot area 1 is not write protected
> >
> > => mmc part
> >
> > Partition Map for MMC device 0  --   Partition Type: DOS
> >
> > Part    Start Sector    Num Sectors     UUID            Type
> >    1     2048            1044480         0508e2bf-01     83
> >
> > However, when I use "ums 0 mmc 0", the USB device is partially enumerated
> > without a block device available, in the console the rotation cursor
> spins
> > about 20s then USB is disconnected.
> >
> > On u-boot:
> > => ums 0 mmc 0
> > UMS: LUN 0, dev mmc 0, hwpart 0, sector 0x0, count 0x720000
> > -=> (self-exit after 20s)
> >
> > On Linux:
> > [  699.920316] usb 3-5: new high-speed USB device number 5 using xhci_hcd
> > [  700.060766] usb 3-5: New USB device found, idVendor=dead,
> > idProduct=beef, bcdDevice= 2.17
> > [  700.060772] usb 3-5: New USB device strings: Mfr=1, Product=2,
> > SerialNumber=0
> > [  700.060774] usb 3-5: Product: USB download gadget
> > [  700.060776] usb 3-5: Manufacturer: U-Boot
> > [  700.081573] usb-storage 3-5:1.0: USB Mass Storage device detected
> > [  700.081780] scsi host0: usb-storage 3-5:1.0
> > [  700.081874] usbcore: registered new interface driver usb-storage
> > [  700.088339] usbcore: registered new interface driver uas
> > [  722.407008] usb 3-5: USB disconnect, device number 5
> >
> >
> > Thanks,
>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: USB mass storage gadget on SAMA5D2
  2023-05-22  9:00   ` admin LI
@ 2023-05-25 17:16     ` Cristian.Birsan
  2023-05-26 12:13       ` admin LI
  0 siblings, 1 reply; 7+ messages in thread
From: Cristian.Birsan @ 2023-05-25 17:16 UTC (permalink / raw)
  To: admin, eugen.hristev; +Cc: lukma, marex, u-boot, Mihai.Sain

Hi,

On 5/22/23 12:00, admin LI wrote:
> 	
> 
> I think there may be some racing in the driver. (Purely assumption as a tinyusb maintainer)
> If I enable DBG_ALL in atmel_usba_udc.h, the block device is enermurated although with I/O error.

What are you trying to achieve ? If you want to just program the eMMC you can do it easily with SAM-BA[1].

The mass storage gadget works well in Linux kernel. You can have a look at the driver we have in the kernel
here[2].


[1] https://www.microchip.com/en-us/development-tool/SAM-BA-In-system-Programmer
[2] https://github.com/linux4microchip/linux/blob/linux-6.1-mchp/drivers/usb/gadget/udc/atmel_usba_udc.c

Regards,
Cristian

> 
> [1337613.189788] usb 1-1: new high-speed USB device number 7 using xhci_hcd
> [1337613.674551] usb 1-1: New USB device found, idVendor=dead, idProduct=beef, bcdDevice= 2.17
> [1337613.674565] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> [1337613.674568] usb 1-1: Product: USB download gadget
> [1337613.674572] usb 1-1: Manufacturer: U-Boot
> [1337613.866033] usb-storage 1-1:1.0: USB Mass Storage device detected
> [1337613.866645] scsi host0: usb-storage 1-1:1.0
> [1337614.997803] scsi 0:0:0:0: Direct-Access     Linux    UMS disk 0       ffff PQ: 0 ANSI: 2
> [1337615.230004] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337615.706637] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337616.183308] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337616.659937] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337617.140086] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337617.616632] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337618.073323] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337618.549927] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337619.026540] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337619.499944] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337619.976679] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337620.453285] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337620.916597] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337621.393267] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337621.869676] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337622.346597] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337622.823361] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337623.293287] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337623.635357] sd 0:0:0:0: [sda] Read Capacity(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
> [1337623.635369] sd 0:0:0:0: [sda] Sense not available.
> [1337623.635376] sd 0:0:0:0: [sda] 0 512-byte logical blocks: (0 B/0 B)
> [1337623.635379] sd 0:0:0:0: [sda] 0-byte physical blocks
> [1337623.756597] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337624.233274] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337624.709945] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337625.186639] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337625.663266] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337626.136617] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337626.478078] sd 0:0:0:0: [sda] Write Protect is off
> [1337626.478088] sd 0:0:0:0: [sda] Mode Sense: 00 00 00 00
> [1337626.599928] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337627.076606] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337627.553276] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337628.029936] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337628.499858] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337628.973267] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337629.313846] sd 0:0:0:0: [sda] Asking for cache data failed
> [1337629.313861] sd 0:0:0:0: [sda] Assuming drive cache: write through
> [1337629.314517] sd 0:0:0:0: [sda] Attached SCSI removable disk
> [1337629.436603] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337629.906353] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337630.373268] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337630.843284] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337631.306595] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337631.783253] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337632.259935] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337632.736612] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337633.213283] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337633.689933] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337634.146549] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337634.626586] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337635.096677] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337635.569893] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337636.043195] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337636.519877] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337636.993235] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337637.463216] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337637.926268] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337638.403221] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337638.879961] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337639.343221] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337639.813267] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337640.293319] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337640.756596] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337641.233227] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337641.709903] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337642.183232] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337642.649871] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337643.123263] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337643.586595] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337644.063281] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337644.539952] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337645.016640] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337645.493347] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337645.969975] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337646.433307] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337646.906317] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337647.366610] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337647.836558] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337648.309969] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337648.773280] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337649.243256] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337649.723285] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337650.199907] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337650.663212] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337651.139885] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337651.613205] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337652.878455] sd 0:0:0:0: [sda] 7471104 512-byte logical blocks: (3.83 GB/3.56 GiB)
> [1337653.056594] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337653.533299] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337654.009932] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337654.486656] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337654.963248] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337655.439945] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337655.903277] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337656.379957] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337656.853260] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337657.326598] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337657.803280] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337658.279946] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337658.620594] sda: detected capacity change from 0 to 7471104
> [1337658.743259] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337659.213281] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337659.689931] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337660.169887] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337660.639886] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337661.113316] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337661.576555] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337662.046598] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337662.523268] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337662.999945] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337663.479877] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337663.956609] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337664.294581] sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=2s
> [1337664.294593] sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
> [1337664.294597] I/O error, dev sda, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
> [1337664.294611] Buffer I/O error on dev sda, logical block 0, async page read
> 
> 
> => ums 0 mmc 0
> UMS: LUN 0, dev mmc 0, hwpart 0, sector 0x0, count 0x720000
> udc: ep_alloc_request: 2fb6ee28, 0x0
> udc: irq, status=0x000022
> udc: Suspend detected
> udc: Wake Up CPU detected
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000020
> udc: Wake Up CPU detected
> udc: irq, status=0x000011
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [0]: s/80855000 c/00001001
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 18
> udc: req 80.06, length 64, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/00014000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 18), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 18), done
> udc: ep0 [1]: s/01254800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/00000040 c/00000001
> udc: irq, status=0x000031
> udc: Wake Up CPU detected
> udc: ep0: req 2fb740f8 complete: status -104, actual 18
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000129
> udc: Wake Up CPU detected
> udc: ep0 [0]: s/80845000 c/00001001
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: setting address 2...
> udc: req 00.05, length 0, state 5, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [5]: s/00004400 c/00001401
> udc: ep0 [0]: s/00004000 c/00001001
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [0]: s/80855000 c/00001001
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 18
> udc: req 80.06, length 18, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/00014000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 18), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 18), done
> udc: ep0 [1]: s/01254800 c/00001401
> udc: irq, status=0x000129
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8085d400 c/00001401
> udc: ep0 [4]: s/8085d000 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 18
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 9
> udc: req 80.06, length 9, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/0001c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 9), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 9), done
> udc: ep0 [1]: s/0095c800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8085d400 c/00001401
> udc: ep0 [4]: s/8085d000 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 9
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 32
> udc: req 80.06, length 32, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/0001c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 32), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 32), done
> udc: ep0 [1]: s/0205c800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8085d400 c/00001401
> udc: ep0 [4]: s/8085d000 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 32
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 4
> udc: req 80.06, length 255, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/0001c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 4), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 4), done
> udc: ep0 [1]: s/0045c800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8085d400 c/00001401
> udc: ep0 [4]: s/8085d000 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 4
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 40
> udc: req 80.06, length 255, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/0001c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 40), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 40), done
> udc: ep0 [1]: s/0285c800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8085d400 c/00001401
> udc: ep0 [4]: s/8085d000 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 40
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 14
> udc: req 80.06, length 255, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/0001c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 14), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 14), done
> udc: ep0 [1]: s/00e5c800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8084d400 c/00001401
> udc: ep0 [4]: s/8084d000 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 14
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 0
> udc: req 00.09, length 0, state 3, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [3]: s/0000c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 0), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 0), done
> udc: ep0 [3]: s/0004c800 c/00001401
> udc: ep1: ep_enable: desc=2ffe5ca0
> udc: ep1: EPT_SIZE = 6 (maxpacket = 512)
> udc: EPT_CFG1 after init: 0x8000006e
> udc: INT_ENB after init: 0x000352
> udc: ep2: ep_enable: desc=2ffe5ca9
> udc: ep2: EPT_SIZE = 6 (maxpacket = 512)
> udc: EPT_CFG2 after init: 0x80000066
> udc: INT_ENB after init: 0x000752
> udc: ep_alloc_request: 2fb6ee78, 0x0
> udc: ep_alloc_request: 2fb6eec8, 0x0
> udc: ep_alloc_request: 2fb6ee78, 0x0
> udc: ep_alloc_request: 2fb6eec8, 0x0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [3]: s/8085d400 c/00001401
> udc: ep0: req 2fb740f8 complete: status 0, actual 0
> udc: ep0 [0]: s/8085d000 c/00001001
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 40
> udc: req 80.06, length 255, state 1, ret 0
> udc: ep2: queue req 2fb75ef0, len 512
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/0001c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 40), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 40), done
> udc: ep0 [1]: s/0285c800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8085d400 c/00001401
> udc: ep0 [4]: s/8085d000 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 40
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 26
> udc: req 80.06, length 255, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/0001c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 26), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 26), done
> udc: ep0 [1]: s/01a5c800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8005c640 c/00001401
> udc: ep0 [4]: s/8005c240 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 26
> udc: ep0 [0]: s/0001c040 c/00001001
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> 
> On Sun, May 21, 2023 at 9:09 AM Eugen Hristev <eugen.hristev@collabora.com <mailto:eugen.hristev@collabora.com>> wrote:
> 
>     Hi,
> 
>     I believe someone from Microchip have tried this before
>     Some people in CC added
> 
>     You can also open a case on support.microchip.com <http://support.microchip.com>
> 
>     Eugen
> 
>     On 5/19/23 23:18, admin LI wrote:
>      > Hi,
>      >
>      > I'm trying to use ums to access EMMC on our SAMA5D2 board without success.
>      >
>      > My board_init(), without adding usba_udc_probe() ums will cause data abort
>      > error:
>      > int board_init(void)
>      > {
>      > /* address of boot parameters */
>      > gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
>      >
>      > #ifdef CONFIG_USB_GADGET_ATMEL_USBA
>      > at91_udp_hw_init();
>      > usba_udc_probe(&pdata);
>      > #endif
>      >
>      > return 0;
>      > }
>      >
>      > USB related config:
>      > CONFIG_USB=y
>      > CONFIG_USB_EHCI_HCD=y
>      > CONFIG_USB_STORAGE=y
>      > CONFIG_USB_GADGET=y
>      > CONFIG_USB_GADGET_VENDOR_NUM=0xdead
>      > CONFIG_USB_GADGET_PRODUCT_NUM=0xbeef
>      > CONFIG_USB_GADGET_ATMEL_USBA=y
>      > CONFIG_USB_GADGET_VBUS_DRAW=500
>      > CONFIG_USB_GADGET_DOWNLOAD=y
>      > CONFIG_USB_ETHER=y
>      >
>      > EMMC can be successfully accessed, Linux boot is ok:
>      > => mmc list
>      > sdio-host@a0000000: 0 (eMMC)
>      >
>      > => mmc info
>      > Device: sdio-host@a0000000
>      > Manufacturer ID: 70
>      > OEM: 100
>      > Name: M6270
>      > Bus Speed: 52000000
>      > Mode: MMC High Speed (52MHz)
>      > Rd Block Len: 512
>      > MMC version 5.1
>      > High Capacity: Yes
>      > Capacity: 3.6 GiB
>      > Bus Width: 4-bit
>      > Erase Group Size: 512 KiB
>      > HC WP Group Size: 4 MiB
>      > User Capacity: 3.6 GiB
>      > Boot Capacity: 2 MiB ENH
>      > RPMB Capacity: 512 KiB ENH
>      > Boot area 0 is not write protected
>      > Boot area 1 is not write protected
>      >
>      > => mmc part
>      >
>      > Partition Map for MMC device 0  --   Partition Type: DOS
>      >
>      > Part    Start Sector    Num Sectors     UUID            Type
>      >    1     2048            1044480         0508e2bf-01     83
>      >
>      > However, when I use "ums 0 mmc 0", the USB device is partially enumerated
>      > without a block device available, in the console the rotation cursor spins
>      > about 20s then USB is disconnected.
>      >
>      > On u-boot:
>      > => ums 0 mmc 0
>      > UMS: LUN 0, dev mmc 0, hwpart 0, sector 0x0, count 0x720000
>      > -=> (self-exit after 20s)
>      >
>      > On Linux:
>      > [  699.920316] usb 3-5: new high-speed USB device number 5 using xhci_hcd
>      > [  700.060766] usb 3-5: New USB device found, idVendor=dead,
>      > idProduct=beef, bcdDevice= 2.17
>      > [  700.060772] usb 3-5: New USB device strings: Mfr=1, Product=2,
>      > SerialNumber=0
>      > [  700.060774] usb 3-5: Product: USB download gadget
>      > [  700.060776] usb 3-5: Manufacturer: U-Boot
>      > [  700.081573] usb-storage 3-5:1.0: USB Mass Storage device detected
>      > [  700.081780] scsi host0: usb-storage 3-5:1.0
>      > [  700.081874] usbcore: registered new interface driver usb-storage
>      > [  700.088339] usbcore: registered new interface driver uas
>      > [  722.407008] usb 3-5: USB disconnect, device number 5
>      >
>      >
>      > Thanks,
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: USB mass storage gadget on SAMA5D2
  2023-05-25 17:16     ` Cristian.Birsan
@ 2023-05-26 12:13       ` admin LI
  2023-05-26 13:20         ` Mihai.Sain
  0 siblings, 1 reply; 7+ messages in thread
From: admin LI @ 2023-05-26 12:13 UTC (permalink / raw)
  To: Cristian.Birsan; +Cc: eugen.hristev, lukma, marex, u-boot, Mihai.Sain

Hi Cristian,

> What are you trying to achieve ? If you want to just program the eMMC you
can do it easily with SAM-BA[1].
On our board the MPU boot from the eMMC boot partition, by exposing the
whole user partition as a block device we can modify the target system
easily, like modifying the partition table.

I've tested the gadget works well in Linux, but it's not possible to expose
the whole disk.

For reference I've implemented at91bootstrap eMMC boot partition support,
both at91bootstrap and U-Boot are inside the boot partition.
https://github.com/linux4sam/at91bootstrap/pull/163
https://github.com/linux4sam/at91bootstrap/pull/164

Regards,
Zixun

On Thu, May 25, 2023 at 7:16 PM <Cristian.Birsan@microchip.com> wrote:

> Hi,
>
> On 5/22/23 12:00, admin LI wrote:
> >
> >
> > I think there may be some racing in the driver. (Purely assumption as a
> tinyusb maintainer)
> > If I enable DBG_ALL in atmel_usba_udc.h, the block device is enermurated
> although with I/O error.
>
> What are you trying to achieve ? If you want to just program the eMMC you
> can do it easily with SAM-BA[1].
>
> The mass storage gadget works well in Linux kernel. You can have a look at
> the driver we have in the kernel
> here[2].
>
>
> [1]
> https://www.microchip.com/en-us/development-tool/SAM-BA-In-system-Programmer
> [2]
> https://github.com/linux4microchip/linux/blob/linux-6.1-mchp/drivers/usb/gadget/udc/atmel_usba_udc.c
>
> Regards,
> Cristian
>
> >
> > [1337613.189788] usb 1-1: new high-speed USB device number 7 using
> xhci_hcd
> > [1337613.674551] usb 1-1: New USB device found, idVendor=dead,
> idProduct=beef, bcdDevice= 2.17
> > [1337613.674565] usb 1-1: New USB device strings: Mfr=1, Product=2,
> SerialNumber=0
> > [1337613.674568] usb 1-1: Product: USB download gadget
> > [1337613.674572] usb 1-1: Manufacturer: U-Boot
> > [1337613.866033] usb-storage 1-1:1.0: USB Mass Storage device detected
> > [1337613.866645] scsi host0: usb-storage 1-1:1.0
> > [1337614.997803] scsi 0:0:0:0: Direct-Access     Linux    UMS disk 0
>   ffff PQ: 0 ANSI: 2
> > [1337615.230004] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337615.706637] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337616.183308] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337616.659937] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337617.140086] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337617.616632] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337618.073323] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337618.549927] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337619.026540] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337619.499944] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337619.976679] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337620.453285] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337620.916597] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337621.393267] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337621.869676] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337622.346597] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337622.823361] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337623.293287] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337623.635357] sd 0:0:0:0: [sda] Read Capacity(10) failed: Result:
> hostbyte=DID_ERROR driverbyte=DRIVER_OK
> > [1337623.635369] sd 0:0:0:0: [sda] Sense not available.
> > [1337623.635376] sd 0:0:0:0: [sda] 0 512-byte logical blocks: (0 B/0 B)
> > [1337623.635379] sd 0:0:0:0: [sda] 0-byte physical blocks
> > [1337623.756597] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337624.233274] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337624.709945] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337625.186639] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337625.663266] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337626.136617] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337626.478078] sd 0:0:0:0: [sda] Write Protect is off
> > [1337626.478088] sd 0:0:0:0: [sda] Mode Sense: 00 00 00 00
> > [1337626.599928] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337627.076606] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337627.553276] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337628.029936] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337628.499858] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337628.973267] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337629.313846] sd 0:0:0:0: [sda] Asking for cache data failed
> > [1337629.313861] sd 0:0:0:0: [sda] Assuming drive cache: write through
> > [1337629.314517] sd 0:0:0:0: [sda] Attached SCSI removable disk
> > [1337629.436603] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337629.906353] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337630.373268] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337630.843284] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337631.306595] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337631.783253] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337632.259935] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337632.736612] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337633.213283] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337633.689933] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337634.146549] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337634.626586] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337635.096677] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337635.569893] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337636.043195] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337636.519877] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337636.993235] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337637.463216] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337637.926268] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337638.403221] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337638.879961] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337639.343221] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337639.813267] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337640.293319] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337640.756596] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337641.233227] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337641.709903] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337642.183232] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337642.649871] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337643.123263] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337643.586595] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337644.063281] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337644.539952] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337645.016640] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337645.493347] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337645.969975] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337646.433307] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337646.906317] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337647.366610] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337647.836558] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337648.309969] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337648.773280] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337649.243256] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337649.723285] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337650.199907] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337650.663212] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337651.139885] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337651.613205] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337652.878455] sd 0:0:0:0: [sda] 7471104 512-byte logical blocks:
> (3.83 GB/3.56 GiB)
> > [1337653.056594] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337653.533299] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337654.009932] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337654.486656] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337654.963248] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337655.439945] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337655.903277] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337656.379957] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337656.853260] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337657.326598] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337657.803280] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337658.279946] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337658.620594] sda: detected capacity change from 0 to 7471104
> > [1337658.743259] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337659.213281] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337659.689931] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337660.169887] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337660.639886] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337661.113316] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337661.576555] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337662.046598] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337662.523268] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337662.999945] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337663.479877] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337663.956609] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337664.294581] sd 0:0:0:0: [sda] tag#0 FAILED Result:
> hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=2s
> > [1337664.294593] sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 00 00
> 00 00 08 00
> > [1337664.294597] I/O error, dev sda, sector 0 op 0x0:(READ) flags 0x0
> phys_seg 1 prio class 2
> > [1337664.294611] Buffer I/O error on dev sda, logical block 0, async
> page read
> >
> >
> > => ums 0 mmc 0
> > UMS: LUN 0, dev mmc 0, hwpart 0, sector 0x0, count 0x720000
> > udc: ep_alloc_request: 2fb6ee28, 0x0
> > udc: irq, status=0x000022
> > udc: Suspend detected
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000020
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000011
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [0]: s/80855000 c/00001001
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 18
> > udc: req 80.06, length 64, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/00014000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 18), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 18), done
> > udc: ep0 [1]: s/01254800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/00000040 c/00000001
> > udc: irq, status=0x000031
> > udc: Wake Up CPU detected
> > udc: ep0: req 2fb740f8 complete: status -104, actual 18
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000129
> > udc: Wake Up CPU detected
> > udc: ep0 [0]: s/80845000 c/00001001
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: setting address 2...
> > udc: req 00.05, length 0, state 5, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [5]: s/00004400 c/00001401
> > udc: ep0 [0]: s/00004000 c/00001001
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [0]: s/80855000 c/00001001
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 18
> > udc: req 80.06, length 18, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/00014000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 18), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 18), done
> > udc: ep0 [1]: s/01254800 c/00001401
> > udc: irq, status=0x000129
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8085d400 c/00001401
> > udc: ep0 [4]: s/8085d000 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 18
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 9
> > udc: req 80.06, length 9, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/0001c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 9), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 9), done
> > udc: ep0 [1]: s/0095c800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8085d400 c/00001401
> > udc: ep0 [4]: s/8085d000 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 9
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 32
> > udc: req 80.06, length 32, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/0001c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 32), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 32), done
> > udc: ep0 [1]: s/0205c800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8085d400 c/00001401
> > udc: ep0 [4]: s/8085d000 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 32
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 4
> > udc: req 80.06, length 255, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/0001c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 4), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 4), done
> > udc: ep0 [1]: s/0045c800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8085d400 c/00001401
> > udc: ep0 [4]: s/8085d000 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 4
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 40
> > udc: req 80.06, length 255, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/0001c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 40), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 40), done
> > udc: ep0 [1]: s/0285c800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8085d400 c/00001401
> > udc: ep0 [4]: s/8085d000 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 40
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 14
> > udc: req 80.06, length 255, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/0001c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 14), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 14), done
> > udc: ep0 [1]: s/00e5c800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8084d400 c/00001401
> > udc: ep0 [4]: s/8084d000 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 14
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 0
> > udc: req 00.09, length 0, state 3, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [3]: s/0000c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 0), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 0), done
> > udc: ep0 [3]: s/0004c800 c/00001401
> > udc: ep1: ep_enable: desc=2ffe5ca0
> > udc: ep1: EPT_SIZE = 6 (maxpacket = 512)
> > udc: EPT_CFG1 after init: 0x8000006e
> > udc: INT_ENB after init: 0x000352
> > udc: ep2: ep_enable: desc=2ffe5ca9
> > udc: ep2: EPT_SIZE = 6 (maxpacket = 512)
> > udc: EPT_CFG2 after init: 0x80000066
> > udc: INT_ENB after init: 0x000752
> > udc: ep_alloc_request: 2fb6ee78, 0x0
> > udc: ep_alloc_request: 2fb6eec8, 0x0
> > udc: ep_alloc_request: 2fb6ee78, 0x0
> > udc: ep_alloc_request: 2fb6eec8, 0x0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [3]: s/8085d400 c/00001401
> > udc: ep0: req 2fb740f8 complete: status 0, actual 0
> > udc: ep0 [0]: s/8085d000 c/00001001
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 40
> > udc: req 80.06, length 255, state 1, ret 0
> > udc: ep2: queue req 2fb75ef0, len 512
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/0001c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 40), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 40), done
> > udc: ep0 [1]: s/0285c800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8085d400 c/00001401
> > udc: ep0 [4]: s/8085d000 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 40
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 26
> > udc: req 80.06, length 255, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/0001c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 26), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 26), done
> > udc: ep0 [1]: s/01a5c800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8005c640 c/00001401
> > udc: ep0 [4]: s/8005c240 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 26
> > udc: ep0 [0]: s/0001c040 c/00001001
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> >
> > On Sun, May 21, 2023 at 9:09 AM Eugen Hristev <
> eugen.hristev@collabora.com <mailto:eugen.hristev@collabora.com>> wrote:
> >
> >     Hi,
> >
> >     I believe someone from Microchip have tried this before
> >     Some people in CC added
> >
> >     You can also open a case on support.microchip.com <
> http://support.microchip.com>
> >
> >     Eugen
> >
> >     On 5/19/23 23:18, admin LI wrote:
> >      > Hi,
> >      >
> >      > I'm trying to use ums to access EMMC on our SAMA5D2 board without
> success.
> >      >
> >      > My board_init(), without adding usba_udc_probe() ums will cause
> data abort
> >      > error:
> >      > int board_init(void)
> >      > {
> >      > /* address of boot parameters */
> >      > gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
> >      >
> >      > #ifdef CONFIG_USB_GADGET_ATMEL_USBA
> >      > at91_udp_hw_init();
> >      > usba_udc_probe(&pdata);
> >      > #endif
> >      >
> >      > return 0;
> >      > }
> >      >
> >      > USB related config:
> >      > CONFIG_USB=y
> >      > CONFIG_USB_EHCI_HCD=y
> >      > CONFIG_USB_STORAGE=y
> >      > CONFIG_USB_GADGET=y
> >      > CONFIG_USB_GADGET_VENDOR_NUM=0xdead
> >      > CONFIG_USB_GADGET_PRODUCT_NUM=0xbeef
> >      > CONFIG_USB_GADGET_ATMEL_USBA=y
> >      > CONFIG_USB_GADGET_VBUS_DRAW=500
> >      > CONFIG_USB_GADGET_DOWNLOAD=y
> >      > CONFIG_USB_ETHER=y
> >      >
> >      > EMMC can be successfully accessed, Linux boot is ok:
> >      > => mmc list
> >      > sdio-host@a0000000: 0 (eMMC)
> >      >
> >      > => mmc info
> >      > Device: sdio-host@a0000000
> >      > Manufacturer ID: 70
> >      > OEM: 100
> >      > Name: M6270
> >      > Bus Speed: 52000000
> >      > Mode: MMC High Speed (52MHz)
> >      > Rd Block Len: 512
> >      > MMC version 5.1
> >      > High Capacity: Yes
> >      > Capacity: 3.6 GiB
> >      > Bus Width: 4-bit
> >      > Erase Group Size: 512 KiB
> >      > HC WP Group Size: 4 MiB
> >      > User Capacity: 3.6 GiB
> >      > Boot Capacity: 2 MiB ENH
> >      > RPMB Capacity: 512 KiB ENH
> >      > Boot area 0 is not write protected
> >      > Boot area 1 is not write protected
> >      >
> >      > => mmc part
> >      >
> >      > Partition Map for MMC device 0  --   Partition Type: DOS
> >      >
> >      > Part    Start Sector    Num Sectors     UUID            Type
> >      >    1     2048            1044480         0508e2bf-01     83
> >      >
> >      > However, when I use "ums 0 mmc 0", the USB device is partially
> enumerated
> >      > without a block device available, in the console the rotation
> cursor spins
> >      > about 20s then USB is disconnected.
> >      >
> >      > On u-boot:
> >      > => ums 0 mmc 0
> >      > UMS: LUN 0, dev mmc 0, hwpart 0, sector 0x0, count 0x720000
> >      > -=> (self-exit after 20s)
> >      >
> >      > On Linux:
> >      > [  699.920316] usb 3-5: new high-speed USB device number 5 using
> xhci_hcd
> >      > [  700.060766] usb 3-5: New USB device found, idVendor=dead,
> >      > idProduct=beef, bcdDevice= 2.17
> >      > [  700.060772] usb 3-5: New USB device strings: Mfr=1, Product=2,
> >      > SerialNumber=0
> >      > [  700.060774] usb 3-5: Product: USB download gadget
> >      > [  700.060776] usb 3-5: Manufacturer: U-Boot
> >      > [  700.081573] usb-storage 3-5:1.0: USB Mass Storage device
> detected
> >      > [  700.081780] scsi host0: usb-storage 3-5:1.0
> >      > [  700.081874] usbcore: registered new interface driver
> usb-storage
> >      > [  700.088339] usbcore: registered new interface driver uas
> >      > [  722.407008] usb 3-5: USB disconnect, device number 5
> >      >
> >      >
> >      > Thanks,
> >
>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: USB mass storage gadget on SAMA5D2
  2023-05-26 12:13       ` admin LI
@ 2023-05-26 13:20         ` Mihai.Sain
  2023-05-26 14:40           ` admin LI
  0 siblings, 1 reply; 7+ messages in thread
From: Mihai.Sain @ 2023-05-26 13:20 UTC (permalink / raw)
  To: admin, Cristian.Birsan; +Cc: eugen.hristev, lukma, marex, u-boot

Hi Zixun,

I recommend to use sam-ba in order to flash the eMMC partitions: boot1, boot2, user0.
sam-ba download links:
https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/SoftwareLibraries/Firmware/sam-ba_v3.7-linux_x86_64.tar.gz
https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/SoftwareLibraries/Firmware/sam-ba_v3.7-win32.zip

For writing the bootstrap binary into boot1 partition, run the following command:

sam-ba -p serial -d sama5d2:0:1 -a sdmmc:0:1:1:8:4 -c writeboot:boot.bin -c enablebootpartition:1

For help please run:

sam-ba -p serial -d sama5d2 -a sdmmc:help

Syntax: sdmmc:[<instance>]:[<ioset>]:[<partition>]:[<bus_width>]:[<voltages>]
Parameters:
    instance   SDMMC controller number
    ioset      SDMMC I/O set
    partition  Partition number (0=user partition, x>0=boot partition x)
    bus_width  Data bus width (0=controller max, 1=1-bit, 4=4-bit, 8=8-bit)
    voltages   Supported voltages (bitfield: 1=1.8V, 2=3.0V, 4=3.3V)

Regards,
Mihai

________________________________
From: admin LI <admin@hifiphile.com>
Sent: Friday, May 26, 2023 15:13
To: Cristian Birsan - M91496 <Cristian.Birsan@microchip.com>
Cc: eugen.hristev@collabora.com <eugen.hristev@collabora.com>; lukma@denx.de <lukma@denx.de>; marex@denx.de <marex@denx.de>; u-boot@lists.denx.de <u-boot@lists.denx.de>; Mihai Sain - M19926 <Mihai.Sain@microchip.com>
Subject: Re: USB mass storage gadget on SAMA5D2

You don't often get email from admin@hifiphile.com. Learn why this is important<https://aka.ms/LearnAboutSenderIdentification>
EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
Hi Cristian,

> What are you trying to achieve ? If you want to just program the eMMC you can do it easily with SAM-BA[1].
On our board the MPU boot from the eMMC boot partition, by exposing the whole user partition as a block device we can modify the target system easily, like modifying the partition table.

I've tested the gadget works well in Linux, but it's not possible to expose the whole disk.

For reference I've implemented at91bootstrap eMMC boot partition support, both at91bootstrap and U-Boot are inside the boot partition.
https://github.com/linux4sam/at91bootstrap/pull/163
https://github.com/linux4sam/at91bootstrap/pull/164

Regards,
Zixun

On Thu, May 25, 2023 at 7:16 PM <Cristian.Birsan@microchip.com<mailto:Cristian.Birsan@microchip.com>> wrote:
Hi,

On 5/22/23 12:00, admin LI wrote:
>
>
> I think there may be some racing in the driver. (Purely assumption as a tinyusb maintainer)
> If I enable DBG_ALL in atmel_usba_udc.h, the block device is enermurated although with I/O error.

What are you trying to achieve ? If you want to just program the eMMC you can do it easily with SAM-BA[1].

The mass storage gadget works well in Linux kernel. You can have a look at the driver we have in the kernel
here[2].


[1] https://www.microchip.com/en-us/development-tool/SAM-BA-In-system-Programmer
[2] https://github.com/linux4microchip/linux/blob/linux-6.1-mchp/drivers/usb/gadget/udc/atmel_usba_udc.c

Regards,
Cristian

>
> [1337613.189788] usb 1-1: new high-speed USB device number 7 using xhci_hcd
> [1337613.674551] usb 1-1: New USB device found, idVendor=dead, idProduct=beef, bcdDevice= 2.17
> [1337613.674565] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> [1337613.674568] usb 1-1: Product: USB download gadget
> [1337613.674572] usb 1-1: Manufacturer: U-Boot
> [1337613.866033] usb-storage 1-1:1.0: USB Mass Storage device detected
> [1337613.866645] scsi host0: usb-storage 1-1:1.0
> [1337614.997803] scsi 0:0:0:0: Direct-Access     Linux    UMS disk 0       ffff PQ: 0 ANSI: 2
> [1337615.230004] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337615.706637] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337616.183308] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337616.659937] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337617.140086] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337617.616632] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337618.073323] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337618.549927] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337619.026540] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337619.499944] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337619.976679] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337620.453285] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337620.916597] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337621.393267] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337621.869676] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337622.346597] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337622.823361] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337623.293287] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337623.635357] sd 0:0:0:0: [sda] Read Capacity(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
> [1337623.635369] sd 0:0:0:0: [sda] Sense not available.
> [1337623.635376] sd 0:0:0:0: [sda] 0 512-byte logical blocks: (0 B/0 B)
> [1337623.635379] sd 0:0:0:0: [sda] 0-byte physical blocks
> [1337623.756597] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337624.233274] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337624.709945] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337625.186639] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337625.663266] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337626.136617] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337626.478078] sd 0:0:0:0: [sda] Write Protect is off
> [1337626.478088] sd 0:0:0:0: [sda] Mode Sense: 00 00 00 00
> [1337626.599928] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337627.076606] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337627.553276] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337628.029936] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337628.499858] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337628.973267] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337629.313846] sd 0:0:0:0: [sda] Asking for cache data failed
> [1337629.313861] sd 0:0:0:0: [sda] Assuming drive cache: write through
> [1337629.314517] sd 0:0:0:0: [sda] Attached SCSI removable disk
> [1337629.436603] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337629.906353] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337630.373268] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337630.843284] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337631.306595] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337631.783253] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337632.259935] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337632.736612] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337633.213283] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337633.689933] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337634.146549] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337634.626586] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337635.096677] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337635.569893] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337636.043195] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337636.519877] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337636.993235] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337637.463216] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337637.926268] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337638.403221] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337638.879961] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337639.343221] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337639.813267] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337640.293319] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337640.756596] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337641.233227] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337641.709903] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337642.183232] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337642.649871] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337643.123263] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337643.586595] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337644.063281] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337644.539952] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337645.016640] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337645.493347] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337645.969975] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337646.433307] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337646.906317] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337647.366610] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337647.836558] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337648.309969] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337648.773280] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337649.243256] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337649.723285] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337650.199907] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337650.663212] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337651.139885] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337651.613205] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337652.878455] sd 0:0:0:0: [sda] 7471104 512-byte logical blocks: (3.83 GB/3.56 GiB)
> [1337653.056594] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337653.533299] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337654.009932] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337654.486656] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337654.963248] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337655.439945] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337655.903277] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337656.379957] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337656.853260] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337657.326598] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337657.803280] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337658.279946] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337658.620594] sda: detected capacity change from 0 to 7471104
> [1337658.743259] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337659.213281] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337659.689931] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337660.169887] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337660.639886] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337661.113316] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337661.576555] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337662.046598] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337662.523268] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337662.999945] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337663.479877] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337663.956609] usb 1-1: reset high-speed USB device number 7 using xhci_hcd
> [1337664.294581] sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=2s
> [1337664.294593] sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
> [1337664.294597] I/O error, dev sda, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
> [1337664.294611] Buffer I/O error on dev sda, logical block 0, async page read
>
>
> => ums 0 mmc 0
> UMS: LUN 0, dev mmc 0, hwpart 0, sector 0x0, count 0x720000
> udc: ep_alloc_request: 2fb6ee28, 0x0
> udc: irq, status=0x000022
> udc: Suspend detected
> udc: Wake Up CPU detected
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000000
> udc: irq, status=0x000020
> udc: Wake Up CPU detected
> udc: irq, status=0x000011
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [0]: s/80855000 c/00001001
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 18
> udc: req 80.06, length 64, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/00014000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 18), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 18), done
> udc: ep0 [1]: s/01254800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/00000040 c/00000001
> udc: irq, status=0x000031
> udc: Wake Up CPU detected
> udc: ep0: req 2fb740f8 complete: status -104, actual 18
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000001
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000029
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000129
> udc: Wake Up CPU detected
> udc: ep0 [0]: s/80845000 c/00001001
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: setting address 2...
> udc: req 00.05, length 0, state 5, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [5]: s/00004400 c/00001401
> udc: ep0 [0]: s/00004000 c/00001001
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [0]: s/80855000 c/00001001
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 18
> udc: req 80.06, length 18, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/00014000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 18), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 18), done
> udc: ep0 [1]: s/01254800 c/00001401
> udc: irq, status=0x000129
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8085d400 c/00001401
> udc: ep0 [4]: s/8085d000 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 18
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 9
> udc: req 80.06, length 9, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/0001c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 9), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 9), done
> udc: ep0 [1]: s/0095c800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8085d400 c/00001401
> udc: ep0 [4]: s/8085d000 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 9
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 32
> udc: req 80.06, length 32, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/0001c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 32), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 32), done
> udc: ep0 [1]: s/0205c800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8085d400 c/00001401
> udc: ep0 [4]: s/8085d000 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 32
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 4
> udc: req 80.06, length 255, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/0001c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 4), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 4), done
> udc: ep0 [1]: s/0045c800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8085d400 c/00001401
> udc: ep0 [4]: s/8085d000 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 4
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 40
> udc: req 80.06, length 255, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/0001c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 40), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 40), done
> udc: ep0 [1]: s/0285c800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8085d400 c/00001401
> udc: ep0 [4]: s/8085d000 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 40
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 14
> udc: req 80.06, length 255, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/0001c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 14), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 14), done
> udc: ep0 [1]: s/00e5c800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8084d400 c/00001401
> udc: ep0 [4]: s/8084d000 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 14
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 0
> udc: req 00.09, length 0, state 3, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [3]: s/0000c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 0), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 0), done
> udc: ep0 [3]: s/0004c800 c/00001401
> udc: ep1: ep_enable: desc=2ffe5ca0
> udc: ep1: EPT_SIZE = 6 (maxpacket = 512)
> udc: EPT_CFG1 after init: 0x8000006e
> udc: INT_ENB after init: 0x000352
> udc: ep2: ep_enable: desc=2ffe5ca9
> udc: ep2: EPT_SIZE = 6 (maxpacket = 512)
> udc: EPT_CFG2 after init: 0x80000066
> udc: INT_ENB after init: 0x000752
> udc: ep_alloc_request: 2fb6ee78, 0x0
> udc: ep_alloc_request: 2fb6eec8, 0x0
> udc: ep_alloc_request: 2fb6ee78, 0x0
> udc: ep_alloc_request: 2fb6eec8, 0x0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [3]: s/8085d400 c/00001401
> udc: ep0: req 2fb740f8 complete: status 0, actual 0
> udc: ep0 [0]: s/8085d000 c/00001001
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 40
> udc: req 80.06, length 255, state 1, ret 0
> udc: ep2: queue req 2fb75ef0, len 512
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/0001c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 40), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 40), done
> udc: ep0 [1]: s/0285c800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8085d400 c/00001401
> udc: ep0 [4]: s/8085d000 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 40
> udc: Packet length: 8
> udc: Copying ctrl request from 0x00300000:
> udc: ep0: queue req 2fb740f8, len 26
> udc: req 80.06, length 255, state 1, ret 0
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/0001c000 c/00001801
> udc: ep0: submit_request: req 2fb740f8 (length 26), dma: 0
> udc: ep0: submit_transaction, req 2fb740f8 (length 26), done
> udc: ep0 [1]: s/01a5c800 c/00001401
> udc: irq, status=0x000125
> udc: Wake Up CPU detected
> udc: ep0 [1]: s/8005c640 c/00001401
> udc: ep0 [4]: s/8005c240 c/00001201
> udc: ep0: req 2fb740f8 complete: status 0, actual 26
> udc: ep0 [0]: s/0001c040 c/00001001
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
> udc: irq, status=0x000025
> udc: Wake Up CPU detected
>
> On Sun, May 21, 2023 at 9:09 AM Eugen Hristev <eugen.hristev@collabora.com<mailto:eugen.hristev@collabora.com> <mailto:eugen.hristev@collabora.com<mailto:eugen.hristev@collabora.com>>> wrote:
>
>     Hi,
>
>     I believe someone from Microchip have tried this before
>     Some people in CC added
>
>     You can also open a case on support.microchip.com<http://support.microchip.com> <http://support.microchip.com>
>
>     Eugen
>
>     On 5/19/23 23:18, admin LI wrote:
>      > Hi,
>      >
>      > I'm trying to use ums to access EMMC on our SAMA5D2 board without success.
>      >
>      > My board_init(), without adding usba_udc_probe() ums will cause data abort
>      > error:
>      > int board_init(void)
>      > {
>      > /* address of boot parameters */
>      > gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
>      >
>      > #ifdef CONFIG_USB_GADGET_ATMEL_USBA
>      > at91_udp_hw_init();
>      > usba_udc_probe(&pdata);
>      > #endif
>      >
>      > return 0;
>      > }
>      >
>      > USB related config:
>      > CONFIG_USB=y
>      > CONFIG_USB_EHCI_HCD=y
>      > CONFIG_USB_STORAGE=y
>      > CONFIG_USB_GADGET=y
>      > CONFIG_USB_GADGET_VENDOR_NUM=0xdead
>      > CONFIG_USB_GADGET_PRODUCT_NUM=0xbeef
>      > CONFIG_USB_GADGET_ATMEL_USBA=y
>      > CONFIG_USB_GADGET_VBUS_DRAW=500
>      > CONFIG_USB_GADGET_DOWNLOAD=y
>      > CONFIG_USB_ETHER=y
>      >
>      > EMMC can be successfully accessed, Linux boot is ok:
>      > => mmc list
>      > sdio-host@a0000000: 0 (eMMC)
>      >
>      > => mmc info
>      > Device: sdio-host@a0000000
>      > Manufacturer ID: 70
>      > OEM: 100
>      > Name: M6270
>      > Bus Speed: 52000000
>      > Mode: MMC High Speed (52MHz)
>      > Rd Block Len: 512
>      > MMC version 5.1
>      > High Capacity: Yes
>      > Capacity: 3.6 GiB
>      > Bus Width: 4-bit
>      > Erase Group Size: 512 KiB
>      > HC WP Group Size: 4 MiB
>      > User Capacity: 3.6 GiB
>      > Boot Capacity: 2 MiB ENH
>      > RPMB Capacity: 512 KiB ENH
>      > Boot area 0 is not write protected
>      > Boot area 1 is not write protected
>      >
>      > => mmc part
>      >
>      > Partition Map for MMC device 0  --   Partition Type: DOS
>      >
>      > Part    Start Sector    Num Sectors     UUID            Type
>      >    1     2048            1044480         0508e2bf-01     83
>      >
>      > However, when I use "ums 0 mmc 0", the USB device is partially enumerated
>      > without a block device available, in the console the rotation cursor spins
>      > about 20s then USB is disconnected.
>      >
>      > On u-boot:
>      > => ums 0 mmc 0
>      > UMS: LUN 0, dev mmc 0, hwpart 0, sector 0x0, count 0x720000
>      > -=> (self-exit after 20s)
>      >
>      > On Linux:
>      > [  699.920316] usb 3-5: new high-speed USB device number 5 using xhci_hcd
>      > [  700.060766] usb 3-5: New USB device found, idVendor=dead,
>      > idProduct=beef, bcdDevice= 2.17
>      > [  700.060772] usb 3-5: New USB device strings: Mfr=1, Product=2,
>      > SerialNumber=0
>      > [  700.060774] usb 3-5: Product: USB download gadget
>      > [  700.060776] usb 3-5: Manufacturer: U-Boot
>      > [  700.081573] usb-storage 3-5:1.0: USB Mass Storage device detected
>      > [  700.081780] scsi host0: usb-storage 3-5:1.0
>      > [  700.081874] usbcore: registered new interface driver usb-storage
>      > [  700.088339] usbcore: registered new interface driver uas
>      > [  722.407008] usb 3-5: USB disconnect, device number 5
>      >
>      >
>      > Thanks,
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: USB mass storage gadget on SAMA5D2
  2023-05-26 13:20         ` Mihai.Sain
@ 2023-05-26 14:40           ` admin LI
  0 siblings, 0 replies; 7+ messages in thread
From: admin LI @ 2023-05-26 14:40 UTC (permalink / raw)
  To: Mihai.Sain; +Cc: Cristian.Birsan, eugen.hristev, lukma, marex, u-boot

Hi Mihai,

Thanks for your reply, although it's meaningless.

As I said, what we need is block level access to eMMC, in order to modify
partition table or access files of rootfs, SAM-BA can't do it.

Besides SAM-BA can only be launched when eMMC is empty, no way to launch
SAM-BA from u-Boot unless erase bootstrap.

I've also tested with a SD card on SAMA5D27-WLSOM1-EK, which failed with
the same symptom (support case 01275010)
To reduce unknown factors we can use this platform for testing.

Regards,
Zixun

On Fri, May 26, 2023 at 3:20 PM <Mihai.Sain@microchip.com> wrote:

> Hi Zixun,
>
> I recommend to use sam-ba in order to flash the eMMC partitions: boot1,
> boot2, user0.
> sam-ba download links:
>
> https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/SoftwareLibraries/Firmware/sam-ba_v3.7-linux_x86_64.tar.gz
>
> https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/SoftwareLibraries/Firmware/sam-ba_v3.7-win32.zip
>
> For writing the bootstrap binary into boot1 partition, run the following
> command:
>
> sam-ba -p serial -d sama5d2:0:1 -a sdmmc:0:1:1:8:4 -c writeboot:boot.bin
> -c enablebootpartition:1
>
> For help please run:
>
> sam-ba -p serial -d sama5d2 -a sdmmc:help
>
> Syntax:
> sdmmc:[<instance>]:[<ioset>]:[<partition>]:[<bus_width>]:[<voltages>]
> Parameters:
>     instance   SDMMC controller number
>     ioset      SDMMC I/O set
>     partition  Partition number (0=user partition, x>0=boot partition x)
>     bus_width  Data bus width (0=controller max, 1=1-bit, 4=4-bit, 8=8-bit)
>     voltages   Supported voltages (bitfield: 1=1.8V, 2=3.0V, 4=3.3V)
>
> Regards,
> Mihai
>
>
> ------------------------------
> *From:* admin LI <admin@hifiphile.com>
> *Sent:* Friday, May 26, 2023 15:13
> *To:* Cristian Birsan - M91496 <Cristian.Birsan@microchip.com>
> *Cc:* eugen.hristev@collabora.com <eugen.hristev@collabora.com>;
> lukma@denx.de <lukma@denx.de>; marex@denx.de <marex@denx.de>;
> u-boot@lists.denx.de <u-boot@lists.denx.de>; Mihai Sain - M19926 <
> Mihai.Sain@microchip.com>
> *Subject:* Re: USB mass storage gadget on SAMA5D2
>
> You don't often get email from admin@hifiphile.com. Learn why this is
> important <https://aka.ms/LearnAboutSenderIdentification>
> EXTERNAL EMAIL: Do not click links or open attachments unless you know
> the content is safe
> Hi Cristian,
>
> > What are you trying to achieve ? If you want to just program the eMMC
> you can do it easily with SAM-BA[1].
> On our board the MPU boot from the eMMC boot partition, by exposing the
> whole user partition as a block device we can modify the target system
> easily, like modifying the partition table.
>
> I've tested the gadget works well in Linux, but it's not possible to
> expose the whole disk.
>
> For reference I've implemented at91bootstrap eMMC boot partition support,
> both at91bootstrap and U-Boot are inside the boot partition.
> https://github.com/linux4sam/at91bootstrap/pull/163
> https://github.com/linux4sam/at91bootstrap/pull/164
>
> Regards,
> Zixun
>
> On Thu, May 25, 2023 at 7:16 PM <Cristian.Birsan@microchip.com> wrote:
>
> Hi,
>
> On 5/22/23 12:00, admin LI wrote:
> >
> >
> > I think there may be some racing in the driver. (Purely assumption as a
> tinyusb maintainer)
> > If I enable DBG_ALL in atmel_usba_udc.h, the block device is enermurated
> although with I/O error.
>
> What are you trying to achieve ? If you want to just program the eMMC you
> can do it easily with SAM-BA[1].
>
> The mass storage gadget works well in Linux kernel. You can have a look at
> the driver we have in the kernel
> here[2].
>
>
> [1]
> https://www.microchip.com/en-us/development-tool/SAM-BA-In-system-Programmer
> [2]
> https://github.com/linux4microchip/linux/blob/linux-6.1-mchp/drivers/usb/gadget/udc/atmel_usba_udc.c
>
> Regards,
> Cristian
>
> >
> > [1337613.189788] usb 1-1: new high-speed USB device number 7 using
> xhci_hcd
> > [1337613.674551] usb 1-1: New USB device found, idVendor=dead,
> idProduct=beef, bcdDevice= 2.17
> > [1337613.674565] usb 1-1: New USB device strings: Mfr=1, Product=2,
> SerialNumber=0
> > [1337613.674568] usb 1-1: Product: USB download gadget
> > [1337613.674572] usb 1-1: Manufacturer: U-Boot
> > [1337613.866033] usb-storage 1-1:1.0: USB Mass Storage device detected
> > [1337613.866645] scsi host0: usb-storage 1-1:1.0
> > [1337614.997803] scsi 0:0:0:0: Direct-Access     Linux    UMS disk 0
>   ffff PQ: 0 ANSI: 2
> > [1337615.230004] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337615.706637] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337616.183308] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337616.659937] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337617.140086] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337617.616632] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337618.073323] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337618.549927] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337619.026540] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337619.499944] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337619.976679] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337620.453285] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337620.916597] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337621.393267] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337621.869676] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337622.346597] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337622.823361] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337623.293287] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337623.635357] sd 0:0:0:0: [sda] Read Capacity(10) failed: Result:
> hostbyte=DID_ERROR driverbyte=DRIVER_OK
> > [1337623.635369] sd 0:0:0:0: [sda] Sense not available.
> > [1337623.635376] sd 0:0:0:0: [sda] 0 512-byte logical blocks: (0 B/0 B)
> > [1337623.635379] sd 0:0:0:0: [sda] 0-byte physical blocks
> > [1337623.756597] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337624.233274] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337624.709945] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337625.186639] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337625.663266] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337626.136617] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337626.478078] sd 0:0:0:0: [sda] Write Protect is off
> > [1337626.478088] sd 0:0:0:0: [sda] Mode Sense: 00 00 00 00
> > [1337626.599928] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337627.076606] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337627.553276] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337628.029936] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337628.499858] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337628.973267] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337629.313846] sd 0:0:0:0: [sda] Asking for cache data failed
> > [1337629.313861] sd 0:0:0:0: [sda] Assuming drive cache: write through
> > [1337629.314517] sd 0:0:0:0: [sda] Attached SCSI removable disk
> > [1337629.436603] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337629.906353] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337630.373268] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337630.843284] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337631.306595] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337631.783253] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337632.259935] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337632.736612] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337633.213283] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337633.689933] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337634.146549] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337634.626586] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337635.096677] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337635.569893] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337636.043195] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337636.519877] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337636.993235] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337637.463216] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337637.926268] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337638.403221] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337638.879961] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337639.343221] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337639.813267] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337640.293319] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337640.756596] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337641.233227] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337641.709903] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337642.183232] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337642.649871] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337643.123263] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337643.586595] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337644.063281] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337644.539952] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337645.016640] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337645.493347] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337645.969975] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337646.433307] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337646.906317] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337647.366610] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337647.836558] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337648.309969] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337648.773280] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337649.243256] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337649.723285] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337650.199907] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337650.663212] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337651.139885] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337651.613205] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337652.878455] sd 0:0:0:0: [sda] 7471104 512-byte logical blocks:
> (3.83 GB/3.56 GiB)
> > [1337653.056594] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337653.533299] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337654.009932] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337654.486656] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337654.963248] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337655.439945] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337655.903277] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337656.379957] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337656.853260] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337657.326598] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337657.803280] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337658.279946] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337658.620594] sda: detected capacity change from 0 to 7471104
> > [1337658.743259] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337659.213281] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337659.689931] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337660.169887] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337660.639886] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337661.113316] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337661.576555] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337662.046598] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337662.523268] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337662.999945] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337663.479877] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337663.956609] usb 1-1: reset high-speed USB device number 7 using
> xhci_hcd
> > [1337664.294581] sd 0:0:0:0: [sda] tag#0 FAILED Result:
> hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=2s
> > [1337664.294593] sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 00 00
> 00 00 08 00
> > [1337664.294597] I/O error, dev sda, sector 0 op 0x0:(READ) flags 0x0
> phys_seg 1 prio class 2
> > [1337664.294611] Buffer I/O error on dev sda, logical block 0, async
> page read
> >
> >
> > => ums 0 mmc 0
> > UMS: LUN 0, dev mmc 0, hwpart 0, sector 0x0, count 0x720000
> > udc: ep_alloc_request: 2fb6ee28, 0x0
> > udc: irq, status=0x000022
> > udc: Suspend detected
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000000
> > udc: irq, status=0x000020
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000011
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [0]: s/80855000 c/00001001
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 18
> > udc: req 80.06, length 64, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/00014000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 18), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 18), done
> > udc: ep0 [1]: s/01254800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/00000040 c/00000001
> > udc: irq, status=0x000031
> > udc: Wake Up CPU detected
> > udc: ep0: req 2fb740f8 complete: status -104, actual 18
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000001
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000029
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000129
> > udc: Wake Up CPU detected
> > udc: ep0 [0]: s/80845000 c/00001001
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: setting address 2...
> > udc: req 00.05, length 0, state 5, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [5]: s/00004400 c/00001401
> > udc: ep0 [0]: s/00004000 c/00001001
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [0]: s/80855000 c/00001001
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 18
> > udc: req 80.06, length 18, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/00014000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 18), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 18), done
> > udc: ep0 [1]: s/01254800 c/00001401
> > udc: irq, status=0x000129
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8085d400 c/00001401
> > udc: ep0 [4]: s/8085d000 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 18
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 9
> > udc: req 80.06, length 9, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/0001c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 9), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 9), done
> > udc: ep0 [1]: s/0095c800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8085d400 c/00001401
> > udc: ep0 [4]: s/8085d000 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 9
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 32
> > udc: req 80.06, length 32, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/0001c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 32), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 32), done
> > udc: ep0 [1]: s/0205c800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8085d400 c/00001401
> > udc: ep0 [4]: s/8085d000 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 32
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 4
> > udc: req 80.06, length 255, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/0001c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 4), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 4), done
> > udc: ep0 [1]: s/0045c800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8085d400 c/00001401
> > udc: ep0 [4]: s/8085d000 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 4
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 40
> > udc: req 80.06, length 255, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/0001c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 40), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 40), done
> > udc: ep0 [1]: s/0285c800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8085d400 c/00001401
> > udc: ep0 [4]: s/8085d000 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 40
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 14
> > udc: req 80.06, length 255, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/0001c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 14), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 14), done
> > udc: ep0 [1]: s/00e5c800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8084d400 c/00001401
> > udc: ep0 [4]: s/8084d000 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 14
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 0
> > udc: req 00.09, length 0, state 3, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [3]: s/0000c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 0), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 0), done
> > udc: ep0 [3]: s/0004c800 c/00001401
> > udc: ep1: ep_enable: desc=2ffe5ca0
> > udc: ep1: EPT_SIZE = 6 (maxpacket = 512)
> > udc: EPT_CFG1 after init: 0x8000006e
> > udc: INT_ENB after init: 0x000352
> > udc: ep2: ep_enable: desc=2ffe5ca9
> > udc: ep2: EPT_SIZE = 6 (maxpacket = 512)
> > udc: EPT_CFG2 after init: 0x80000066
> > udc: INT_ENB after init: 0x000752
> > udc: ep_alloc_request: 2fb6ee78, 0x0
> > udc: ep_alloc_request: 2fb6eec8, 0x0
> > udc: ep_alloc_request: 2fb6ee78, 0x0
> > udc: ep_alloc_request: 2fb6eec8, 0x0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [3]: s/8085d400 c/00001401
> > udc: ep0: req 2fb740f8 complete: status 0, actual 0
> > udc: ep0 [0]: s/8085d000 c/00001001
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 40
> > udc: req 80.06, length 255, state 1, ret 0
> > udc: ep2: queue req 2fb75ef0, len 512
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/0001c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 40), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 40), done
> > udc: ep0 [1]: s/0285c800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8085d400 c/00001401
> > udc: ep0 [4]: s/8085d000 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 40
> > udc: Packet length: 8
> > udc: Copying ctrl request from 0x00300000:
> > udc: ep0: queue req 2fb740f8, len 26
> > udc: req 80.06, length 255, state 1, ret 0
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/0001c000 c/00001801
> > udc: ep0: submit_request: req 2fb740f8 (length 26), dma: 0
> > udc: ep0: submit_transaction, req 2fb740f8 (length 26), done
> > udc: ep0 [1]: s/01a5c800 c/00001401
> > udc: irq, status=0x000125
> > udc: Wake Up CPU detected
> > udc: ep0 [1]: s/8005c640 c/00001401
> > udc: ep0 [4]: s/8005c240 c/00001201
> > udc: ep0: req 2fb740f8 complete: status 0, actual 26
> > udc: ep0 [0]: s/0001c040 c/00001001
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> > udc: irq, status=0x000025
> > udc: Wake Up CPU detected
> >
> > On Sun, May 21, 2023 at 9:09 AM Eugen Hristev <
> eugen.hristev@collabora.com <mailto:eugen.hristev@collabora.com>> wrote:
> >
> >     Hi,
> >
> >     I believe someone from Microchip have tried this before
> >     Some people in CC added
> >
> >     You can also open a case on support.microchip.com <
> http://support.microchip.com>
> >
> >     Eugen
> >
> >     On 5/19/23 23:18, admin LI wrote:
> >      > Hi,
> >      >
> >      > I'm trying to use ums to access EMMC on our SAMA5D2 board without
> success.
> >      >
> >      > My board_init(), without adding usba_udc_probe() ums will cause
> data abort
> >      > error:
> >      > int board_init(void)
> >      > {
> >      > /* address of boot parameters */
> >      > gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
> >      >
> >      > #ifdef CONFIG_USB_GADGET_ATMEL_USBA
> >      > at91_udp_hw_init();
> >      > usba_udc_probe(&pdata);
> >      > #endif
> >      >
> >      > return 0;
> >      > }
> >      >
> >      > USB related config:
> >      > CONFIG_USB=y
> >      > CONFIG_USB_EHCI_HCD=y
> >      > CONFIG_USB_STORAGE=y
> >      > CONFIG_USB_GADGET=y
> >      > CONFIG_USB_GADGET_VENDOR_NUM=0xdead
> >      > CONFIG_USB_GADGET_PRODUCT_NUM=0xbeef
> >      > CONFIG_USB_GADGET_ATMEL_USBA=y
> >      > CONFIG_USB_GADGET_VBUS_DRAW=500
> >      > CONFIG_USB_GADGET_DOWNLOAD=y
> >      > CONFIG_USB_ETHER=y
> >      >
> >      > EMMC can be successfully accessed, Linux boot is ok:
> >      > => mmc list
> >      > sdio-host@a0000000: 0 (eMMC)
> >      >
> >      > => mmc info
> >      > Device: sdio-host@a0000000
> >      > Manufacturer ID: 70
> >      > OEM: 100
> >      > Name: M6270
> >      > Bus Speed: 52000000
> >      > Mode: MMC High Speed (52MHz)
> >      > Rd Block Len: 512
> >      > MMC version 5.1
> >      > High Capacity: Yes
> >      > Capacity: 3.6 GiB
> >      > Bus Width: 4-bit
> >      > Erase Group Size: 512 KiB
> >      > HC WP Group Size: 4 MiB
> >      > User Capacity: 3.6 GiB
> >      > Boot Capacity: 2 MiB ENH
> >      > RPMB Capacity: 512 KiB ENH
> >      > Boot area 0 is not write protected
> >      > Boot area 1 is not write protected
> >      >
> >      > => mmc part
> >      >
> >      > Partition Map for MMC device 0  --   Partition Type: DOS
> >      >
> >      > Part    Start Sector    Num Sectors     UUID            Type
> >      >    1     2048            1044480         0508e2bf-01     83
> >      >
> >      > However, when I use "ums 0 mmc 0", the USB device is partially
> enumerated
> >      > without a block device available, in the console the rotation
> cursor spins
> >      > about 20s then USB is disconnected.
> >      >
> >      > On u-boot:
> >      > => ums 0 mmc 0
> >      > UMS: LUN 0, dev mmc 0, hwpart 0, sector 0x0, count 0x720000
> >      > -=> (self-exit after 20s)
> >      >
> >      > On Linux:
> >      > [  699.920316] usb 3-5: new high-speed USB device number 5 using
> xhci_hcd
> >      > [  700.060766] usb 3-5: New USB device found, idVendor=dead,
> >      > idProduct=beef, bcdDevice= 2.17
> >      > [  700.060772] usb 3-5: New USB device strings: Mfr=1, Product=2,
> >      > SerialNumber=0
> >      > [  700.060774] usb 3-5: Product: USB download gadget
> >      > [  700.060776] usb 3-5: Manufacturer: U-Boot
> >      > [  700.081573] usb-storage 3-5:1.0: USB Mass Storage device
> detected
> >      > [  700.081780] scsi host0: usb-storage 3-5:1.0
> >      > [  700.081874] usbcore: registered new interface driver
> usb-storage
> >      > [  700.088339] usbcore: registered new interface driver uas
> >      > [  722.407008] usb 3-5: USB disconnect, device number 5
> >      >
> >      >
> >      > Thanks,
> >
>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-05-26 15:42 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-19 20:18 USB mass storage gadget on SAMA5D2 admin LI
2023-05-21  7:09 ` Eugen Hristev
2023-05-22  9:00   ` admin LI
2023-05-25 17:16     ` Cristian.Birsan
2023-05-26 12:13       ` admin LI
2023-05-26 13:20         ` Mihai.Sain
2023-05-26 14:40           ` admin LI

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.