All of lore.kernel.org
 help / color / mirror / Atom feed
* cdc_acm bug? read buffer bytes shifted
@ 2016-08-20  3:40 Julio Guerra
       [not found] ` <2c59e268-9fd6-172b-1803-074aa4e11f27-wf23HAOg02MWenYVfaLwtA@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Julio Guerra @ 2016-08-20  3:40 UTC (permalink / raw)
  To: linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-serial-u79uwXL29TY76Z2rM5mHXA

Hi,

I have noticed a problem using a usb device managed by the cdc_acm
driver. The data received from the device and copied to userspace ends
up being shifted by one byte again and again after some amount of calls
to read() and most importantly with previously read data. usbmon shows
the usb data payload is correct.

A small shell script is enough to make it happen fastly:
https://gist.github.com/Julio-Guerra/b6529994f814771c825649bdb8d927c2

It prints the buffer read with my device (a relay) and gives me things like:
> 00 01 01 01 00 01 00 01
...
> 01 00 01 01 01 00 01 00
...
> 00 01 00 01 01 01 00 01
after a random number of times, while usbmon shows the usb payload
"00 01 01 01 00 01 00 01"


Another example:
> 00 00 00 00 00 00 00 01
...
> 01 00 00 00 00 00 00 00
...
> 00 01 00 00 00 00 00 00
...
> 00 00 01 00 00 00 00 00
after a random number of times, while usbmon shows the usb payload
"00 00 00 00 00 00 00 01".

Any idea?

I currently use versions 4.5.0 and 4.7.1 to execute this script.

Thanks you

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-09-20  8:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-20  3:40 cdc_acm bug? read buffer bytes shifted Julio Guerra
     [not found] ` <2c59e268-9fd6-172b-1803-074aa4e11f27-wf23HAOg02MWenYVfaLwtA@public.gmane.org>
2016-08-20 11:32   ` Oliver Neukum
     [not found]     ` <1471692758.29854.0.camel-IBi9RG/b67k@public.gmane.org>
2016-08-20 12:14       ` Julio Guerra
     [not found]         ` <4bffb2dd-de01-8819-cf44-c4fb1357ecd4-wf23HAOg02MWenYVfaLwtA@public.gmane.org>
2016-08-21 12:11           ` Julio Guerra
2016-08-22 14:04           ` Oliver Neukum
     [not found]             ` <1471874667.17783.19.camel-IBi9RG/b67k@public.gmane.org>
2016-09-16 16:24               ` Julio Guerra
     [not found]                 ` <f97a97ee-4d22-145c-5f73-472ee4f03968-wf23HAOg02MWenYVfaLwtA@public.gmane.org>
2016-09-20  8:45                   ` Oliver Neukum

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.