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