[haiku-bugs] Re: [Haiku] #13343: QEMU XHCI Devices not bootable

  • From: "kallisti5" <trac@xxxxxxxxxxxx>
  • Date: Fri, 24 Feb 2017 22:23:38 -0000

#13343: QEMU XHCI Devices not bootable
--------------------------------+----------------------------
   Reporter:  kallisti5         |      Owner:  nobody
       Type:  bug               |     Status:  new
   Priority:  high              |  Milestone:  Unscheduled
  Component:  Drivers/USB/XHCI  |    Version:  R1/Development
 Resolution:                    |   Keywords:
 Blocked By:                    |   Blocking:  12895
Has a Patch:  0                 |   Platform:  All
--------------------------------+----------------------------

Comment (by kallisti5):

 After looking at this for a while, I think part of the issue is the
 SetAddress fails:

 {{{
 usb xhci -1: Set Address
 usb xhci -1: command[4] = b (0x00000000066bb000, 0x00000000, 0x02002c00)
 usb xhci -1: Ding Dong! slot:0 endpoint 0
 2055@1487952628.192117:usb_xhci_doorbell_write off 0x0000, val 0x00000000
 2055@1487952628.192123:usb_xhci_fetch_trb addr 00000000064fed80,
 CR_ADDRESS_DEVICE, p 00000000066bb000, s 00000000, c 0x02002c01
 2055@1487952628.192131:usb_xhci_slot_address slotid 2, port 1
 2055@1487952628.192136:usb_xhci_queue_event v 0, idx 7,
 ER_COMMAND_COMPLETE, CC_TRB_ERROR, p 00000000064fed80, s 05000000, c
 0x02008401
 2055@1487952628.192141:usb_xhci_irq_msi nr 0
 2055@1487952628.192147:usb_xhci_fetch_trb addr 00000000064fed90,
 TRB_RESERVED, p 0000000000000000, s 00000000, c 0x00000000
 2055@1487952628.192161:usb_xhci_oper_read off 0x0004, ret 0x00000008
 2055@1487952628.192172:usb_xhci_runtime_read off 0x0020, ret 0x00000003
 2055@1487952628.192183:usb_xhci_oper_write off 0x0004, val 0x00000008
 2055@1487952628.192194:usb_xhci_runtime_write off 0x0020, val 0x00000003
 usb xhci -1: Event Interrupt
 usb xhci -1: event[7] = 33 (0x00000000064fed80 0x05000000 0x02008401)
 usb xhci -1: event[7] = 33 (0x00000000064fed80 0x05000000 0x02008401)
 usb xhci -1: Received command event
 usb xhci -1: event[8] = 0 (0x0000000000000000 0x00000000 0x00000000)
 2055@1487952628.196027:usb_xhci_runtime_write off 0x0038, val 0x064fe0c8
 2055@1487952628.196037:usb_xhci_runtime_write off 0x003c, val 0x00000000
 2055@1487952628.196066:usb_xhci_doorbell_read off 0x0000, ret 0x00000000
 usb xhci -1: Command Complete
 usb error xhci -1: unsuccessful command TRB (5)
 usb xhci -1: Storing trb 0x05000000 0x02008401
 usb error xhci -1: unable to set address
 usb xhci roothub: request: 1
 usb xhci roothub: clear feature: 1
 }}}

 SetAddress() only gets called once and fails with an CC_TRB_ERROR from the
 XHCI host controller.

--
Ticket URL: <https://dev.haiku-os.org/ticket/13343#comment:10>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: