I just started toying with a FTDI USB-Key on Linux, using libftdi and the
ftdi_eepropm utility. The kernel says it's an FT232RL chip on "dmesg".
Well, as a noob on this things, I tried to just replace the vendor, product and
serial strings, and had half success at that. The success was that the write
worked, but on the other hand it seems my settings broke the chip and it can't
be writen any more (although it works ok reading).
I attached a full dump of the broken device and a dump of a second device I have
for comparison.
It seems I wrote the eeprom for a "self powered" device instead of "bus powered"
one and the MaxPacketSize for the Input EP was zeroed.
The result is a device that can be read the same as before, but either erase or
write (although returning a success value) will just be ignored.
I tried the MProg program on windows to re-program the device but as soon as the
FTDI windows drivers load the system reboots. I still haven't tried the
FT_PROG utility because at the moment don't have a machine with .NET 2.0 installed.
Anyone know if/how I could fix this?
As I have a second device it's not that important the first one is recovered,
but I would like to know if I can recover from a second bad try.
Regards,
~Nuno Lucas
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx T: Bus=04 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 10 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0403 ProdID=6001 Rev= 6.00
S: Manufacturer=FTDI
S: Product=USB-Key
S: SerialNumber=FTRHR6IR
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 90mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
************** FIND ALL *****************
Number of FTDI devices found: 1
Device 0: Manufacturer: FTDI, Description: USB-Key, Serial: FTRHR6IR
************* GET CHIP ID ***************
FTDI chipid: 788DFECD (ret=0)
************* READ EEPROM ***************
EEPROM size=256 bytes (guessed):
00: 4008 0403 6001 0600 2D80 0008 0200 0A98 .@...`.. .-......
10: 10A2 12B2 AAAA 0001 030A 0046 0054 0044 ........ ..F.T.D.
20: 0049 0310 0055 0053 0042 002D 004B 0065 I...U.S. B.-.K.e.
30: 0079 0312 0046 0054 0052 0048 0052 0036 y...F.T. R.H.R.6.
40: 0049 0052 0302 0001 0000 0000 0000 0000 I.R..... ........
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 7121 ........ ......!q
80: 043E FBC1 0000 F67E 7014 0042 0000 0000 >.....~. .pB.....
90: 0000 0000 0000 0000 4137 5151 5052 3035 ........ 7AQQRP50
A0: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF ........ ........
B0: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF ........ ........
C0: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF ........ ........
D0: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF ........ ........
E0: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF ........ ........
F0: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF ........ ........
Bus 004 Device 010: ID 0403:6001 Future Technology Devices International, Ltd
FT232 USB-Serial (UART) IC
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0403 Future Technology Devices International, Ltd
idProduct 0x6001 FT232 USB-Serial (UART) IC
bcdDevice 6.00
iManufacturer 1 FTDI
iProduct 2 USB-Key
iSerial 3 FTRHR6IR
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 90mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2 USB-Key
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)
T: Bus=04 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 11 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0403 ProdID=6001 Rev= 6.00
S: Manufacturer=SDI
S: Product=ETLock
S: SerialNumber=12345678
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=81(I) Atr=02(Bulk) MxPS= 0 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
************** FIND ALL *****************
Number of FTDI devices found: 1
Device 0: Manufacturer: SDI, Description: ETLock, Serial: 12345678
************* GET CHIP ID ***************
FTDI chipid: 4BB4BCF9 (ret=0)
************* READ EEPROM ***************
EEPROM size=256 bytes (guessed):
00: 0000 0403 6001 0400 00C0 0008 0000 0894 .....`.. ........
10: 0E9C 12AA 0308 0053 0044 0049 030E 0045 ......S. D.I...E.
20: 0054 004C 006F 0063 006B 0312 0031 0032 T.L.o.c. k...1.2.
30: 0033 0034 0035 0036 0037 0038 0000 0000 3.4.5.6. 7.8.....
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 09D0 ........ ........
80: 0442 FBBD 0000 42DB 9017 0042 0000 0000 B......B ..B.....
90: 0000 0000 0000 0000 4139 5232 3851 3949 ........ 9A2RQ8I9
A0: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF ........ ........
B0: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF ........ ........
C0: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF ........ ........
D0: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF ........ ........
E0: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF ........ ........
F0: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF ........ ........
Bus 004 Device 011: ID 0403:6001 Future Technology Devices International, Ltd
FT232 USB-Serial (UART) IC
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0403 Future Technology Devices International, Ltd
idProduct 0x6001 FT232 USB-Serial (UART) IC
bcdDevice 6.00
iManufacturer 1 SDI
iProduct 2 ETLock
iSerial 3 12345678
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2 ETLock
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0000 1x 0 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0001
Self Powered
|