Re: FT323RL, ftdi_sio: bogus endpoint?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 27, 2011 at 11:07 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> On Sun, 26 Jun 2011, Xiaofan Chen wrote:
>
>> On Sun, Mar 2, 2008 at 11:02 AM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
>> > On Sat, 1 Mar 2008, Greg KH wrote:
>> >
>> >> > > > In the SnoopyPro dump of the windows driver, the SELECT_CONFIGURATION call
>> >> > > > has MaximumPacketSize = 0x40, the same for both pipes.  As a software
>> >> > > > workaround, would it be safe to modify the usb_endpoint_descriptor for the
>> >> > > > device inside the ftdi_sio driver?
>> >> > >
>> >> > > Hm, what a hack :(
>> >> >
>> >> > The USB core already contains similar hacks.  Provided the descriptor
>> >> > is changed before any URBs are submitted to the endpoint, there
>> >> > shouldn't be any trouble.
>> >>
>> >> Should we create a new "quirk" for this kind of thing?  PCI has logic
>> >> that supports fixing up the device before any driver gets ahold of it, I
>> >> don't see why we couldn't do the same for USB.
>> >
>> > We could.  Or we might not even need a special flag; the core could
>> > automatically fix up invalid bulk maxpacket values.  For high speed the
>> > maxpacket must be 512; for full speed it can be either 8, 16, 32, or
>> > 64.  Setting it to 64 would be a reasonable default.
>> >
>>
>> I know this is an old thread but there is just a discussion on this
>> topic in the libftdi mailing list. The OP there has such a device with
>> wMaxPacketSize=0 for EP1 IN (should be 0x40).
>> http://comments.gmane.org/gmane.comp.hardware.libftdi.general/1369
>>
>> As per this thread ( http://marc.info/?t=120423246300011&r=1&w=2 ),
>> there is supposed to be a patch but I could not find such a patch.
>
> It's worth noting that the solution proposed in that thread (having the
> USB serial driver fix the invalid maxpacket value) won't work if the
> device is plugged into a USB-3 port.  Not without extra help.

Thanks. I think maybe it is not worth to fix in the kernel in this case.

> The easiest solution might be to replace the buggy, non-compliant
> devices.

Yes that is the fix in the end. It turns out to be a bug in older version
of libftdi to cause EEPROM corruption.
http://permalink.gmane.org/gmane.comp.hardware.libftdi.general/1377


-- 
Xiaofan
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux