[U-Boot] [PATCH] usb: Add new command to regress USB devices
Rajesh Bhagat
rajesh.bhagat at nxp.com
Wed Mar 9 13:33:38 CET 2016
> -----Original Message-----
> From: Marek Vasut [mailto:marex at denx.de]
> Sent: Wednesday, March 09, 2016 4:59 PM
> To: Rajat Srivastava <rajat.srivastava at nxp.com>; u-boot at lists.denx.de
> Cc: sjg at chromium.org; Rajesh Bhagat <rajesh.bhagat at nxp.com>
> Subject: Re: [PATCH] usb: Add new command to regress USB devices
>
> On 03/09/2016 12:22 PM, Rajat Srivastava wrote:
> > This patch adds a new 'usb regress' command, that can be used to
> > regress test a USB device. It performs the following operations:
> >
> > 1. starts the USB device
> > 2. performs read/write operations
> > 3. stops the USB device
> > 4. verifies the contents of read/write operations
> >
> > Sample Output:
> > => usb regress 81000000 82000000 32m
> > regressing USB..
> > starting USB...
> > USB0: Register 200017f NbrPorts 2
> > Starting the controller
> > USB XHCI 1.00
> > scanning bus 0 for devices... 2 USB Device(s) found
> > scanning usb for storage devices... 1 Storage Device(s) found
> > USB write: device 0 block # 0, count 65536 ... 65536 blocks write: OK
> > USB read: device 0 block # 0, count 65536 ... 65536 blocks read: OK
> > stopping USB..
> > verifying data on addresses 0x81000000 and 0x82000000 Total of 65536
> > word(s) were the same
> >
> > Signed-off-by: Rajat Srivastava <rajat.srivastava at nxp.com>
> > Signed-off-by: Rajesh Bhagat <rajesh.bhagat at nxp.com>
>
>
> Does it do anything which cannot be achieved on the command line itself using "usb
> reset" "usb write" "usb read" "cmp" commands ?
>
Let me share little background and motivation for addition of this command:
1. We need to test different make(from different vendors/model) USB devices to test USB hardware. Where we
generally face below issues:
a. USB devices enumeration failure on Nth iteration.
b. USB read/write failure (incomplete transfer or data corruption) for particular data size e.g. 12M.
2. "usb regress" command takes size/iterations and performs all above operations in single command to reduce
manual overhead.
+ "usb regress waddr raddr size [iterations] - regress a USB device\n"
+ " (starts, writes to waddr, reads from raddr, stops and verifies.\n"
+ " `size' format 1B/1K/1M/1G)\n "
3. We are planning to provide a patch over it to provide summary report as below:
Regress Report:
USB enumerate: OK/ERROR (2/20)
USB write: OK/ERROR (2/20)
USB read: OK/ERROR (2/20)
USB verify: OK/ERROR (2/20)
Above report can be useful to regress a USB devices, and detailed report need to referred only when anything fails.
Please provide your opinion on the same.
> --
> Best regards,
> Marek Vasut
More information about the U-Boot
mailing list