Author Topic: Repair Corsair K95 RGB mechanical keyboard  (Read 1914 times)

0 Members and 1 Guest are viewing this topic.

Offline MystikReasonsTopic starter

  • Newbie
  • Posts: 1
  • Country: ch
Repair Corsair K95 RGB mechanical keyboard
« on: June 14, 2020, 01:51:00 pm »
Hi friends

Currently I'm repairing my brothers corsair K95 RGB keyboard, which is being recognized by windows but with an error.

Backstory:
My brothers girlfriend has shut down his PC at least two times by plugging the cable out of the outlet.
Also he spilled a drink over it, but he told me that it was still working afterwards.

Observations
Firstly I checked if the keyboard is being recognized by Windows itself.
Windows did show the device, but with an orange marking on it and it wasn't being shown as a keyboard. (see attached pictures).
The error message under the tab "device status" is "STATUS_DEVICE_DATA_ERROR - Code 10".

Afterwards I decided to take a closer look to the data being transmitted on the UBS Bus with an logic analyzer from Saleae.
As seen in the screenshot there is quite a lot of communication going on. So I decided to dig a little bit deeper.
The slave is acknowleding the device descriptor id but afterwards its not acknowleding any packets which are being sent until it timeouts.
That leads me to the conclusion, that something could be wrong with the microcontroller itself.

So I thought replacing the microcontroller and flashing it with the old firmware could bring it back to life again. I really wasn't sure if maybe the Flash itself
has been damaged or something else in the microcontroller but I gave it a shot.
I connected my Segger J-Link to the microcontroller and connected to it via SWD. It seems that the Flash isn't protected (CRP) as SWD would have been disabled.
Then I simply read out the flash as a .bin file, soldered the "faulty" uC out and replaced it with a brand new one and flashed it with the old firmware.

As I connected the keyboard with my laptop windows was setting up the device with the name "K95" and told me a few seconds later it can be used now.
So I opened up the ICUE software from corsair to check if the keyboard is being recognized but the software couldn't find anything.
After checking in the device manager the device had again the same orange marking on it like in the beginning

What do you think the problem could be?

PS: If someone wants the whole USB saleae transmit, I could upload it.
« Last Edit: June 14, 2020, 01:54:07 pm by MystikReasons »
 

Offline TheMG

  • Frequent Contributor
  • **
  • Posts: 867
  • Country: ca
Re: Repair Corsair K95 RGB mechanical keyboard
« Reply #1 on: June 14, 2020, 03:47:29 pm »
Did you thoroughly inspect both sides of the PCB for corrosion and other gunk resulting from the liquid spill? Sometimes problems don't occur right away, but later on as the liquid causes traces and solder joints to slowly corrode over time.

I wouldn't expect improperly powering off the computer would do anything to a keyboard, after all, they are meant to be hot-pluggable and most people don't have their computer powered from a UPS so it would be subjected to any sudden power outages that might occur. Unless there was a firmware update being uploaded to the keyboard at the time that the computer was suddenly powered off, if that's even a thing for this keyboard?

Anyways, I would suspect one of two things is happening:

A) Liquid-caused damage is present somewhere on the PCB and is causing the errors.

or

B) Somehow the firmware in the MCU is corrupted, and you've essentially just copied the same corrupt firmware onto the new MCU. This does not necessarily have anything to do with either the powering off or the liquid spill, I've seen a few occasions of MCU flash memory going corrupt seemingly out of the blue with no explanation.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf