[SeaBIOS] USB timeout on ALIX.2C2 (CS5536)

Евгени Димитров evgeni.dimitrov at gmail.com
Mon Jan 9 08:31:22 CET 2017


On Fri, Jan 6, 2017 at 4:46 PM, Kevin O'Connor <kevin at koconnor.net> wrote:

> On Fri, Jan 06, 2017 at 09:22:46AM +0200, Евгени Димитров wrote:
> > On Thu, Jan 5, 2017 at 6:29 PM, Kevin O'Connor <kevin at koconnor.net>
> wrote:
> >
> > > On Thu, Jan 05, 2017 at 09:44:14AM +0200, Евгени Димитров wrote:
> > > > On Wed, Jan 4, 2017 at 4:52 PM, Kevin O'Connor <kevin at koconnor.net>
> > > wrote:
> > > >
> > > > > On Wed, Jan 04, 2017 at 03:57:33PM +0200, Евгени Димитров wrote:
> > > > > > Hi,
> > > > > >
> > > > > > I'm testing Coreboot with SeaBIOS as payload on my old Alix.2C2.
> When
> > > > > > trying to boot from an USB device I get the following error:
> > > > > >
> > > > > > Searching bootorder for: /pci at i0cf8/usb at f,5/storage at 2/*@0/*@0,0
> > > > > > Searching bootorder for: /pci at i0cf8/usb at f,5/usb-*@2
> > > > > > ehci_send_pipe qh=0x000ecf00 dir=0 data=0x00006cf9 size=31
> > > > > > ehci_send_pipe qh=0x000ecf80 dir=128 data=0x00006dc4 size=36
> > > > > > ehci_send_pipe qh=0x000ecf80 dir=128 data=0x00006cec size=13
> > > > > > WARNING - Timeout at ehci_wait_td:516!
> > > > > > ehci pipe=0x000ecf80 cur=00000000 tok=00000000 next=6b40
> > > td=0x00006b40
> > > > > > status=d0d80
> > > > > > USB transmission failed
> > > > > > Unable to configure USB MSC drive.
> > > > > > phys_free f6030 (detail=0x0f7688a0)
> > > > > > Unable to configure USB MSC device.
> > > > >
> > > > > Did you disable threads in seabios (either via the kconfig option
> or
> > > > > via the /etc/threads runtime option)?  It's not recommended to
> disable
> > > > > threads, and the USB code is less capable of handling timeouts when
> > > > > threads are disabled.  Can you retry (and send the log) with
> threads
> > > > > enabled.
> > > > >
> > > > > If that fails, can you also try disabling CONFIG_USB_EHCI in
> Kconfig
> > > > > and send that log as well.
> > > > I get the same error with threads enabled. Disabling ehci did not
> help
> > > > either. Logs are attached as requested.
> > >
> > > It looks like the USB device is successfully identified and
> > > configured, but when sending the "inquiry" command to the drive behind
> > > the USB interface the connection halts.  Not sure why that would be -
> > > it could be something with the controller, but it's odd that it
> > > happens with both the ohci and ehci controllers.
> > >
> > > If you boot to linux (using some other bootable device) what does
> > > 'lsusb' and 'lsusb -t' report?  Have you tested with a different type
> > > of usb drive?
> > >
> > > -Kevin
> > >
> >
> > USB works on Linux. And yes I have tried a bunch of USB drives. All of
> them
> > failed with the same error.
> >
> > root at OpenWrt:/# lsusb
> > Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> > Bus 001 Device 002: ID 0011:7788
> > Bus 001 Device 003: ID 058f:6377 Alcor Micro Corp. Multimedia Card Reader
> > Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> > root at OpenWrt:/# lsusb -t
> > /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/4p, 12M
> > /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/4p, 480M
> >     |__ Port 1: Dev 3, If 0, Class=Mass Storage, Driver=, 480M
> >     |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=, 480M
>
> Are you trying to boot from the "Multimedia Card Reader" or from a
> regular USB flash drive?  If you're not booting from the card reader,
> does the patch below help?
>
> -Kevin
>
>
> --- a/src/hw/usb-msc.c
> +++ b/src/hw/usb-msc.c
> @@ -203,6 +203,8 @@ usb_msc_setup(struct usbdevice_s *usbdev)
>          goto fail;
>
>      int maxlun = usb_msc_maxlun(usbdev->defpipe);
> +    if (maxlun)
> +        goto fail;
>      int lun, pipesused = 0;
>      for (lun = 0; lun < maxlun + 1; lun++) {
>          int ret = usb_msc_lun_setup(inpipe, outpipe, usbdev, lun);
>

I was trying to boot from whatever USB devices I can get my hands on.
Ultimately my goal is to boot from a regular flash drive. The patch doesn't
help.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/seabios/attachments/20170109/4c4f5b69/attachment.html>
-------------- next part --------------
SeaBIOS (version rel-1.10.0-10-g9332965-dirty-20170109_091731-cactus)
init usb
Copying data 8 at 0xfffad0b8 to 8 at 0x00006ebc
phys_alloc zone=0x0f773ed0 size=32 align=10 ret=f7689e0 (detail=0x0f7689b0)
EHCI init on dev 00:0f.5 (regs=0xfe017010)
phys_alloc zone=0x0f773ed0 size=4096 align=1000 ret=f767000 (detail=0x0f768980)
/0f767000\ Start thread
|0f767000| phys_alloc zone=0x0f773edc size=4096 align=1000 ret=f7b3000 (detail=0x0f768950)
|0f767000| phys_alloc zone=0x0f773edc size=68 align=80 ret=f7b2f80 (detail=0x0f768920)
|0f767000| phys_alloc zone=0x0f773edc size=68 align=80 ret=f7b2f00 (detail=0x0f7688f0)
phys_alloc zone=0x0f773ed0 size=20 align=10 ret=f7688d0 (detail=0x0f7688a0)
OHCI init on dev 00:0f.4 (regs=0xfe016000)
phys_alloc zone=0x0f773ed0 size=4096 align=1000 ret=f766000 (detail=0x0f768870)
/0f766000\ Start thread
|0f766000| phys_alloc zone=0x0f773edc size=256 align=100 ret=f7b2e00 (detail=0x0f768840)
|0f766000| phys_alloc zone=0x0f773edc size=16 align=10 ret=f7b2ff0 (detail=0x0f768810)
|0f767000| phys_alloc zone=0x0f773ed0 size=28 align=10 ret=f7687f0 (detail=0x0f7687c0)
|0f767000| phys_alloc zone=0x0f773ed0 size=4096 align=1000 ret=f765000 (detail=0x0f768790)
/0f765000\ Start thread
init ps2port
phys_alloc zone=0x0f773ed0 size=4096 align=1000 ret=f764000 (detail=0x0f768760)
/0f764000\ Start thread
|0f764000| i8042_flush
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| i8042 flushed ff (status=ff)
|0f764000| WARNING - Timeout at i8042_flush:71!
\0f764000/ End thread
phys_free f764000 (detail=0x0f768760)
|0f767000| phys_alloc zone=0x0f773ed0 size=28 align=10 ret=f768770 (detail=0x0f768740)
|0f767000| phys_alloc zone=0x0f773ed0 size=4096 align=1000 ret=f764000 (detail=0x0f768710)
/0f764000\ Start thread
init floppy drives
init hard drives
phys_alloc zone=0x0f773ed8 size=20 align=10 ret=f6000 (detail=0x0f7686e0)
ATA controller 1 at 1f0/3f4/0 (irq 14 dev 7a)
phys_alloc zone=0x0f773ed0 size=4096 align=1000 ret=f763000 (detail=0x0f7686b0)
/0f763000\ Start thread
|0f763000| powerup iobase=1f0 st=50
|0f763000| powerup iobase=1f0 st=50
|0f763000| ata_detect ata0-0: sc=55 sn=aa dh=a0
|0f763000| ata_reset drive=0x0f763dc0
|0f766000| phys_alloc zone=0x0f773ed0 size=28 align=10 ret=f768690 (detail=0x0f768660)
|0f766000| phys_alloc zone=0x0f773ed0 size=4096 align=1000 ret=f762000 (detail=0x0f768630)
/0f762000\ Start thread
|0f767000| phys_alloc zone=0x0f773ed0 size=28 align=10 ret=f768610 (detail=0x0f7685e0)
|0f767000| phys_alloc zone=0x0f773ed0 size=4096 align=1000 ret=f761000 (detail=0x0f7685b0)
/0f761000\ Start thread
phys_alloc zone=0x0f773ed8 size=20 align=10 ret=f5fe0 (detail=0x0f768580)
ATA controller 2 at 170/374/0 (irq 15 dev 7a)
phys_alloc zone=0x0f773ed0 size=4096 align=1000 ret=f760000 (detail=0x0f768550)
/0f760000\ Start thread
|0f760000| powerup IDE floating
|0f760000| powerup IDE floating
|0f760000| ata_detect ata1-0: sc=ff sn=ff dh=ff
|0f760000| powerup IDE floating
|0f760000| powerup IDE floating
|0f760000| ata_detect ata1-1: sc=ff sn=ff dh=ff
\0f760000/ End thread
phys_free f760000 (detail=0x0f768550)
|0f763000| ata_reset exit status=50
|0f766000| phys_alloc zone=0x0f773ed0 size=28 align=10 ret=f768560 (detail=0x0f768530)
|0f766000| phys_alloc zone=0x0f773ed0 size=4096 align=1000 ret=f760000 (detail=0x0f768500)
/0f760000\ Start thread
|0f767000| phys_alloc zone=0x0f773ed0 size=28 align=10 ret=f7684e0 (detail=0x0f7684b0)
|0f767000| phys_alloc zone=0x0f773ed0 size=4096 align=1000 ret=f75f000 (detail=0x0f768480)
/0f75f000\ Start thread
init ahci
init megasas
init lpt
Found 0 lpt ports
init serial
Found 2 serial ports
|0f763000| send_cmd : read error (status=51 err=04)
|0f766000| phys_alloc zone=0x0f773ed0 size=28 align=10 ret=f768460 (detail=0x0f768430)
|0f766000| phys_alloc zone=0x0f773ed0 size=4096 align=1000 ret=f75e000 (detail=0x0f768400)
/0f75e000\ Start thread
|0f763000| phys_alloc zone=0x0f773ed8 size=44 align=10 ret=f5fb0 (detail=0x0f7683d0)
|0f763000| phys_alloc zone=0x0f773ed0 size=80 align=10 ret=f768380 (detail=0x0f768350)
|0f763000| ata0-0: STI Flash 8.0.0 ATA-0 Hard-Disk (61 MiBytes)
|0f763000| Searching bootorder for: /pci at i0cf8/*@f,2/drive at 0/disk at 0
|0f763000| phys_alloc zone=0x0f773ed0 size=24 align=10 ret=f768330 (detail=0x0f768300)
|0f763000| Registering bootable: ata0-0: STI Flash 8.0.0 ATA-0 Hard-Disk (61 MiBytes) (type:2 prio:103 data:f5fb0)
|0f763000| ata_detect resetresult=0000
|0f763000| powerup iobase=1f0 st=50
|0f763000| powerup iobase=1f0 st=0
|0f763000| ata_detect ata0-1: sc=55 sn=aa dh=b0
|0f763000| send_cmd : DRQ not set (status 00)
\0f763000/ End thread
phys_free f763000 (detail=0x0f7686b0)
|0f766000| phys_alloc zone=0x0f773ed0 size=28 align=10 ret=f7686c0 (detail=0x0f7682d0)
|0f766000| phys_alloc zone=0x0f773ed0 size=4096 align=1000 ret=f763000 (detail=0x0f7682a0)
/0f763000\ Start thread
|0f764000| set_address 0x0f7689e0
|0f764000| ehci_alloc_async_pipe 0x0f7689e0 0
|0f764000| phys_alloc zone=0x0f773ed0 size=92 align=80 ret=f768200 (detail=0x0f768270)
|0f764000| ehci_send_pipe qh=0x0f768200 dir=0 data=0x00000000 size=0
|0f764000| ehci_alloc_async_pipe 0x0f7689e0 0
|0f764000| config_usb: 0x0f768250
|0f764000| ehci_send_pipe qh=0x0f768200 dir=128 data=0x0f764fb6 size=8
|0f764000| device rev=0200 cls=00 sub=00 proto=00 size=64
|0f764000| ehci_alloc_async_pipe 0x0f7689e0 0
|0f764000| ehci_send_pipe qh=0x0f768200 dir=128 data=0x0f764fc8 size=9
|0f764000| phys_alloc zone=0x0f773ed0 size=39 align=10 ret=f7681d0 (detail=0x0f7681a0)
|0f764000| ehci_send_pipe qh=0x0f768200 dir=128 data=0x0f7681d0 size=39
|0f764000| ehci_send_pipe qh=0x0f768200 dir=0 data=0x00000000 size=0
|0f764000| ehci_alloc_async_pipe 0x0f7689e0 2
|0f764000| phys_alloc zone=0x0f773ee0 size=92 align=80 ret=ecd80 (detail=0x0f768170)
|0f764000| ehci_alloc_async_pipe 0x0f7689e0 2
|0f764000| phys_alloc zone=0x0f773ee0 size=92 align=80 ret=ecd00 (detail=0x0f768140)
|0f764000| ehci_send_pipe qh=0x0f768200 dir=128 data=0x0f764fae size=1
|0f764000| phys_alloc zone=0x0f773ed8 size=48 align=10 ret=f5f80 (detail=0x0f768110)
|0f764000| Searching bootorder for: /pci at i0cf8/usb at f,5/storage at 2/*@0/*@0,0
|0f764000| Searching bootorder for: /pci at i0cf8/usb at f,5/usb-*@2
|0f764000| ehci_send_pipe qh=0x000ecd00 dir=0 data=0x0f764e81 size=31
|0f764000| ehci_send_pipe qh=0x000ecd80 dir=128 data=0x0f764f4c size=36
|0f764000| ehci_send_pipe qh=0x000ecd80 dir=128 data=0x0f764e74 size=13
|0f765000| phys_free f7687f0 (detail=0x0f7687c0)
\0f765000/ End thread
phys_free f765000 (detail=0x0f768790)
|0f75f000| phys_free f7684e0 (detail=0x0f7684b0)
\0f75f000/ End thread
phys_free f75f000 (detail=0x0f768480)
|0f761000| phys_free f768610 (detail=0x0f7685e0)
\0f761000/ End thread
phys_free f761000 (detail=0x0f7685b0)
|0f763000| phys_free f7686c0 (detail=0x0f7682d0)
\0f763000/ End thread
phys_free f763000 (detail=0x0f7682a0)
|0f75e000| phys_free f768460 (detail=0x0f768430)
\0f75e000/ End thread
phys_free f75e000 (detail=0x0f768400)
|0f760000| phys_free f768560 (detail=0x0f768530)
\0f760000/ End thread
phys_free f760000 (detail=0x0f768500)
|0f762000| phys_free f768690 (detail=0x0f768660)
\0f762000/ End thread
phys_free f762000 (detail=0x0f768630)
|0f766000| ohci_free_pipes 0x0f7688d0
|0f766000| phys_free f7b2e00 (detail=0x0f768840)
|0f766000| phys_free f7b2ff0 (detail=0x0f768810)
\0f766000/ End thread
phys_free f766000 (detail=0x0f768870)
|0f764000| WARNING - Timeout at ehci_wait_td:516!
|0f764000| ehci pipe=0x000ecd80 cur=00000000 tok=00000000 next=f764cc0 td=0x0f764cc0 status=d0d80
|0f764000| USB transmission failed
|0f764000| Unable to configure USB MSC drive.
|0f764000| phys_free f5f80 (detail=0x0f768110)
|0f764000| Unable to configure USB MSC device.
|0f764000| phys_free f7681d0 (detail=0x0f7681a0)
|0f764000| phys_free f768770 (detail=0x0f768740)
\0f764000/ End thread
phys_free f764000 (detail=0x0f768710)
|0f767000| ehci_free_pipes 0x0f7689e0
|0f767000| phys_free f768200 (detail=0x0f768270)
|0f767000| phys_free ecd00 (detail=0x0f768140)
|0f767000| phys_free ecd80 (detail=0x0f768170)
|0f767000| phys_free f7b3000 (detail=0x0f768950)
|0f767000| phys_free f7b2f80 (detail=0x0f768920)
|0f767000| phys_free f7b2f00 (detail=0x0f7688f0)
|0f767000| phys_free f7689e0 (detail=0x0f7689b0)
\0f767000/ End thread
phys_free f767000 (detail=0x0f768980)
All threads complete.
Scan for option roms
Attempting to init PCI bdf 00:01.0 (vd 1022:2080)
Attempting to map option rom on dev 00:01.0
Option rom sizing returned 0 0
Attempting to init PCI bdf 00:01.2 (vd 1022:2082)
Attempting to map option rom on dev 00:01.2
Option rom sizing returned 0 0
Attempting to init PCI bdf 00:09.0 (vd 1106:3053)
Attempting to map option rom on dev 00:09.0
Option rom sizing returned 0 0
Attempting to init PCI bdf 00:0b.0 (vd 1106:3053)
Attempting to map option rom on dev 00:0b.0
Option rom sizing returned 0 0
Attempting to init PCI bdf 00:0f.0 (vd 1022:2090)
Attempting to map option rom on dev 00:0f.0
Option rom sizing returned 0 0
Attempting to init PCI bdf 00:0f.2 (vd 1022:209a)
Attempting to map option rom on dev 00:0f.2
Option rom sizing returned 0 0

Press ESC for boot menu.


More information about the SeaBIOS mailing list