All of lore.kernel.org
 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 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.