libftdi Archives

Subject: Re: Claiming devices has no effect under Linux

From: Thomas Klose <thomas.klose@xxxxxxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Tue, 05 Oct 2010 19:38:50 +0200
Am Dienstag, den 05.10.2010, 19:24 +0200 schrieb Uwe Bonnes: 
> >>>>> "Thomas" == Thomas Klose <thomas.klose@xxxxxxxxxxxxx> writes:
> 
>     Thomas> Am Dienstag, den 05.10.2010, 18:14 +0200 schrieb Uwe Bonnes:
>     >> >>>>> "Uwe" == Uwe Bonnes <bon@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
>     >> writes:
>     >> 
>     >> >>>>> "Thomas" == Thomas Klose <thomas.klose@xxxxxxxxxxxxx> writes:
>     >> 
>     Uwe> In your situation, however it is wrong. Ideas how to handle that
>     Uwe> situation are welcome.
>     >>  To clarify the situation.  Device gets plugged, ftdi_sio gets
>     >> loaded.  First libftdi open calls libusb_detach_kernel_driver() and
>     >> gets access.  Second libftdi open calls calls again
>     >> libusb_detach_kernel_driver() and gets access too.
> 
>     Thomas> To be honest, I think tampering with the system's configuration
>     Thomas> by detaching device drivers seems a little drastic to me,
>     Thomas> especially if it is default behavior.
> 
>     Thomas> sio gets loaded because it is the driver for devices with a
>     Thomas> certain vendor and product id. If this is not wanted for a
>     Thomas> device, it should be set to another id.
> 
> But here you get in a chicken/egg problem. VID 0x403/PID 0x6001|6010 are the
> default FTDI VID/PID and ftdi_sio needs to be loaded for many devices on the
> market. However 0x403/PID 0x6001|6010 is also the default VID/PID of new
> FTDI devices you want to use for something else. So how do you program
> these to a diffent VID/PID?
> 
> With the ability to specify VID/PID/Product description and Serial string in
> libftdi, you also minimize the changes to "catch" a wrong device. 
> 
Setting an alternative PID is not a problem at all. You can download a
tool from FTDI's website to do it. In our experience there is also no
problem to get a reserved PID or even a PID range for a new kind of a
device.

If the producers of this devices don't do this, this is very bad and I
acknowledge that for some applications it is necessary than to
automatically detach the sio module for a device with a certain
description string. But this very dirty solution should not define the
default behavior of libftdi, should it?



--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread