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. |