FreeCalypso > hg > fc-usbser-tools
view artifacts/flyswatter1 @ 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 | 9ca4f9fa415b |
children |
line wrap: on
line source
# The original Flyswatter (aka Flyswatter1) by TinCanTools is an # FT2232D-based buffered JTAG + UART adapter. It has a 93C56 EEPROM # in which a custom set of textual ID strings have been programmed, # but the USB ID is still 0403:6010 (FT2232x default and signifying # a dual UART), causing the bogosity whereby the Linux kernel creates # two ttyUSB devices for both FT2232D channels, for the first out of # that pair to subsequently disappear when OpenOCD runs and starts # accessing Channel A for MPSSE JTAG via libusb. # # What follows is a dump of the EEPROM made from the FS1 board I managed # to score on ebay; given that the serial number string is set to "FS000000", # I am going to assume that the factory programming was the same on all # units, without unique serial numbers. 00: 0000 0403 6010 0500 6480 0008 0200 1896 10: 16AE 12C4 0056 0000 0000 0000 0000 0000 20: 0000 0000 0000 0000 0000 0000 0000 0000 30: 0000 0000 0000 0000 0000 0000 0000 0000 40: 0000 0000 0000 0000 0000 0000 0000 0000 50: 0000 0000 0000 0000 0000 0000 0000 0000 60: 0000 0000 0000 0000 0000 0000 0000 0000 70: 0000 0000 0000 0000 0000 0000 0000 0000 80: 0000 0000 0000 0000 0000 0000 0000 0000 90: 0000 0000 0000 0318 0054 0069 006E 0043 A0: 0061 006E 0054 006F 006F 006C 0073 0316 B0: 0046 006C 0079 0073 0077 0061 0074 0074 C0: 0065 0072 0312 0046 0053 0030 0030 0030 D0: 0030 0030 0030 0302 0000 0000 0000 0000 E0: 0000 0000 0000 0000 0000 0000 0000 0000 F0: 0000 0000 0000 0000 0000 0000 0000 8317