FreeCalypso > hg > fc-usbser-tools
view doc/CP2102-EEPROM-tools @ 101:ba741a1af0e3
doc/CP2102-EEPROM-tools: article started
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 28 Sep 2023 06:35:39 +0000 |
parents | |
children | 4f72e09fb698 |
line wrap: on
line source
The present package includes a set of command line tools for reading and modifying the EEPROM content of Silabs CP2102 USB-serial adapters. These tools have been developed because: * CP2102 adapters hold significance in FreeCalypso family of projects: it is the most common USB-serial chip in cables that connect from USB to the headset jack serial port of Motorola C1xx and Openmoko GTA01/02 phones, and the same chip also appears inside the legendary Pirelli DP-L10 phone. * Classic CP2102 (as opposed to CP2102N) requires EEPROM reprogramming to switch between 230400/460800/921600 and 203125/406250/812500 baud rates. * The original Python tools that were once popularized via OsmocomBB wiki are an enormous pain for those of us who aren't interested in Python view of the world, plus dependency hell. The present tools support only classic CP2102, not CP2102N or CP2105. The latter chips aren't supported because: * CP2102N does not remap baud rates like classic CP2102, hence the primary reason for having to delve into EEPROM configuration is eliminated; * CP2105 cannot be casually programmed at all because it is OTP, and I am not in the business of designing ZIF socket fixtures for tiny QFN packages and burning through sacrificial chips. Basic usage =========== If have a CP2102-25 USB to headset jack cable from Sysmocom, or some other CP2102 adapter at the default USB ID 10C4:EA60, you can check its current baud rate configuration by running: cp2102-read-baudtab Without any options, this command will look for a connected CP2102 device at the default USB ID, read out its EEPROM and dump its 32-entry baud rate table. Looking at this printed table, you can immediately tell if your adapter is currently configured for 230400/460800/921600 or for 203125/406250/812500 baud. To program the EEPROM for GSM baud rates (203125/406250/812500 bps), run this command: cp2102-update-eeprom -b gsm To program the EEPROM for "standard" baud rates (230400/460800/921600 bps), run this command: cp2102-update-eeprom -b std After this programming operation, unplug and replug the USB device - see Replug-after-EEPROM-write article for more info.