MacBook – ports on 2014 MacBook Pro keep dying

macbook prothunderboltusb

I got a new mid-2014 Retina MacBook Pro about a month ago, and am running into a problem with the Thunderbolt and USB ports. At seemingly random times, but at least once a day, the ports become nonfunctional and I have to restart the computer to use them again. Here's how I'm using the ports:

  • Left-side USB: I have 2-4 tablets and phones connected through a powered hub. I've tried two different hubs and two different cables going to the hub, but that hasn't helped. When the problem occurs, the phones and tablets still receive power through USB, but can no longer sync with the computer. They no longer appear in apps like iTunes or iPhoto, and Xcode and Android Studio can't connect to them.

  • Thunderbolt, next to the USB: I switch between a FireWire 800 drive and an Ethernet cable, connected with Apple's FireWire and Ethernet adapters. I've tried two different FireWire drives and two different FireWire cables. When the problem occurs, the light on the FireWire drive turns on, but the drive doesn't mount and Drive Utility can't see it. When I have the Ethernet connected, the Network control panel shows the Thunderbolt Ethernet status as Cable Unplugged.

  • Thunderbolt, next to the power: I have an external display connected with a Mini DisplayPort cable. When the problem occurs, the display is unaffected.

  • Right-side USB: I usually don't use this port, but sometimes I have a tablet connected directly there and it is still working when the problem occurs. However, if I then unplug the USB hub from the left side and move it to the right side, one of two things will happen: 1) the right-side port will go to the same state as the left side, with no ability to see devices, even if I switch back to the single device that was connected before, or 2) all keyboard and mouse input will stop — the built-in keyboard and trackpad, and an Apple Bluetooth keyboard and trackpad. At that point, the cursor will be frozen on the screen and the caps lock key will not light up when pressed, but the power key still invokes the sleep/restart/shutdown dialog.

I've searched Google and the Apple discussion forums and haven't found any other reports of this … plenty of USB ports dying permanently, but not temporarily until a restart. I've also checked the console log, but haven't seen anything that seems relevant. I've been trying to notice what action triggers the problem, but I haven't been able to determine that yet.

I'm running Mac OS 10.9.5 … perhaps the 10.10 upgrade would solve it, but I'm not eager to adjust to a new OS since I've had to spend lots of time adjusting to the new computer this month.

Does anyone have an idea of why this happens, or any additional troubleshooting I can do? Also, is there any way to restart just the part of the OS that manages these ports, without restarting the whole computer?

Update with a couple clues

My USB ports were working when I finished work last night, and put my MacBook Pro to sleep by selecting Sleep in the Apple menu (leaving the screen open). When I came in to work this morning, the MBP was awake, and the USB ports weren't working. I checked the console from the time I put it to sleep and found these messages that seem to show it waking right back up again:

11/21/14 5:01:40.000 AM kernel[0]: AppleCamIn::systemWakeCall - messageType = 0xE0000340
11/21/14 5:01:40.000 AM kernel[0]: AppleThunderboltNHIType2::waitForOk2Go2Sx - retries = 43
11/21/14 5:01:43.000 AM kernel[0]: Wake reason: EC.DarkPME (Maintenance)
11/21/14 5:01:43.000 AM kernel[0]: AppleCamIn::systemWakeCall - messageType = 0xE0000340
11/21/14 5:01:43.000 AM kernel[0]: AppleCamIn::wakeEventHandlerThread
11/21/14 5:01:43.000 AM kernel[0]: Previous Sleep Cause: 5
11/21/14 5:01:43.000 AM kernel[0]: IOPPF: Sent gpu-internal-single-slice-plimit-notification last value 0 (rounded time weighted average 0)
11/21/14 5:01:43.000 AM kernel[0]: IOPPF: Sent gpu-internal-plimit-notification last value 0 (rounded time weighted average 0)
11/21/14 5:01:43.000 AM kernel[0]: AppleThunderboltNHI::prePCIWake - power up complete - took 0 us
11/21/14 5:01:43.000 AM kernel[0]: IOThunderboltSwitch<0xffffff8036012400>(0x0)::listenerCallback - Thunderbolt HPD packet for route = 0x0 port = 12 unplug = 0
11/21/14 5:01:43.000 AM kernel[0]: TBT W (2): 0x0001 [√]
11/21/14 5:01:43.000 AM kernel[0]: **** [IOBluetoothHostControllerUSBTransport][SuspendDevice] -- Resume -- suspendDeviceCallResult = 0x0000 (kIOReturnSuccess) -- 0xcc00 ****
11/21/14 5:01:43.000 AM kernel[0]: IOThunderboltSwitch<0xffffff8036012400>(0x0)::listenerCallback - Thunderbolt HPD packet for route = 0x0 port = 3 unplug = 0
11/21/14 5:01:43.000 AM kernel[0]: ARPT: 61054.632953: si_survive_perst_war: bar0win before 18003000, bar0win after 18001000
11/21/14 5:01:43.000 AM kernel[0]: ARPT: 61054.636742: pcicore_pci_pmeclr PMECSR : 0x4008
11/21/14 5:01:43.000 AM kernel[0]: ARPT: 61054.636751: pcicore_pmestatclr PMECSR : 0x4008
11/21/14 5:01:43.000 AM kernel[0]: ARPT: 61054.636897: pcicore_pci_pmeclr PMECSR : 0x4008
11/21/14 5:01:43.000 AM kernel[0]: AppleUSBMultitouchDriver::checkStatus - received Status Packet, Payload 2: device was reinitialized
11/21/14 5:01:43.293 AM hidd[90]: MultitouchHID: device bootloaded
11/21/14 5:01:43.000 AM kernel[0]: en0: BSSID changed to 40:8b:07:c0:a3:94
11/21/14 5:01:43.000 AM kernel[0]: AppleThunderboltHAL::earlyWake - complete - took 479 milliseconds

