FreeCalypso > hg > fc-usbser-tools
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 100:29bff463402e | 101:ba741a1af0e3 |
|---|---|
| 1 The present package includes a set of command line tools for reading and | |
| 2 modifying the EEPROM content of Silabs CP2102 USB-serial adapters. These tools | |
| 3 have been developed because: | |
| 4 | |
| 5 * CP2102 adapters hold significance in FreeCalypso family of projects: it is | |
| 6 the most common USB-serial chip in cables that connect from USB to the headset | |
| 7 jack serial port of Motorola C1xx and Openmoko GTA01/02 phones, and the same | |
| 8 chip also appears inside the legendary Pirelli DP-L10 phone. | |
| 9 | |
| 10 * Classic CP2102 (as opposed to CP2102N) requires EEPROM reprogramming to switch | |
| 11 between 230400/460800/921600 and 203125/406250/812500 baud rates. | |
| 12 | |
| 13 * The original Python tools that were once popularized via OsmocomBB wiki are | |
| 14 an enormous pain for those of us who aren't interested in Python view of the | |
| 15 world, plus dependency hell. | |
| 16 | |
| 17 The present tools support only classic CP2102, not CP2102N or CP2105. The | |
| 18 latter chips aren't supported because: | |
| 19 | |
| 20 * CP2102N does not remap baud rates like classic CP2102, hence the primary | |
| 21 reason for having to delve into EEPROM configuration is eliminated; | |
| 22 | |
| 23 * CP2105 cannot be casually programmed at all because it is OTP, and I am not | |
| 24 in the business of designing ZIF socket fixtures for tiny QFN packages and | |
| 25 burning through sacrificial chips. | |
| 26 | |
| 27 Basic usage | |
| 28 =========== | |
| 29 | |
| 30 If have a CP2102-25 USB to headset jack cable from Sysmocom, or some other | |
| 31 CP2102 adapter at the default USB ID 10C4:EA60, you can check its current baud | |
| 32 rate configuration by running: | |
| 33 | |
| 34 cp2102-read-baudtab | |
| 35 | |
| 36 Without any options, this command will look for a connected CP2102 device at | |
| 37 the default USB ID, read out its EEPROM and dump its 32-entry baud rate table. | |
| 38 Looking at this printed table, you can immediately tell if your adapter is | |
| 39 currently configured for 230400/460800/921600 or for 203125/406250/812500 baud. | |
| 40 | |
| 41 To program the EEPROM for GSM baud rates (203125/406250/812500 bps), run this | |
| 42 command: | |
| 43 | |
| 44 cp2102-update-eeprom -b gsm | |
| 45 | |
| 46 To program the EEPROM for "standard" baud rates (230400/460800/921600 bps), run | |
| 47 this command: | |
| 48 | |
| 49 cp2102-update-eeprom -b std | |
| 50 | |
| 51 After this programming operation, unplug and replug the USB device - see | |
| 52 Replug-after-EEPROM-write article for more info. |
