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);

Attachment: 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

Reply via email to