#12254 LOW Not Tri: test-all fails on USB test

Zarro Boogs per Child bugtracker at laptop.org
Mon Oct 29 04:35:11 EDT 2012


#12254: test-all fails on USB test
---------------------------------+------------------------------------------
 Reporter:  Quozl                |                 Owner:  Quozl        
     Type:  defect               |                Status:  new          
 Priority:  low                  |             Milestone:  Not Triaged  
Component:  ofw - open firmware  |               Version:  not specified
 Keywords:                       |           Next_action:  never set    
 Verified:  0                    |   Deployment_affected:               
Blockedby:                       |              Blocking:               
---------------------------------+------------------------------------------
 The old ''test-all'' command in Open Firmware is failing on the USB hub
 test on XO-1.75 and XO-4 using svn head r3344.

 {{{
 Testing /usb at d4208000/hub at 0,0
 Failed to get hub descriptor
 Failed to get port status for port 3
 Get-port-status failed for hub port 3
 }}}

 Only occurs if the SoC USB port is tested first, which is normal when
 using ''test-all''.  Can be reproduced outside ''test-all'' with:

 {{{
 ok test /usb at d4208000             \ the SoC port attached to the hub
 ok test /usb at d4208000/hub at 0,0     \ the USB hub chip
 }}}

 Can be prevented by defining ''selftest'' as a ''false'' noop in
 cpu/arm/olpc/usb.fth .

 ''hub-id'' returns -1 0 in the failing case, showing that the ''assigned-
 address'' property has changed.

 ''assigned-address'' is 00000001 on first ''.properties'' after a
 ''select'' of the hub.  But after a ''test'' of the SoC port, the hub
 ''assigned-address'' is 00000002.  It is incremented by each ''test'' of
 the SoC port.

 ''reuse-node'' is responsible for changing the ''assigned-address'', the
 call chain above is ''reuse-old-node?'', ''(make-device-node)'', ''make-
 device-node'', ''make-root-hub-node'', ''make-port-node'', ''probe-root-
 hub-port'', ''wait-connect'', ''sagacity'', ''selftest''.

 The test of the SoC USB port leads to a probe, and the probe leads to a
 change of address for the hub?

 It would seem the simplest solution is to disable the port self test.

 Not critical for manufacturing, as ''test-all'' is no longer used, instead
 the devices to be tested are selected by ''autorun-mfg-tests''.

-- 
Ticket URL: <http://dev.laptop.org/ticket/12254>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list