carrotIndustries / usbkvm

Keyboard, video and mouse over USB
67 stars 2 forks source link

24Cxx EEPROM size and contents #2

Open G33KatWork opened 4 months ago

G33KatWork commented 4 months ago

Hi,

I want to build my own USBKVM. The BOM isn't clear on how big the 24Cxx EEPROM is supposed to be as the metadata in the Horizon project just says "24Cxx SOIC8" and not an exact part number. The part number isn't exactly readable either on the PCB image due to JPEG artifacts.

Also I guess it contains the firmware for the MS2109 that I need to dump from a USB/HDMI adapter and then write into the EEPROM? Or does the device work with just the ROM code as well?

carrotIndustries commented 4 months ago

Will update the schematics in the coming days and add some flashing instructions.

It's a 16kBit eeprom and you need to program it with that file https://github.com/carrotIndustries/usbkvm/blob/main/hw/usbkvm/eep-usbkvm.bin using the cli from ms-tools: cli write-file EEPROM 0 eep-usbkvm.bin

It's the EEPROM contents from the capture stick I ordered for testing, modified with the "MS21XX&91XXDownloadTool_1.7.0" to set the device string to "USBKVM". With the EEPROM contents I have it also shows color bars rather than a black screen when there's no input signal.

There's still a lot to be reverse-engineered about the MS2109.

G33KatWork commented 4 months ago

Thanks!

I totally missed the bin file when looking around.

G33KatWork commented 4 months ago

Okay, next question: Q1 in the USBKVM pro is again only a generic N-Channel MOSFET instead of an explicit part. Which one is it exactly?

edit: And I assume the three (!) I2C EEPROM on the pro are all the same 16KBit EEPROMs?

carrotIndustries commented 4 months ago

Which one is it exactly?

2N7002, anything comparable will do.

edit: And I assume the three (!) I2C EEPROM on the pro are all the same 16KBit EEPROMs?

The EEPROM for the MS9288C isn't required as I haven't found any info about what to put in it and the chip works fine without it.

For the VGA EDID eeprom, a 2kBit EEPROM would work as well, but I'm using a 16k one to keep the BOM shorter.