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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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.