Posts

Post not yet marked as solved
1 Replies
I was able to capture USB bus traffic showing the current over-limit condition Can someone verify that I am interpreting this XHC20 capture correctly? As you can see, the USB bus seems to be reporting an inbound bus over-current condition ( .... .... .... 1... = C_PORT_OVER_CURRENT: True ) and it is coming from Device location ID: 0x14114000 which (per System Information) is the Seagate Backup+HUB device per System Information app (see below). The condition continues irrespective of whether the Seagate external drive is connected directly to the mac or is connected through a powered hub ... it draws too much power regardless. So I am suspecting an internal hardware problem. But, I want to be sure I am interpreting the XHC20 capture correctly. Please advise. For anyone else facing this problem, roughly the steps you need are: (1) turn off system security [DO THIS WITH CAUTION!] by booting into recovery mod (cmd-R during power up), then in a terminal in recovery mode csrutil disable (2) reboot into normal OS and verify security is off csrutil status (3) download latest Wireshark (4) sudo ifconfig XHC20 up (5) capture the XHC20 interface and look for USB bus messages... Wireshark capture of XHC20 interface on Mac OS X BigSur: Frame 3292: 44 bytes on wire (352 bits), 44 bytes captured (352 bits) on interface XHC20, id 0 Interface id: 0 (XHC20) Encapsulation type: USB packets with Darwin (macOS, etc.) headers (182) Arrival Time: Feb 19, 2021 22:09:05.360353000 PST [Time shift for this packet: 0.000000000 seconds] Epoch Time: 1613801345.360353000 seconds [Time delta from previous captured frame: 0.000185000 seconds] [Time delta from previous displayed frame: 0.000185000 seconds] [Time since reference or first frame: 22.223360000 seconds] Frame Number: 3292 Frame Length: 44 bytes (352 bits) Capture Length: 44 bytes (352 bits) [Frame is marked: False] [Frame is ignored: False] [Protocols in frame: usb:usbhub] USB URB [Source: 17.17.0] [Destination: host] Darwin header bcdVersion: 0x0101 Darwin header length: 40 Request type: COMPLETE (1) I/O length [bytes]: 4 Request status: kIOReturnSuccess (0x00000000) Isochronous transfer number of frames: 0 I/O ID: 0x0000000000f5bef7 Device location ID: 0x14114000 Device speed: High (2) USB device index: 17 Endpoint address: 0x80 .... 0000 = Endpoint number: 0, Direction: IN.. .... = Direction: IN (1) .... 0000 = Endpoint number: 0 Endpoint transfer type: Control (0) [Request in: 3291] [Time from request: 0.000185000 seconds] [bInterfaceClass: Unknown (0xffff)] Port Status: 0x0000 .... .... .... ...0 = PORT_CONNECTION: False .... .... .... ..0. = PORT_ENABLE: False .... .... .... .0.. = PORT_SUSPEND: False .... .... .... 0... = PORT_OVER_CURRENT: False .... .... ...0 .... = PORT_RESET: False .... ...0 .... .... = PORT_POWER: False .... ..0. .... .... = PORT_LOW_SPEED: False .... .0.. .... .... = PORT_HIGH_SPEED: False .... 0... .... .... = PORT_TEST: False ...0 .... .... .... = PORT_INDICATOR: Default colors Port Change: 0x0008, C_PORT_OVER_CURRENT .... .... .... ...0 = C_PORT_CONNECTION: False .... .... .... ..0. = C_PORT_ENABLE: False .... .... .... .0.. = C_PORT_SUSPEND: False .... .... .... 1... = C_PORT_OVER_CURRENT: True .... .... ...0 .... = C_PORT_RESET: False Section of System Information app showing device IDs on the USB hub, pertaining to the Seagate external drive (see last stanza for 0x14114000): Hub: Product ID: 0x0209 Vendor ID: 0x045b (Renesas Electronics Corp.) Version: 1.00 Speed: Up to 480 Mb/s Location ID: 0x14100000 / 6 Current Available (mA): 500 Current Required (mA): 0 Extra Operating Current (mA): 0 Natural® Ergonomic Keyboard 4000: Product ID: 0x00db Vendor ID: 0x045e (Microsoft Corporation) Version: 1.73 Speed: Up to 1.5 Mb/s Manufacturer: Microsoft Location ID: 0x14140000 / 14 Current Available (mA): 500 Current Required (mA): 100 Extra Operating Current (mA): 0 Backup+ Hub: Product ID: 0xab44 Vendor ID: 0x0bc2 (Seagate LLC) Version: 48.85 Serial Number: 01CB8345B4FQ Speed: Up to 480 Mb/s Manufacturer: Seagate Location ID: 0x14130000 / 15 Current Available (mA): 500 Current Required (mA): 100 Extra Operating Current (mA): 0 Hub: Product ID: 0x0209 Vendor ID: 0x045b (Renesas Electronics Corp.) Version: 1.00 Speed: Up to 480 Mb/s Location ID: 0x14110000 / 13 Current Available (mA): 500 Current Required (mA): 0 Extra Operating Current (mA): 0 Backup+ Hub: Product ID: 0xab44 Vendor ID: 0x0bc2 (Seagate LLC) Version: 48.85 Serial Number: 01CB8333B0X4 Speed: Up to 480 Mb/s Manufacturer: Seagate Location ID: 0x14114000 / 17 Current Available (mA): 500 Current Required (mA): 100 Extra Operating Current (mA): 0
Post not yet marked as solved
11 Replies
This does work in BigSur, just make sure you reboot completely after doing csrutil disable in recovery mode. You can use csrutil status to inquire the status when not in recovery mode. Ultimately I'm trying to capture enough information to understand why I keep getting current over-limit warnings from external seagate self-powered drives connected through a powered USB Hub: [ 951.004175]: 000951.004174 AppleUSB30HubPort@14814300: AppleUSBHostPort::interruptOccurred: overcurrent detected with port status 0x4000, localSimulatedInterrupts = 0x1 [ 951.092063]: 000951.092062 AppleUSB20HubPort@14114300: AppleUSBHostPort::interruptOccurred: overcurrent detected with port status 0x0, localSimulatedInterrupts = 0x1