Uwe Bonnes wrote:
> >>>>> "Paul" == Paul Fox <pgf@xxxxxxxxxxxxxxxxxxxx> writes:
>
> Paul> i've been out of the loop for a while, and i'm hoping this problem
> Paul> has been solved.
>
> Paul> i use a flash programmer that's based on the MPSSE engine of an
> Paul> ft4232h -- it uses the ft2232_spi.c driver in flashrom. i also
> Paul> use USB-to-serial converters (often two at a time) that are
> Paul> ftdi-based.
>
> Paul> if i'm using the serial converters, i can't then use the
> Paul> programmer -- i get an error due to conflict with the kernel
> Paul> ftdi_sio module. in practice, i plug the programmer into one
> Paul> laptop, and the serial modules into another, and ssh between them,
> Paul> but that's a fairly heavyweight workaround.
>
> Paul> is there a way, using API calls from either libftdi or libusb,
> Paul> that i can tell the kernel driver to not take ownership of my
> Paul> ftdi-based programmer?
>
> Multiple devices without different name are doomed for failure. libftdi
> allows to open a device with product and/or serial string. Look at the recent
> "ftdi_usb_open_dev & ftdi_set_baudrate" thread. ft2232_spi.c and flashrom
> need to provide a way to specify these names. Look at examples/eeprom.c or
> how (sourceforge/svn) xc3prog handles this.
>
> If your flash programmer doesn't provide a product/serial string, program
> them with MPROG, by adapting examples/eeprom.c or with ftdi_eeprom. If the
> flash-programmer doesn't provide the EEPROM, use the default string,
> something like "Dual RS232" depending on chip type. If the other device also
> has no EEPROM, you are wrecked...
That's a more general issue with working with multiple devices.
Regarding Paul's specific question about kernel module conflicts,
libftdi should detach the ftdi_sio kernel driver already -- look for
usb_detach_kernel_driver_np in the source. You might need to be
running as root for that to work properly.
-jim
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx
|