Date: Thu, 31 Oct 2013 07:12:32 -0700 From: Adrian Chadd <adrian@freebsd.org> To: Hans Petter Selasky <hps@bitfrost.no> Cc: "freebsd-usb@freebsd.org" <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: <CAJ-Vmo=_q9ohb-CEH8jX9c5ie9eSyWR=pQ=PQi2qgLKmeiB3BA@mail.gmail.com> In-Reply-To: <5272055D.5000609@bitfrost.no> References: <201310310100.r9V102Bw068142@freefall.freebsd.org> <5272055D.5000609@bitfrost.no>
next in thread | previous in thread | raw e-mail | index | archive | help
Cool, committed! I'll get it MFCed to 10 soon. Thanks! -a On 31 October 2013 00:23, Hans Petter Selasky <hps@bitfrost.no> wrote: > 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?CAJ-Vmo=_q9ohb-CEH8jX9c5ie9eSyWR=pQ=PQi2qgLKmeiB3BA>