El mar, 19-04-2005 a las 16:08, Serdar KOYLU escribi�: [...] > > The reader works fine with Linux kernel 2.4 but > does not with Linux> kernel 2.6. > The ioctl() syscall returns EINVAL (Invalid argument)
There is a problem in kernel 2.6: USB specs says that bulk transfer are not allowed in low speed usb devices. Buggy firmware on several CCID devices use this scheme, consequently fails in 2.6.x kernel :-( You should try attached patch in kernel. Its for 2.6.6, but AFAIK will work in any newer kernel version. Tested in 2.6.9_FC3 with LTC31 USB card reader Regards Juan Antonio -- Jonsy (teleline) <[EMAIL PROTECTED]> Teleline
diff -Naur kernel-source-2.6.6_old/drivers/usb/host/uhci-hcd.c kernel-source-2.6.6/drivers/usb/host/uhci-hcd.c
--- kernel-source-2.6.6_old/drivers/usb/host/uhci-hcd.c 2004-05-10 14:21:42.000000000 +0200
+++ kernel-source-2.6.6/drivers/usb/host/uhci-hcd.c 2004-09-22 12:51:45.000000000 +0200
@@ -1141,10 +1141,6 @@
{
int ret;
- /* Can't have low-speed bulk transfers */
- if (urb->dev->speed == USB_SPEED_LOW)
- return -EINVAL;
-
ret = uhci_submit_common(uhci, urb, eurb, uhci->skel_bulk_qh);
if (ret == -EINPROGRESS)
uhci_inc_fsbr(uhci, urb);
signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente
_______________________________________________ Muscle mailing list [email protected] http://lists.drizzle.com/mailman/listinfo/muscle
