[coreboot] CS5536 OHCI not working

Jens Rottmann JRottmann at LiPPERTEmbedded.de
Fri Sep 3 17:13:28 CEST 2010


Hi,

is OHCI / USB storage support supposed to be working or is this still
very early experimental stuff?

If it's known to work only on few supported chipsets yet, then never
mind, just ignore me, we don't actually need this, I just fancied giving
it a try.

But if it's supposed to be mostly working now, you might be interested
to hear that this is all I'm getting:

FILO version 0.6.0 (root at jensrv) Fri Sep  3 16:49:08 CEST 2010                                                                 
00:0f.5 2095:1022.5 EHCI controller                                                                                            
Not supported.                                                                                                                 
00:0f.4 2094:1022.4 OHCI controller                                                                                            
OHCI Version 1.0                                                                                                               
fullspeed device                                                                                                               
doing control transfer with 0. first_td at f6bf8a0                                                                             
intst: 44; ctrl: b4; cmdst: 0; head: f6bf8a0 -> f6bf8b0, tail: f6bf8c0, condition: f                                           
doing control transfer with 1. first_td at f6bf8a0                                                                             
intst: 44; ctrl: b4; cmdst: 0; head: f6bf8a0 -> f6bf8b0, tail: f6bf8d0, condition: f                                           
doing control transfer with 1. first_td at f6bf8a0                                                                             
intst: 44; ctrl: b4; cmdst: 0; head: f6bf8a0 -> f6bf8b0, tail: f6bf8d0, condition: f                                           
device 0x0951:0x160b is USB 2.0 doing control transfer with 1. first_td at f6bf8a0                                             
intst: 44; ctrl: b4; cmdst: 0; head: f6bf8a0 -> f6bf8b0, tail: f6bf8d0, condition: f
doing control transfer with 1. first_td at f6bf8a0
intst: 44; ctrl: b4; cmdst: 0; head: f6bf8a0 -> f6bf8b0, tail: f6bf8d0, condition: f
doing control transfer with 1. first_td at f6bf8a0
intst: 44; ctrl: b4; cmdst: 0; head: f6bf8a0 -> f6bf8b0, tail: f6bf8c0, condition: f
(MSC)
  it uses SCSI transparent command set
  it uses Bulk-Only Transport protocol
  using endpoint 81 as in, 2 as out
doing control transfer with 1. first_td at f6bf8a0
intst: 44; ctrl: b4; cmdst: 0; head: f6bf8a0 -> f6bf8b0, tail: f6bf8d0, condition: f
  has 1 luns
  Waiting for device to become ready... bulk: 1f bytes from 233035, finalize: 0, maxpacketsize: 40
doing bulk transfer with 1(2). first_td at f6bf8a0, last f6bf8b0
intst: 44; ctrl: b4; cmdst: 0; head: f6bf8a0 -> f6bf8b0, tail: f6bf8b0, condition: f
bulk: d bytes from 233028, finalize: 1, maxpacketsize: 40
doing bulk transfer with 1(1). first_td at f6bf8a0, last f6bf8b0
intst: 44; ctrl: b4; cmdst: 0; head: f6bf8a0 -> f6bf8b0, tail: f6bf8b0, condition: f
intst: 44; ctrl: b4; cmdst: 0; head: f6bf8a0 -> f6bf8b0, tail: f6bf8b0, condition: f
intst: 44; ctrl: b4; cmdst: 4; head: f6bf8a0 -> f6bf8b0, tail: f6bf8b0, condition: f
intst: 44; ctrl: b4; cmdst: 4; head: f6bf8a0 -> f6bf8b0, tail: f6bf8b0, condition: f
intst: 44; ctrl: b4; cmdst: 4; head: f6bf8a0 -> f6bf8b0, tail: f6bf8b0, condition: f
intst: 44; ctrl: b4; cmdst: 4; head: f6bf8a0 -> f6bf8b0, tail: f6bf8b0, condition: f
intst: 44; ctrl: b4; cmdst: 4; head: f6bf8a0 -> f6bf8b0, tail: f6bf8b0, condition: f
intst: 44; ctrl: b4; cmdst: 4; head: f6bf8a0 -> f6bf8b0, tail: f6bf8b0, condition: f
intst: 44; ctrl: b4; cmdst: 4; head: f6bf8a0 -> f6bf8b0, tail: f6bf8b0, condition: f
intst: 44; ctrl: b4; cmdst: 0; head: f6bf8a0 -> f6bf8b0, tail: f6bf8b0, condition: f                                           
intst: 44; ctrl: b4; cmdst: 4; head: f6bf8a0 -> f6bf8b0, tail: f6bf8b0, condition: f                                           
intst: 44; ctrl: b4; cmdst: 4; head: f6bf8a0 -> f6bf8b0, tail: f6bf8b0, condition: f                                           
intst: 44; ctrl: b4; cmdst: 4; head: f6bf8a0 -> f6bf8b0, tail: f6bf8b0, condition: f                                           
[ ... continues infinitely ... ]

I added a counter forcing the loop @ libpayload/drivers/usb/ohci.c:206
to break after 50 repetitions, but this didn't get me anywhere: in the
end USB storage would report a complete bogus nr of sectors for my thumb
drive.

I'd like to be more helpful, but I don't have a clue what this loop is
for, or what wait_for_ed() does or who this Ed person is anyway. ;-)

Cheers,
Jens




More information about the coreboot mailing list