Date: Thu, 31 Oct 2013 08:23:09 +0100 From: Hans Petter Selasky <hps@bitfrost.no> To: Adrian Chadd <adrian@freebsd.org> Cc: freebsd-usb@FreeBSD.org Subject: Re: usb/183505: [usb] Arduino Leonardo exposes three interface descriptors but no modem is attached to the first one (bInterfaceSubClass=2) Message-ID: <5272055D.5000609@bitfrost.no> In-Reply-To: <201310310100.r9V102Bw068142@freefall.freebsd.org> References: <201310310100.r9V102Bw068142@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 10/31/13 02:00, Adrian Chadd wrote: > The following reply was made to PR usb/183505; it has been noted by GNATS. > > From: Adrian Chadd <adrian@freebsd.org> > To: Mike Meyer <mwm@mired.org> > Cc: "bug-followup@freebsd.org" <bug-followup@freebsd.org> > Subject: Re: usb/183505: [usb] Arduino Leonardo exposes three interface > descriptors but no modem is attached to the first one (bInterfaceSubClass=2) > Date: Wed, 30 Oct 2013 17:59:49 -0700 > > Gah, browser stupidity. > > Here's the real one: > > adrian@lucy-11i386:~/work/freebsd/head/src % svn diff sys/dev/usb > Index: sys/dev/usb/serial/umodem.c > =================================================================== > --- sys/dev/usb/serial/umodem.c (revision 257371) > +++ sys/dev/usb/serial/umodem.c (working copy) > @@ -128,6 +128,9 @@ > {USB_IFACE_CLASS(UICLASS_CDC), > USB_IFACE_SUBCLASS(UISUBCLASS_ABSTRACT_CONTROL_MODEL), > USB_IFACE_PROTOCOL(UIPROTO_CDC_AT)}, > + {USB_IFACE_CLASS(UICLASS_CDC), > + USB_IFACE_SUBCLASS(UISUBCLASS_ABSTRACT_CONTROL_MODEL), > + USB_IFACE_PROTOCOL(UIPROTO_CDC_NONE)}, > /* Huawei Modem class match */ > {USB_IFACE_CLASS(UICLASS_CDC), > USB_IFACE_SUBCLASS(UISUBCLASS_ABSTRACT_CONTROL_MODEL), > Index: sys/dev/usb/usb.h > =================================================================== > --- sys/dev/usb/usb.h (revision 257371) > +++ sys/dev/usb/usb.h (working copy) > @@ -441,6 +441,7 @@ > #define UISUBCLASS_ETHERNET_EMULATION_MODEL 12 > #define UISUBCLASS_NETWORK_CONTROL_MODEL 13 > > +#define UIPROTO_CDC_NONE 0 > #define UIPROTO_CDC_AT 1 > > #define UICLASS_HID 0x03 > > The USB 1.1 specification states that CDC=0 is just "no command > structure over the line", versus CDC=1 which says "AT commands". > > This is enough to make the Leonardo work fine. > > Thanks to everyone else who fixed the USB protocol mis-behvaiour! > > > > -adrian This patch is fine by me. --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5272055D.5000609>