tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Forcing a USB device to "ugen"
I have a device based on the FTDI FT2232C:
[ 11113285.311079] uftdi1 at uhub1 port 2 configuration 1 interface 0
[ 11113285.311079] uftdi1: SecuringHardware.com (0x0403) Tigard V1.1 (0x6010), rev 2.00/7.00, addr 3
[ 11113285.311079] ucom1 at uftdi1 portno 1
[ 11113285.311079] uftdi2 at uhub1 port 2 configuration 1 interface 1
[ 11113285.311079] uftdi2: SecuringHardware.com (0x0403) Tigard V1.1 (0x6010), rev 2.00/7.00, addr 3
[ 11113285.311079] ucom2 at uftdi2 portno 2
It's a combo device that, in addition to a standard TTL-level UART, has a bunch of break-out headers for doing things like SPI, SWD, and JTAG (in my case, I need to use JTAG for programming some Atmel CPLDs). I should be able to do this with OpenOCD (pkgsrc/devel/openocd), but libfdti1 fails to find the device because libusb1 only deals in "ugen".
"ugenif" might have been a possible solution here, except for the fact that 0x0403,0x6010 is the standard VID,PID for the FTDI FT2232C, and I don't want "interface 1" of ALL FT2232C devices to get the "ugen" treatment. The desire to use "ugen" on "interface 1" is not a property of 0x0403,0x6010, it's really a property of "SecuringHardware.com","Tigard V1.1". Unfortunately, there's isn't a way to express that in the kernel config syntax.
I think my only short-term option here is to, in uftdi_match(), specifically reject based on this criteria:
- VID == 0x0403
- PID == 0x6010
- interface number == 1
- vendor string == "SecuringHardware.com"
- product string == "Tigard V1.1"
(It's never useful, on this particular board, to use the second port as a UART.)
-- thorpej
Home |
Main Index |
Thread Index |
Old Index