[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