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 <adr...@freebsd.org>
To: Mike Meyer <m...@mired.org>
Cc: "bug-follo...@freebsd.org" <bug-follo...@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
_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"