kasparsd / samson-c01u-pro-firmware

8 stars 5 forks source link

Firmware incompatibility with the new version of the microphone #2

Open Samsonkin opened 3 years ago

Samsonkin commented 3 years ago

Hello! I found a problem and decided it was best to report it so you could add a note to the instructions.

  1. I flashed the microphone with this firmware according to the instructions. (CM6500_Headset_Samson_C01U_Pro-0109.bin)
  2. After the reboot, the microphone stopped showing signs of life. The operating system does not detect the device in any way, even as unknown. The led doesn't shine.
  3. I took the microphone apart and saw the chip CM6500B there. I assumed that the firmware for this version of the microphone is incorrect.
  4. I read the CM6500B datasheet and realized that the chip next to it contains an EEPROM file. (24C32E)
  5. Then, using the ch341a programmer and a clip, I tried to read the firmware from the chip. But it didn't work, I had to solder and pull out the chip.
  6. I found the firmware for my version by pulling it from the CM6500B_Samson_FWUpdateTool.exe file. To do this, I opened this file using the 7zip archiver and further searched for suitable files in the size of 4 KB. http://www.samsontech.com/site_media/support/downloads/Q2U_automatic_firmware_update_2.zip http://www.samsontech.com/support/samson/products/c01upro/
  7. Then I flashed the chip. I soldered it back and the microphone started working.

Perhaps someone will encounter a similar problem and this instruction will help them to remove the device from the brick state. :-)

kasparsd commented 3 years ago

@Samsonkin That ZIP file appears to be for the Q2U microphone instead of C01U. Can you please confirm which microphone you were using?

I'm seeing Q2U references in the binaries so I'm not sure they're suitable for the C01U version:

firmware-diff

Samsonkin commented 3 years ago

@kasparsd See here https://drive.google.com/drive/folders/1VWU9LdHN1_Dbz8pVQXzLOQNQ1XBow60j

http://www.samsontech.com/support/samson/products/c01upro/ Why does the Samson c01u pro microphone page contain Q2U firmware? Did this firmware accidentally fit my microphone?

In any case, this happened. Before the experiments, I checked the firmware of the chip and it corresponded to this CM6500_Headset_Samson_C01U_Pro-0109.bin. This confirmed the idea that this firmware is incompatible with my microphone.

If you have a channel of communication with the microphone developers, I would appreciate clarifying the issue.

wharjack commented 1 year ago

This is scary, glad I read it

darksoud12 commented 1 year ago

@Samsonkin I have the same problem. can you please explain to me how you pulled the firmware file from CM6500B_Samson_FWUpdateTool.exe , or throw it off.

darksoud12 commented 1 year ago

I see here 4 bin files with a size of 4 KB each. which one did you take exactly?

samsontech-info commented 1 year ago

Here's some background info to hopefully prevent future problems:

The only difference between 0109 and 0110 is that 0110 has a reduced max gain, for some production runs that had higher analog gain. They are no different from versions 0107 and 0108:

None of these are "upgrades" or bug fixes, and customers should not try to modify the firmware on C01U Pro unless told to by customer service. If you have firmware 0x0107, for instance, just keep it; there is no benefit to the "higher" versions. The only purpose of the C01U Pro "firmware update" tool was for customer service to send to customers to reduce the max gain on those specific devices.

Also, as you've discovered, CM6500_ firmware is not compatible with the newer CM6500B hardware, and vice versa. There are no firmware updates for the CM6500B hardware: 0x0201 is the latest and only firmware version.

If you've bricked a mic by burning the wrong chip's firmware, you'll have to take it apart to fix it:

  1. Short out the EEPROM pins 5 and 7 (with tweezers or the like), so the USB chip can't read from the EEPROM
  2. Plug in the mic
  3. It should show up as if it had a blank EEPROM (VendorID 0x0d8c)
  4. Connect the Config65XX.exe software tool to that VID and PID.
  5. Remove the short from the EEPROM pins so the chips can communicate again
  6. Burn the correct firmware (0201 for CM6500B or 0109 for CM6500)
  7. Unplug, replug

You can identify CM6500 vs CM6500B by looking at the chip or with a descriptor dump:

Q2U does have a firmware update that fixes a bug. (C01U Pro never had this bug.) It is available at Q2U Firmware Update and will automatically detect CM6500 vs CM6500B and burn the correct firmware. (It should also fix Q2Us with blank/corrupted EEPROMs, so don't use it with a C01U Pro.)