[U-Boot] Regression in usb-storage in u-boot 2015.04 ???

Hi,
First of all I'm not sure this is a regression, but I'm afraid I do not have time to dig deeper so I thought I should report it anyways and then others can try to reproduce it.
I'm seeing the following happen when using a usb stick with a musb-new otg controller in host mode on an allwinner tablet:
sunxi# usb reset resetting USB... USB0: scanning bus 0 for devices... 1 USB Device(s) found scanning usb for storage devices... error in inquiry 0 Storage Device(s) found
The interesting thing is that, the first "usb start" works fine, this only happens on the second usb start (triggered through a usb reset).
This may be specific to using musb on sunxi, or to the flashdrive I have but I thought I should report this anyways. Esp. since usb otherwise works fine after a usb reset, other devices (usb keyboards) continue to work, and the descriptors of the usb drive do get read correctly:
sunxi# usb info 1: Mass Storage, USB Revision 2.0 - USB Flash Disk 4C0E960F - Class: (from Interface) Mass Storage - PacketSize: 64 Configurations: 1 - Vendor: 0x058f Product 0x6387 Version 1.3 Configuration: 1 - Interfaces: 1 Bus Powered 100mA Interface: 0 - Alternate Setting 0, Endpoints: 2 - Class Mass Storage, Transp. SCSI, Bulk only - Endpoint 1 Out Bulk MaxPacket 512 - Endpoint 2 In Bulk MaxPacket 512
Perhaps someone can test the reproducer on another board with usb:
1) plug in a usb drive 2) do "usb start" 3) should print that 1 storage device is found 4) do "usb reset" 5) should still print that 1 storage device is found, but for me gives the error I mentioned above.
Regards,
Hans

Hi Hans,
On 03/27/2015 03:08 AM, Hans de Goede wrote:
Hi,
First of all I'm not sure this is a regression, but I'm afraid I do not have time to dig deeper so I thought I should report it anyways and then others can try to reproduce it.
I'm seeing the following happen when using a usb stick with a musb-new otg controller in host mode on an allwinner tablet:
sunxi# usb reset resetting USB... USB0: scanning bus 0 for devices... 1 USB Device(s) found scanning usb for storage devices... error in inquiry 0 Storage Device(s) found
The interesting thing is that, the first "usb start" works fine, this only happens on the second usb start (triggered through a usb reset).
This may be specific to using musb on sunxi, or to the flashdrive I have but I thought I should report this anyways. Esp. since usb otherwise works fine after a usb reset, other devices (usb keyboards) continue to work, and the descriptors of the usb drive do get read correctly:
sunxi# usb info 1: Mass Storage, USB Revision 2.0
- USB Flash Disk 4C0E960F
- Class: (from Interface) Mass Storage
- PacketSize: 64 Configurations: 1
- Vendor: 0x058f Product 0x6387 Version 1.3 Configuration: 1
- Interfaces: 1 Bus Powered 100mA Interface: 0
- Alternate Setting 0, Endpoints: 2
- Class Mass Storage, Transp. SCSI, Bulk only
- Endpoint 1 Out Bulk MaxPacket 512
- Endpoint 2 In Bulk MaxPacket 512
Perhaps someone can test the reproducer on another board with usb:
- plug in a usb drive
- do "usb start"
- should print that 1 storage device is found
- do "usb reset"
- should still print that 1 storage device is found,
but for me gives the error I mentioned above.
I tested it OK with EHCI on Atmel sama5d4ek board. The following information for your reference. --->8--- U-Boot SPL 2015.04-rc4-00067-gf643d92 (Mar 27 2015 - 14:31:49)
U-Boot 2015.04-rc4-00067-gf643d92 (Mar 27 2015 - 14:31:49)
CPU: SAMA5D44 Crystal frequency: 12 MHz CPU clock : 528 MHz Master clock : 176 MHz DRAM: 512 MiB NAND: 512 MiB MMC: mci: 0 In: serial Out: serial Err: serial Net: gmac0, usb_ether Error: usb_ether address not set.
Hit any key to stop autoboot: 0 U-Boot> usb start starting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 2 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found U-Boot> usb reset resetting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 2 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found U-Boot> ---8<---
Regards,
Hans
Best Regards, Bo Shen

Hi,
On 27-03-15 07:36, Bo Shen wrote:
Hi Hans,
On 03/27/2015 03:08 AM, Hans de Goede wrote:
Hi,
First of all I'm not sure this is a regression, but I'm afraid I do not have time to dig deeper so I thought I should report it anyways and then others can try to reproduce it.
I'm seeing the following happen when using a usb stick with a musb-new otg controller in host mode on an allwinner tablet:
sunxi# usb reset resetting USB... USB0: scanning bus 0 for devices... 1 USB Device(s) found scanning usb for storage devices... error in inquiry 0 Storage Device(s) found
The interesting thing is that, the first "usb start" works fine, this only happens on the second usb start (triggered through a usb reset).
This may be specific to using musb on sunxi, or to the flashdrive I have but I thought I should report this anyways. Esp. since usb otherwise works fine after a usb reset, other devices (usb keyboards) continue to work, and the descriptors of the usb drive do get read correctly:
sunxi# usb info 1: Mass Storage, USB Revision 2.0
- USB Flash Disk 4C0E960F
- Class: (from Interface) Mass Storage
- PacketSize: 64 Configurations: 1
- Vendor: 0x058f Product 0x6387 Version 1.3 Configuration: 1
- Interfaces: 1 Bus Powered 100mA Interface: 0
- Alternate Setting 0, Endpoints: 2
- Class Mass Storage, Transp. SCSI, Bulk only
- Endpoint 1 Out Bulk MaxPacket 512
- Endpoint 2 In Bulk MaxPacket 512
Perhaps someone can test the reproducer on another board with usb:
- plug in a usb drive
- do "usb start"
- should print that 1 storage device is found
- do "usb reset"
- should still print that 1 storage device is found,
but for me gives the error I mentioned above.
I tested it OK with EHCI on Atmel sama5d4ek board. The following information for your reference. --->8--- U-Boot SPL 2015.04-rc4-00067-gf643d92 (Mar 27 2015 - 14:31:49)
U-Boot 2015.04-rc4-00067-gf643d92 (Mar 27 2015 - 14:31:49)
CPU: SAMA5D44 Crystal frequency: 12 MHz CPU clock : 528 MHz Master clock : 176 MHz DRAM: 512 MiB NAND: 512 MiB MMC: mci: 0 In: serial Out: serial Err: serial Net: gmac0, usb_ether Error: usb_ether address not set.
Hit any key to stop autoboot: 0 U-Boot> usb start starting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 2 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found U-Boot> usb reset resetting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 2 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found U-Boot> ---8<---
Ok, thanks for testing then at least this is not something which hits all boards, likely is some musb in host mode issue, which we probably have had for a long time now but I just noticed.
Regards,
Hans

On 26/03/15 19:08, Hans de Goede wrote:
Perhaps someone can test the reproducer on another board with usb:
on an A20-OLinuXino-lime2
U-Boot SPL 2015.04-rc4-00073-g07d8f86 (Mar 27 2015 - 08:05:11) DRAM: 1024 MiB CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
U-Boot 2015.04-rc4-00073-g07d8f86 (Mar 27 2015 - 08:05:11) Allwinner Technology
CPU: Allwinner A20 (SUN7I) I2C: ready DRAM: 1 GiB MMC: SUNXI SD/MMC: 0 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial SCSI: SUNXI SCSI INIT SATA link 0 timeout. AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: ncq stag pm led clo only pmp pio slum part ccc apst Net: dwmac.1c50000 starting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found USB1: USB EHCI 1.00 scanning bus 1 for devices... 2 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found Hit any key to stop autoboot: 0 sunxi# usb start sunxi# usb reset resetting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found USB1: USB EHCI 1.00 scanning bus 1 for devices... EHCI timed out on TD - token=0x80008c80 2 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found
that EHCI timeout appears to be random, it pops up maybe 20% of the time.
tried with a few different usb sticks and couldn't reproduce it.
Rgds, Iain

Hi,
On 27-03-15 09:42, Iain Paton wrote:
On 26/03/15 19:08, Hans de Goede wrote:
Perhaps someone can test the reproducer on another board with usb:
on an A20-OLinuXino-lime2
U-Boot SPL 2015.04-rc4-00073-g07d8f86 (Mar 27 2015 - 08:05:11) DRAM: 1024 MiB CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
U-Boot 2015.04-rc4-00073-g07d8f86 (Mar 27 2015 - 08:05:11) Allwinner Technology
CPU: Allwinner A20 (SUN7I) I2C: ready DRAM: 1 GiB MMC: SUNXI SD/MMC: 0 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial SCSI: SUNXI SCSI INIT SATA link 0 timeout. AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: ncq stag pm led clo only pmp pio slum part ccc apst Net: dwmac.1c50000 starting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found USB1: USB EHCI 1.00 scanning bus 1 for devices... 2 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found Hit any key to stop autoboot: 0 sunxi# usb start sunxi# usb reset resetting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found USB1: USB EHCI 1.00 scanning bus 1 for devices... EHCI timed out on TD - token=0x80008c80 2 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found
that EHCI timeout appears to be random, it pops up maybe 20% of the time.
tried with a few different usb sticks and couldn't reproduce it.
Thanks that confirms that it is a musb issue, and likely one which has been around for ages.
Regards,
Hans

On Friday, March 27, 2015 at 09:47:25 AM, Hans de Goede wrote:
Hi,
Hi!
[...]
scanning usb for storage devices... 1 Storage Device(s) found
that EHCI timeout appears to be random, it pops up maybe 20% of the time.
tried with a few different usb sticks and couldn't reproduce it.
Thanks that confirms that it is a musb issue, and likely one which has been around for ages.
Are there any updates on this musb issue please ?
Best regards, Marek Vasut

Hi,
On 27-04-15 03:09, Marek Vasut wrote:
On Friday, March 27, 2015 at 09:47:25 AM, Hans de Goede wrote:
Hi,
Hi!
[...]
scanning usb for storage devices... 1 Storage Device(s) found
that EHCI timeout appears to be random, it pops up maybe 20% of the time.
tried with a few different usb sticks and couldn't reproduce it.
Thanks that confirms that it is a musb issue, and likely one which has been around for ages.
Are there any updates on this musb issue please ?
No, since most people who are doing usb booting are using boards with a "proper" ehci usb controller I've not investigated this further.
Also this only happens after a usb reset, the first time the storage device works fine, iow this is a corner case. I agree it would be nice to fix it, but -ENOTIME.
Regards,
Hans

On Monday, April 27, 2015 at 10:40:18 AM, Hans de Goede wrote:
Hi,
Hi again!
On 27-04-15 03:09, Marek Vasut wrote:
On Friday, March 27, 2015 at 09:47:25 AM, Hans de Goede wrote:
Hi,
Hi!
[...]
scanning usb for storage devices... 1 Storage Device(s) found
that EHCI timeout appears to be random, it pops up maybe 20% of the time.
tried with a few different usb sticks and couldn't reproduce it.
Thanks that confirms that it is a musb issue, and likely one which has been around for ages.
Are there any updates on this musb issue please ?
No, since most people who are doing usb booting are using boards with a "proper" ehci usb controller I've not investigated this further.
Also this only happens after a usb reset, the first time the storage device works fine, iow this is a corner case. I agree it would be nice to fix it, but -ENOTIME.
CCing also Tom, since he has an MUSB device. Let's not forget about this bug. Are there any news please ?
Best regards, Marek Vasut

Hi,
On 14-08-15 01:16, Marek Vasut wrote:
On Monday, April 27, 2015 at 10:40:18 AM, Hans de Goede wrote:
Hi,
Hi again!
On 27-04-15 03:09, Marek Vasut wrote:
On Friday, March 27, 2015 at 09:47:25 AM, Hans de Goede wrote:
Hi,
Hi!
[...]
scanning usb for storage devices... 1 Storage Device(s) found
that EHCI timeout appears to be random, it pops up maybe 20% of the time.
tried with a few different usb sticks and couldn't reproduce it.
Thanks that confirms that it is a musb issue, and likely one which has been around for ages.
Are there any updates on this musb issue please ?
No, since most people who are doing usb booting are using boards with a "proper" ehci usb controller I've not investigated this further.
Also this only happens after a usb reset, the first time the storage device works fine, iow this is a corner case. I agree it would be nice to fix it, but -ENOTIME.
CCing also Tom, since he has an MUSB device. Let's not forget about this bug. Are there any news please ?
So I've finally been able to make some time to retest this, and as hoped the recent(ish) fixes to the sunxi-musb glue for fixing the gadget code not working when changing gadget type, also fix this.
TLDR: This was a sunxi specific issue and it is fixed now.
Regards,
Hans

