On Thu, Aug 27, 2015 at 03:47:02AM +0000, Zheng Bao wrote:
Fist time: Power up, SeaGate USB hard drive can be detected. ------------------------------------------------------ start SeaBIOS (version rel-1.8.0-0-g4c59f5d-dirty-20150826_232532-supersrv)
[...]
----------------------------------------------------------------------------- end
Second time: Press reset button. The SeaGate USB3 hard drive can not be detected. --------------------------------------------------------------------------------- start SeaBIOS (version rel-1.8.0-0-g4c59f5d-dirty-20150826_232532-supersrv)
[...]
|aff4a000| xhci_alloc_pipe: usbdev 0xaff4f520, ring 0xaff9e100, slotid 0, epid 1 |aff4a000| xhci_cmd_enable_slot: |aff4a000| xhci_trb_queue: ring 0xaff9ed00 [nidx 1, len 0] |aff4a000| xhci_process_events: status change port #5 |aff4a000| xhci_process_events: status change port #1 |aff4a000| xhci_process_events: status change port #5 |aff4a000| xhci_process_events: ring 0xaff9ed00 [trb 0xaff9ed00, evt 0xaff9ee00, type 33, eidx 1, cc 1] |aff4a000| xhci_alloc_pipe: enable slot: got slotid 1 |aff4a000| xhci_cmd_address_device: slotid 1 |aff4a000| xhci_trb_queue: ring 0xaff9ed00 [nidx 2, len 0] |aff4a000| xhci_process_events: ring 0xaff9ed00 [trb 0xaff9ed10, evt 0xaff9ee00, type 33, eidx 2, cc 4] |aff4a000| xhci_alloc_pipe: address device: failed (cc 4) \aff4a000/ End thread
A cc=4 is a "USB Transaction Error". So, it looks like the device is being quirky.
Is it possible you could try different types of USB3 drives in this machine?
Ideally, SeaBIOS would have generic USB retry logic to try and handle weird errors like this. It's a bit of work to implement that though.
-Kevin