This is a guide to repairing a Logitech H390 Headset which has stopped working and is now appearing on your computer as a “Lync Audio Device”, as well as a bit of a teardown and backstory. Click here to go straight to the guide.
Backstory
As the company I work for has offices internationally, video conference calls make up the majority of meetings. As a result, most employees are issued with headsets to enable them to participate. The headsets in question are the Logitech H390. Quality wise, these headsets are decent, but they seem to have a terrible flaw where they can spontaneously quit working.
Although I’m not entirely sure what is the trigger for these devices to brick, I first ran into this issue about 3 years ago. I was using my H390 on a Mac, after rebooting the machine for an update, I found the headset was no longer working. The red LED on the mute button was very dim, and whilst the microphone still worked, there was no output on the headphone portion.
Thinking it was a software issue, I looked at the sound properties on OS X (macOS) and discovered my headset had had a change of identity. It was no longer a “Logitech Headset H390” but now a “Lync Audio Device”. A bit of googling at the time resulted in a number of complaints of people in similar situations from all sorts of systems, here are some recent examples:
Windows: https://community.logitech.com/s/question/0D55A00006wSy0sSAC/logitech-h390-not-working-correctly
Windows: https://www.reddit.com/r/techsupport/comments/59lqge/logitech_h390_headset_stopped_working_appears_in/
macOS: https://discussions.apple.com/thread/7581907
Linux: https://bbs.archlinux.org/viewtopic.php?id=226300
In all cases, the “fix” was to replace the headset. Which at the time, is what I did. (Well, not me, the company, of course)
Last week, I had another one of these headsets pull the same trick. This time, I was convinced there was nothing physically wrong with the headset, and that there must be a way to repair it. After all, I’m a firm believer of repairing rather than replacing.
Teardown
The first thing, of course, was finding out what made the headset tick. I figured the best place to look was the large plastic block on the USB connector. There were no screws holding it together, so I guessed it must be ultrasonically sealed. After putting it in the vice of persuasion, the two halves cracked open revealing the guts of the device.
There are two chips that interest us here. The first being the microcontroller:
The brains of the unit is a C-Media CM6502 Audio Sound Chip. This is a fairly common chip used in headsets, speakers, and USB soundcards. It’s a USB 2.0 Full Speed compliant device which supports the USB Audio Class 1.0 which allows for plug and play compatibility on most systems.
I acquired a copy of the datasheet and looking through it, I spotted the following:
Connects to an external EEPROM memory for firmware codes
Provides maximum HW configuration flexibility with firmware code upgrade
VID/PID/Product String can be customized via firmware code programming
As the headset originally had a different VID/PID, we can conclude that an EEPROM must be present. Looking around the board again, another chip stands out:
This is indeed an EEPROM. This one was manufactured by Giantec Semiconductor and is a 32K EEPROM. I, again, found the datasheet for it, and discovered that the chip can be reprogrammed as the write protect pin doesn’t appear to be connected to anything.
Dealing with the vendor
First thing I did, armed with this information, was contact Logitech. I wasn’t holding out much hope, but sent them the following message:
Subject: Logitech Support: USB Headset H390
Hi, I’m currently experiencing a common issue with an H390 headset in that it’s stopped identifying itself as a “Logitech Headset H390” (046d:0a44) and instead, a “Lync Audio Device” (0d8c:0170). In the past, I’ve seen posts on the official Logitech forum suggesting the headset needs replacing. After a bit of digging I’m under the impression that these devices don’t need replacing, and just the ability to flash the correct firmware to the headsets EEPROM chip.
The main IC of the headset is a C-Media CM6502 Full Speed USB Audio Sound Chip, which – according to the datasheet – “Connects to an external EEPROM memory for firmware codes”, “Provides maximum HW configuration flexibility with firmware code upgrade”, “VID/PID/Product String can be customized via firmware code programming”.
The EEPROM chip is a Giantec Semiconductor Inc. GT24C32A 2-Wire 32K Bits Serial EEPROM. Which according to the datasheet, has a Write Protect Pin (Pin 7) which if left unconnected, allows the EEPROM to be written. In the case of the H390 headset, this Pin is, in fact, disconnected. I believe this has given the CM6502 chip the ability to corrupt the EEPROM.
C-Media don’t provide the tools to interact with their ICs on their website, so I’m hoping someone at Logitech would be able to provide me with the tools to restore functionality to my H390 (as well as the few dozen identical headsets which have suffered the same fate at my place of work).
I eagerly await your response.
Kind regards,
Robert
Unsurprisingly, Logitech’s customer support was unable to help:
Unfortunately at the moment we do not have a tool which would help you resolving this problem.
However we thank you for the feedback and detailed explanation. It will be taken into consideration.
This then lead me to think outside the box for a resolution.
Going solo
After a bit of research, I discovered that, although C-Media doesn’t provide the configuration tools for their chips on their website, the utilities do, in fact, exist. A post on another blog shows a tool for a different chip (the CM6631A) being used to modify the firmware to unlock features. A bit more research took me to a Chinese operated website which contained the source code for the firmware for a different headset with the same CM6502 chip as the Logitech H390.
The firmware didn’t include the software required to write the firmware, but there was a Korean PowerPoint presentation which included some screenshots of a tool called “CM65xx Configuration Tool”, so it was back to the Internet to attempt to track down this software.
This leads me to another Chinese website which hosted the tool. The next thing to do was to acquire the original firmware to flash to the EEPROM. This wasn’t too difficult, as the tool allows you to dump the firmware off the headset, and as I happened to have another, fully functional, H390 with me, I extracted the firmware from that.
After flashing the extracted firmware to the broken headset, upon plugging the unit back in, the mute button LED lit up and the device was, once again, detected as a “Logitech Headset H390”.
The guide
DISCLAIMER: This tutorial has been prepared in good faith in that it may help other users of the Logitech H390 Headset. This guide is published without warranties and flashing the firmware found on this page on your device is done so at your own risk. I (Robert Ian Hawdon) can’t be held responsible for damages caused by the software available here.
If your device is having the same issue, you should be able to restore its functionality by doing the following:
1, Firstly, you’ll need to download the following files:
Download: CM65xx Configuration Tool(2.0.15.1210).zip (md5sum: 7da8d55d3a519a754e6d746eb7aadfe9)
Download: LogiTech H390 EEPROM.bin (md5sum: 4056f435353419b9606663b7c570461d)
2, Extract the configuration tool from the zip file.
3, Plug in your headset.
4, Launch the tool, the following should appear:
5, At the bottom, fill out the following: EEPROM Type: S24C32 VID: 0D8C PID: 0170
6, Click Connect.
7, Then click the FILE -> EEPROM button.
8, Select the LogiTech H390 EEPROM.bin file you downloaded above.
9, Once complete, disconnect and reconnect the headset.
It should now be detected as a Logitech H390 Headset once again, and function like it used to.
Conclusion
I’d love to think that there’s a bug in the CM6502 chip which causes the EEPROM to become corrupt, and not a clever ploy to get users to purchase new headsets by artificially rendering perfectly good devices as obsolete. It does seem a bit odd that the EEPROM chips are wired in with their write protection pin disconnected though. Of course, this could be intended, as Logitech may be flashing the firmware to the EEPROM once the whole unit has been assembled.
This, of course, means it’s fairly simple for the end user to repair their devices if they can get a hold of the tooling required to do so. With movements such as the Right to Repair are gaining momentum, I hope this pushes the manufacturers of devices to start supporting end users keeping their devices working for longer, whilst cutting down on e-waste.
Until then, though, I hope this post helps others repair their headsets.
Finally, this tool appears to be able to change a bunch of different options including the EQ settings of the headset. I haven’t touched those settings as I’m quite happy with how the H390 performs out of the box, but options are there if anyone feels like experimenting.
Cheers.