On Wednesday, September 23, 2015 at 11:50:07 AM, Hans de Goede wrote:
Hi,
Hi!
On 14-08-15 01:16, Marek Vasut wrote:
On Monday, April 27, 2015 at 10:40:18 AM, Hans de Goede wrote:
Hi,
Hi again!
On 27-04-15 03:09, Marek Vasut wrote:
On Friday, March 27, 2015 at 09:47:25 AM, Hans de Goede wrote:
Hi,
Hi!
[...]
scanning usb for storage devices... 1 Storage Device(s) found
that EHCI timeout appears to be random, it pops up maybe 20% of the time.
tried with a few different usb sticks and couldn't reproduce it.
Thanks that confirms that it is a musb issue, and likely one which has been around for ages.
Are there any updates on this musb issue please ?
No, since most people who are doing usb booting are using boards with a "proper" ehci usb controller I've not investigated this further.
Also this only happens after a usb reset, the first time the storage device works fine, iow this is a corner case. I agree it would be nice to fix it, but -ENOTIME.
CCing also Tom, since he has an MUSB device. Let's not forget about this bug. Are there any news please ?
So I've finally been able to make some time to retest this, and as hoped the recent(ish) fixes to the sunxi-musb glue for fixing the gadget code not working when changing gadget type, also fix this.
TLDR: This was a sunxi specific issue and it is fixed now.
Thank you very much for looking into this! I'm really happy I can tick this one off :)
Best regards, Marek Vasut

Hi Iain,
On 27 March 2015 at 02:42, Iain Paton ipaton0@gmail.com wrote:
On 26/03/15 19:08, Hans de Goede wrote:
Perhaps someone can test the reproducer on another board with usb:
on an A20-OLinuXino-lime2
U-Boot SPL 2015.04-rc4-00073-g07d8f86 (Mar 27 2015 - 08:05:11) DRAM: 1024 MiB CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
U-Boot 2015.04-rc4-00073-g07d8f86 (Mar 27 2015 - 08:05:11) Allwinner Technology
CPU: Allwinner A20 (SUN7I) I2C: ready DRAM: 1 GiB MMC: SUNXI SD/MMC: 0 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial SCSI: SUNXI SCSI INIT SATA link 0 timeout. AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: ncq stag pm led clo only pmp pio slum part ccc apst Net: dwmac.1c50000 starting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found USB1: USB EHCI 1.00 scanning bus 1 for devices... 2 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found Hit any key to stop autoboot: 0 sunxi# usb start sunxi# usb reset resetting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found USB1: USB EHCI 1.00 scanning bus 1 for devices... EHCI timed out on TD - token=0x80008c80 2 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found
that EHCI timeout appears to be random, it pops up maybe 20% of the time.
I see this also, both with and without driver model. It seems like a bit of a worry. I can repeat this on the first use of USB from boot, around 20% of the time.
Regards, Simon

On Monday, April 27, 2015 at 09:57:52 PM, Simon Glass wrote:
Hi Iain,
On 27 March 2015 at 02:42, Iain Paton ipaton0@gmail.com wrote:
On 26/03/15 19:08, Hans de Goede wrote:
Perhaps someone can test the reproducer on another board
with usb:
on an A20-OLinuXino-lime2
U-Boot SPL 2015.04-rc4-00073-g07d8f86 (Mar 27 2015 - 08:05:11) DRAM: 1024 MiB CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
U-Boot 2015.04-rc4-00073-g07d8f86 (Mar 27 2015 - 08:05:11) Allwinner Technology
CPU: Allwinner A20 (SUN7I) I2C: ready DRAM: 1 GiB MMC: SUNXI SD/MMC: 0 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial SCSI: SUNXI SCSI INIT SATA link 0 timeout. AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: ncq stag pm led clo only pmp pio slum part ccc apst Net: dwmac.1c50000 starting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found USB1: USB EHCI 1.00 scanning bus 1 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
Hit any key to stop autoboot: 0 sunxi# usb start sunxi# usb reset resetting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found USB1: USB EHCI 1.00 scanning bus 1 for devices... EHCI timed out on TD - token=0x80008c80 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
that EHCI timeout appears to be random, it pops up maybe 20% of the time.
I see this also, both with and without driver model. It seems like a bit of a worry. I can repeat this on the first use of USB from boot, around 20% of the time.
Just a random guess -- Try enabling cache debugging, maybe it's some alignment problem somewhere?
Best regards, Marek Vasut
participants (5)
-
Bo Shen
-
Hans de Goede
-
Iain Paton
-
Marek Vasut
-
Simon Glass