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