usb/183505: [usb] Arduino Leonardo exposes three interface descriptors but no modem is attached to the first one (bInterfaceSubClass=2)
Hans Petter Selasky
hps at bitfrost.no
Thu Oct 31 07:21:59 UTC 2013
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 at freebsd.org>
> To: Mike Meyer <mwm at mired.org>
> Cc: "bug-followup at freebsd.org" <bug-followup at 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 at 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
More information about the freebsd-usb
mailing list