lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 1 Jul 2009 12:56:46 +0200
From:	Oliver Neukum <oliver@...kum.org>
To:	Arseniy Lartsev <ars3n@...dex.ru>
Cc:	Alan Stern <stern@...land.harvard.edu>,
	USB list <linux-usb@...r.kernel.org>,
	linux-kernel@...r.kernel.org
Subject: Re: PROBLEM: USB ACM device does not work

Am Mittwoch, 1. Juli 2009 11:01:06 schrieb Arseniy Lartsev:
> On Wednesday 01 July 2009 01:01:00 Alan Stern wrote:
> > This looks like your problem.  Low-speed devices are not allowed to
> > have bulk endpoints.  Linux internally changes them to interrupt
> > endpoints with interval = 1 and maxpacket size no larger than 8.
>
> Maybe this device is a little "buggy". But Linux should support buggy
> devices as well.

Yes, it should. We just needed to understand why it failed.


> +		ep = (usb_pipein(acm->rx_endpoint) ? acm->dev->ep_in : acm->dev->ep_out)
> +				[usb_pipeendpoint(acm->rx_endpoint)];
> +		if (usb_endpoint_xfer_int(&ep->desc))
> +			usb_fill_int_urb(rcv->urb, acm->dev,
> +					 acm->rx_endpoint,
> +					 buf->base,
> +					 acm->readsize,
> +					 acm_read_bulk, rcv, 0xff);

The patch is good except for this.
We should make sure this interval matches usbcore's value.
Would you care to redo it with that change?

	Regards
		Oliver

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