FreeCalypso > hg > fc-usbser-tools
annotate doc/DUART28-EEPROM-manual @ 68:5cbde3c80c24
fteeprom-{erase,prog}: detach logic: change to detach by default
As it turns out, detaching all ttyUSB interfaces of a multichannel device
does not require outside knowledge of how many channels there are, as in
our previous -d option design that is being removed here - instead we can
read the bNumInterfaces constant from the USB device's config descriptor
and thus know how many interfaces there are in total. Based on this
discovery, change the design of fteeprom-{erase,prog} as follows:
* remove -d option;
* flip the default to where we detach all interfaces by default;
* add -n option to NOT detach any interfaces.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 13 Sep 2023 06:37:03 +0000 |
parents | dbaf239436cf |
children |
rev | line source |
---|---|
43
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
1 The new user-friendly (or fool-proof) way to examine and change DUART28 adapter |
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
2 configuration is fc-duart28-conf utility described in the DUART28-EEPROM-config |
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
3 article. The present article describes the older method that existed before |
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
4 fc-duart28-conf, and which is used for initial factory programming. |
34
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 Determining your current DUART28 config |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 ======================================= |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 Connect the USB cable between your DUART28 board and your Linux host, and |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 observe dmesg output. If your DUART28 board is in the C configuration, it will |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 present as USB ID 0403:7152, and if it is in the S config, it will present as |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 USB ID 0403:6010. You can also see these USB IDs with lsusb. The product ID |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 string is also programmed as "DUART28C" or "DUART28S". |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 Converting from DUART28S to DUART28C |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 ==================================== |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 |
43
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
18 If your DUART28 board is currently in the S config (or if you messed it up and |
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
19 have a blank or corrupt EEPROM), its USB ID will be 0403:6010, which is the |
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
20 default ID for FTDI's two-channel FT2232x family. Because it is the standard |
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
21 default, there are plenty of other gadgets using the same ID - thus you need to |
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
22 ensure that you have no other USB devices with the same ID connected to your |
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
23 system during the reprogramming operation. Run lsusb and ensure that you see |
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
24 only one USB device with ID 0403:6010. Ensure that this one device really is |
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
25 your DUART28 board: unplug that USB cable and make sure that the device |
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
26 disappears, plug it back in and make sure that it reappears. |
34
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 One you have confirmed that you won't inadvertently hit some other FT2232x |
43
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
29 device, execute the actual programming command, which is a shell pipeline: |
34
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 |
43
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
31 ftee-gen2232c duart28c $Serial | fteeprom-prog i:0x0403:0x6010 |
34
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 (See FTDI-EEPROM-tools article for other ways to specify the target device to |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 fteeprom-prog.) |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 Replace the $Serial metavariable with the 3-digit serial number of your DUART28 |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 adapter board as it appears on the factory serial number sticker. |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 After this operation completes successfully, unplug and replug the USB cable |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 between the DUART28 board and your host - the adapter should now show up with |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 USB ID 0403:7152. |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 Converting from DUART28C to DUART28S |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 ==================================== |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 If your DUART28 board is currently in the C config, its USB ID will be |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 0403:7152, which is a private ID that belongs to us and should not be used by |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 other parties. The reverse conversion command is as follows: |
f5fbcf1ff032
doc: initial import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 |
43
dbaf239436cf
doc/DUART28-EEPROM-config: update for fc-duart28-conf
Mychaela Falconia <falcon@freecalypso.org>
parents:
34
diff
changeset
|
50 ftee-gen2232c duart28s $Serial | fteeprom-prog i:0x0403:0x7152 |