MacBook – 2015 13″ MacBook Pro Trackpad and Keyboard stop working

keyboardmacbook protrackpad

Recently the keyboard and trackpad on my 2015 13" MacBook Pro have stopped working. This is the second laptop to do this, the same issue happened about 6 months ago and Apple gave me a new one when they could not figure it out.

The issue usually starts with force touch not working then progresses to the keyboard and trackpad not being recognized at all. Currently the power button works and force touch works but all other keys and the trackpad don't work.

When this happens there are a lot of errors in the console regarding the AppleHSSPIController.

4/21/16 6:56:47.000 AM  kernel[0]   Error: AppleHSSPIDevice::start failed to get device descriptor
4/21/16 6:56:47.000 AM  kernel[0]   Error: AppleHSSPIController::_enumerateDevice Start failed
4/21/16 6:56:47.000 AM  kernel[0]   Error: AppleHSSPIController::_handleEnumerationFailureGated Giving up on device

You can see the full log here: http://pastebin.com/r8x9S46K

Best Answer

Since I ran into the same problem and this comes up on Google, I will provide an answer, even if there is no question.

  • When my keyboard and touchpad stopped working, the power button was still ok.
  • Resetting NVRAM did not help.
  • Using an external keyboard and mouse was fine.

Typing sudo dmesg | tail on the command line was showing similar messages:

AppleHSSPIController::_enqueueSPICommandGated SPICommand timed out. Interface 208, transactionType 64, frameNumber 0
Error: AppleHSSPIDevice::_DoDescriptorRequestGated Failed issue request error: 0xe00002ed
Error: AppleHSSPIDevice::getDeviceDescriptor Failed to get descriptor with error 0xe00002ed
Error: AppleHSSPIDevice::start failed to get device descriptor
Error: AppleHSSPIController::_enumerateDevice Start failed
Error: AppleHSSPIController::_handleEnumerationFailureGated Failed to enumerate the device. Resetting the device and trying to enumerate again. Attempt:1
IO80211AWDLPeerManager::setAwdlOperatingMode Setting the AWDL operation mode from AUTO to SUSPENDED
IO80211AWDLPeerManager::setAwdlSuspendedMode() Suspending AWDL, enterQuietMode(true)
AppleIntelLpssGspi1::calcSpiClockParams: fSysClockPeriodPsec 10000, spiClockPeriodNsec 125
Error: AppleHSSPIController::doSPITransfer ERR received from device

I brought it to the local Apple support partner. They first tried it by updating the touchpad controller software. Since that did not work either, they changed the HSSPI cable.