public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Sergei Trofimovich <slyfox@inbox.ru>
To: u-boot@lists.denx.de
Subject: [U-Boot] 'usb start' works very unstable
Date: Sat, 7 Aug 2010 16:39:57 +0300	[thread overview]
Message-ID: <20100807163957.52c1cceb@mosly> (raw)
In-Reply-To: <20100807112205.A5D141536EF@gemini.denx.de>

> > It's a tip of 'u-boot-marvell/testing' branch.
> 
> Did you try current mainline instead?  It is usually not recommended
> to use any of the custodian trees and especially their testing
> branches unless you know _exactly_ what these contain and what you are
> looking after.

I was not sure sheevaplug support was merged. Pesky page [0] suggested it
and I thought i's called 'mainline'.

Ok, trying 'u-boot/master' v2010.06-267-gb1f95b4 with latest commit

> commit b1f95b4438a6d44e12f04e7f51412f7a711ef87b
> Author: Wolfgang Denk <wd@denx.de>
> Date:   Sat Aug 7 00:32:50 2010 +0200
> 
>     Replace CHANGELOG files by auto-generated "snapshot.commit"

    Marvell>> version

    U-Boot 2010.06-00267-gb1f95b4 (Aug 07 2010 - 15:30:45)
    Marvell-Sheevaplug

> >     [   23.015860] scsi0 : usb-storage 1-1:1.0
> >     [   26.054268] scsi 0:0:0:0: Direct-Access     StoreJet  Transcend            PQ: 0 ANSI: 2 CCS
> >     [   28.774083] sd 0:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB)
> ...
> 
> >       Device 0: Vendor: StoreJet Rev:  Prod:  Transcend
> >                 Type: Hard Disk
> >                 Capacity: 28759.9 MB = 28.0 GB (488397168 x 512)
> >
> > Heh, capacity is reported incorrectly, but it works am I'm able
> > to load kernel from there.
> The reason for this is that the multiplication 488397168 x 512 will
> overflow a 32 bit integer as used in "disk/part.c"; this shouldbe
> fixed...

This issue is still here:

    Marvell>> usb start
    (Re)start USB...
    USB:   Register 10011 NbrPorts 1
    USB EHCI 1.00
    scanning bus for devices... 2 USB Device(s) found
           scanning bus for storage devices... 1 Storage Device(s) found
    Marvell>> usb storage
      Device 0: Vendor: StoreJet Rev:  Prod:  Transcend
                Type: Hard Disk
                Capacity: 28759.9 MB = 28.0 GB (488397168 x 512)

Latest change in 'disk/part.c' is:
> commit 4b142febff71eabdb7ddbb125c7b583b24ddc434                                                                                
> Author: Heiko Schocher <hs@denx.de>                                                                                            
> Date:   Thu Dec 3 11:21:21 2009 +0100

Which looks older, than u-boot-marvell branch.

> > All these things are almost 100% reproducible.
> >
> > Vendor-shipped (Marvell's) u-boot has exactly the same disease:
> >  ** MARVELL BOARD: SHEEVA PLUG LE 
> > U-Boot 1.1.4 (Mar 19 2009 - 16:06:59) Marvell version: 3.4.16
> 
> This can be anything - issues with the USB driver, missing or
> incorrect initializatioon of the SoC, or even hardware issues.
> 
> Can you try to debug it?

And I can't reproduce it anymore with 'u-boot/master'.
Rebooted 3 times and I have stable detection \o/.

I can still reproduce another (hardware?) failure in a dirty way:
1. Boot Linux kernel
2. run hdparm on the root partition (not the beast idea, as we will see):
    sh-4.0# hdparm /dev/sda
        /dev/sda:
     HDIO_DRIVE_CMD(identify) failed: Invalid exchange
     readonly      =  0 (off)
     readahead     = 256 (on)
     geometry      = 30401/255/63, sectors = 488397168, start = 0
   system losts USB, root, and ability to run binaries
3. attach with JTAG:
    $sudo openocd -f /usr/share/openocd/scripts/board/sheevaplug.cfg
    Open On-Chip Debugger 0.5.0-dev-00466-g28ddefd (2010-08-06-22:54)
...
    > reset
4. get in u-boot prompt and run 'usb start'
    Marvell>> usb start
    (Re)start USB...
    USB:   Register 10011 NbrPorts 1
    USB EHCI 1.00
    scanning bus for devices... 2 USB Device(s) found
           scanning bus for storage devices... 0 Storage Device(s) found
    Marvell>> usb info
    1: Hub,  USB Revision 2.0
     - u-boot EHCI Host Controller 
     - Class: Hub
     - PacketSize: 64  Configurations: 1
     - Vendor: 0x0000  Product 0x0000 Version 1.0
       Configuration: 1
       - Interfaces: 1 Self Powered 0mA
         Interface: 0
         - Alternate Setting 0, Endpoints: 1
         - Class Hub
         - Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms
    
       Configuration: 0
       - Interfaces: 0 Bus Powered 0mA

5. try to boot nand linux kernel to see if is able to find usb root and start:
[    1.392621] Waiting for root device /dev/sda3...
[    1.508952] usb 1-1: device descriptor read/64, error -32
[    1.738954] usb 1-1: device descriptor read/64, error -32
[    1.968955] usb 1-1: new high speed USB device using orion-ehci and address 3
[    2.098954] usb 1-1: device descriptor read/64, error -32
[    2.328956] usb 1-1: device descriptor read/64, error -32
[    2.558956] usb 1-1: new high speed USB device using orion-ehci and address 4
[    2.610990] usb 1-1: device descriptor read/8, error -71
[    2.750990] usb 1-1: device descriptor read/8, error -71
[    2.978955] usb 1-1: new high speed USB device using orion-ehci and address 5
[    3.030990] usb 1-1: device descriptor read/8, error -71
[    3.170990] usb 1-1: device descriptor read/8, error -71
[    3.278964] hub 1-0:1.0: unable to enumerate USB device on port 1
<hung forever>
<trying more JTAG reset/kernel boot loops ... and it does not help, kernel does not see root>

*shrug* Seems, we have lost it.

Power off/power on restores USB operation. Kernel boots and usb survives several reboots.

feature request: would be nice to see some errors in 'usb start' output when the hardware
is in such bad state.

Thanks!

[0] http://www.plugcomputer.org/plugwiki/index.php/Das_U-boot_plug_support

-- 

  Sergei
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20100807/3a053ea7/attachment.pgp 

  reply	other threads:[~2010-08-07 13:39 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-07  7:18 [U-Boot] 'usb start' works very unstable Sergei Trofimovich
2010-08-07 11:22 ` Wolfgang Denk
2010-08-07 13:39   ` Sergei Trofimovich [this message]
2010-08-07 15:47     ` Wolfgang Denk
2010-08-07 19:35       ` Prafulla Wadaskar
2010-08-07 20:57       ` Sergei Trofimovich
2010-08-08  9:05         ` [U-Boot] [PATCH] disk/part.c: 'usb storage' avoiding overflow when output capacity Sergei Trofimovich
2010-08-08 10:01           ` Sergei Shtylyov
2010-08-08 12:05             ` Sergei Trofimovich
2010-08-09  5:38               ` Prafulla Wadaskar
2010-08-09 18:19                 ` Sergei Trofimovich
2010-08-10 21:10               ` Wolfgang Denk
2010-08-07 19:47     ` [U-Boot] 'usb start' works very unstable Prafulla Wadaskar
2010-08-07 22:27       ` Wolfgang Denk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100807163957.52c1cceb@mosly \
    --to=slyfox@inbox.ru \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox