[LinuxBIOS] Filo + USB-OHCI boot

Peter Stuge peter at stuge.se
Fri Jul 27 20:00:05 CEST 2007

Hi Remy,

On Fri, Jul 27, 2007 at 07:41:59PM +0200, Remy Bruno wrote:
> USB key used: 0ea0:6828 Ours Technology, Inc. OTI-6828 Flash Disk
> Please not that this key boots right using the BIOS (but I would like to avoid
> using the BIOS), and is correctly recognized by linux (I noticed some
> similarities between the linux USB driver and the filo USB driver)
> PCI USB controllers (from lspci):
> 00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
> 00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)

There are three types of USB controllers:

USB 1.1 specifies two of them; UHCI and OHCI.
Intel and VIA are UHCI, most others are OHCI.

USB 2.0 specifies only one; EHCI.

EHCI controllers are not backwards-compatible.

In order to still be able to use USB 1.1-only devices with EHCI
controllers, all EHCI controllers must also provide one USB 1.1
PCI device for each USB 2.0 port.

FILO does not support EHCI, so all USB devices will be talking to
USB 1.1 hosts.

The USB memory is most likely a USB 2.0 device.

But the OTI chipset may not function properly if it is not connected
to a USB 2.0 host. That's all too common.

> I'm not familiar at all with USB, so I don't know how to debug
> this, nor what's wrong here.

Start in Linux; make sure there is no EHCI driver in the kernel, only
the OHCI driver, and see if the USB memory still works.

If it does - there is nothing wrong with the OTI chipset and there is
in fact a bug in FILO. (Also quite possible.)

Then usbsnoop in the Linux system would be used to see what packets
go out to the OHCI controller, and then that would be compared with
what FILO is doing.

EHCI support in FILO would be nice! :)


More information about the coreboot mailing list