I also have tons of these, but they also occur when USB is working, so I don't know if they're related. I Googled that and found that it has to do with iTunes trying to sync with my iPhone, which had a working USB connection at the time:

11/21/14 5:01:43.007 AM com.apple.usbmuxd[65]: DeviceRequestAsync failed: 0xe0004057

I also have a couple of these, which seems relevant:

11/21/14 5:02:35.000 AM kernel[0]: AppleUSBHub::setPowerState(0x82758cc542ea13c3, 2 -> 4) timed out after 42242 ms

Then this morning, after I noticed USB wasn't working again, I tried sleeping and waking the computer and found that it would not go to sleep. And then these lines appear in the console:

11/21/14 11:23:54.000 AM kernel[0]: AppleSMC: bad busy count (255,1)
11/21/14 11:23:54.000 AM kernel[0]: Backtrace 0xffffff8000692d5e 0xffffff800069477c 0xffffff7f810ca780 0xffffff80006cd7b2 0xffffff80002b29ef 0xffffff8000226bc1 0xffffff80002139c5
11/21/14 11:23:54.000 AM kernel[0]: Kernel Extensions in backtrace:
11/21/14 11:23:54.000 AM kernel[0]: com.apple.driver.AppleSMC(3.1.8)[6FA91D9F-0745-3E0C-884B-CB1489A21F25]@0xffffff7f954c3000->0xffffff7f954d5fff
11/21/14 11:23:54.000 AM kernel[0]: dependency: com.apple.iokit.IOACPIFamily(1.4)[045D5D6F-AD1E-36DB-A249-A346E2B48E54]@0xffffff7f954b0000
11/21/14 11:23:54.000 AM kernel[0]: AppleSMC: bad busy count (255,1)
11/21/14 11:24:20.000 AM kernel[0]: USBF:    83510.168    AppleUSBHubPort: Port 1 of Hub at 0x14000000 about to terminate a busy device (USB2.0 Hub) after waiting 10 seconds

So, it seems that the internal USB hub has crashed, which prevents the computer from sleeping. It also suggests that trying to sleep the computer is what crashed it in the first place, but I'll do more testing with that. First, I need to restart again. While I'm doing that, I'll try a hardware test and an SMC reset, since one of the log entries mentioned an SMC error.

Update from Genius Bar

I spent about two hours trying to replicate the issue before taking my computer to the Genius Bar, but I couldn't. I'm pretty sure the problem is related to sleeping the computer, but it only happens when I haven't noticed exactly what triggered it. Anyway, the Mac Genius said it was not a hardware problem since it always works again after a restart. He theorized that one of my USB devices caused some garbage to be written to the computer hard drive, which breaks the USB functionality, but gets cleared out after a restart. He ran fsck -fy as a possible fix, and then I went home, hopeful that would do the job.

Unfortunately, that changed for the worse. Now my computer sometimes loses its USB ports when sleeping, and sometimes restarts itself when sleeping. The restart is something I've never seen before. I put the computer to sleep, then when I wake it up later, it takes a long time for the screen to turn on, and when it does, I'm at the login screen. When I log in, I see all my saved application states opening and I see the "you restarted because of a problem…" message. It's weird because I don't see a kernel panic screen or hear the startup chime. The crash log that appears in the "you restarted" dialog is titled "Sleep Wake Failure."

I can't tell if that's another symptom of the same problem, or a different problem entirely. In the short term, I've found that if I always unplug my USB devices before sleeping the computer, there's no problem. In the long term, I'll do more research on "Sleep Wake Failure," starting with this long thread, and then maybe try an Erase and Install.

Best Answer

I took my December 2014 Retina MacBook Pro into the Apple Store with the problem but they couldn't reproduce it in the store and asked that I come back with a device that demonstrates the problem. That evening, I spent some time at the office and at home trying to reproduce the problem while capturing it on video. I was able to reproduce it with a DAS Keyboard, Logitech Mouse, a Dell Keyboard and a Dell Mouse (via USB port).

I brought the system and two devices into the store but I started out offering to show them one of the videos. The Genius Bar Tech watched one and agreed to replace the logic board. It's at the Apple Store now and I expect to get it back sometime next week. This problem is most intermittent - it took a fair number of tries to get it to show up these couple of times.

https://www.youtube.com/watch?v=FmQPl2DaUrc

https://www.youtube.com/watch?v=XxG0loDpes8

EDIT:
I got my system back with the new logic board and the problem is still there. I think that I'm just going to live with it as it's typically cleared up with a plug/unplug and reboot. If it becomes a hassle, then I'll get a port hub, either Thunderbolt or USB 3.0.

It appears that this is a problem in currently shipping product. Hopefully they will eventually fix it.