Opened 9 months ago

Last modified 9 months ago

#14968 new bug

XHCI: AllocateDevice() failed to enable slot

Reported by: oco Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Drivers/USB/XHCI Version: R1/Development
Keywords: boot-failure Cc: GregCrain
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

This USB key works fine on other computers (USB2).

The interesting thing is that is sometime work when booting after activating "debugging output" and "disabling paging". It was quite reliable yesterday, somewhat less today.

I have attached two traces :

  • one when it does not boot from the USB stick
  • another on the same machine booting from the stick but changing the partition in the boot menu to choose a main disk one. I was not able to boot the USB stick today despite activate the debug options in the boot menu. It has worked yesterday because the main disk installation was done this way after a successfull boot from the USB stick yesterday.

It is sometimes necessary to activate debug menu options for the main drive installation but it is globally more stable. This USB stick might be somewhat old and maybe slow.

Thanks for the good work on XHCI though : this laptop is closed to be perfectly supported now.

Attachments (2)

SYSLOG00_boot_problem.TXT (83.7 KB ) - added by oco 9 months ago.
SYSLOG01_ok.TXT (229.0 KB ) - added by oco 9 months ago.

Download all attachments as: .zip

Change History (7)

by oco, 9 months ago

Attachment: SYSLOG00_boot_problem.TXT added

by oco, 9 months ago

Attachment: SYSLOG01_ok.TXT added

comment:1 by waddlesplash, 9 months ago

In my own testing and GregCrain's, the lockups occur *only* on USB3 ports. USB2 ports also wired to XHCI work just fine.

There are some TODOs in ConfigureEndpoint about using the "endpoint companion descriptor" for USB3 devices that we need to implement; it's possible this is related.

comment:2 by waddlesplash, 9 months ago

Possibly related to #13792.

comment:3 by waddlesplash, 9 months ago

Cc: GregCrain added
Keywords: boot-failure added
Summary: PANIC: did not find any boot partitions! from USB Stick on an USB 3 machineXHCI: AllocateDevice() failed to enable slot

Hmm:

usb error xhci 0: unsuccessful command 9, error USB transaction (4)
usb error xhci 0: AllocateDevice() failed enable slot

I think GregCrain said he saw this?

comment:4 by GregCrain, 9 months ago

This is what happens on my system.

Booted from a Haiku SATA drive, and a USB3 external hard drive plugged into a XHCI port:

usb xhci 0: Set Address command[2] = 11 (0x000000000e241000, 0x00000000, 0x01002c00)

usb xhci 0: Ding Dong! slot:0 endpoint 0

usb xhci 0: Event Interrupt

event[6] = 33 (0x000000000e216d60 0x04000000 0x01008401)

HandleCmdComplete trb 0x810000a0

usb xhci 0: Received command event

usb error xhci 0: unsuccessful command 11, error USB transaction (4)

I looked at the command and the bits that are set for the SetAddress, and everything looks ok that I can tell. I haven't been able to determine yet why its failing, since previous commands all are ok.

comment:5 by waddlesplash, 9 months ago

"USB transaction" errors means there is a (usually broken) transaction state on the attached device which prevents this operation. In the case of occurring during boot, it may mean we have done the BIOS handoff incorrectly. So that should be investigated.

I seem to recall the spec had details on how to resolve this error, we simply do not even attempt it at present. So that should also be investigated...

Note: See TracTickets for help on using tickets.