[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87sj5vszrv.fsf@nemi.mork.no>
Date: Mon, 21 Jan 2013 09:31:32 +0100
From: Bjørn Mork <bjorn@...k.no>
To: Alexey Orishko <alexey.orishko@...il.com>
Cc: Oliver Neukum <oliver@...kum.org>, netdev@...r.kernel.org,
linux-usb@...r.kernel.org, Greg Suarez <gsuarez@...thmicro.com>,
Alexey Orishko <alexey.orishko@...ricsson.com>
Subject: Re: [PATCH net] net: cdc_ncm: workaround for missing CDC Union
Alexey Orishko <alexey.orishko@...il.com> writes:
> On Fri, Jan 18, 2013 at 10:17 PM, Bjørn Mork <bjorn@...k.no> wrote:
>
>>>> Some Sierra Wireless firmwares support CDC MBIM but have no CDC
>>>> Union funtional descriptor. This violates the MBIM specification,
>
> I don't believe Sierra Wireless violates MBIM specification.
> See in the specification: "there are two ways to group interfaces: the
> WHCM Union functional descriptor and IAD."
I disagree. This is not about the WHCM Union descriptor, it's about the
CDC Union descriptor. WHCM is of course not mandatory.
Quoting that whole section from the MBIM specification:
<quote>
6.1 OVERVIEW
A USB MBIM function is implemented as a USB CDC function with two
interfaces. Functions shall provide a CDC Union functional descriptor
to group these two interfaces. See [USBWMC11].
A Communication Class interface, with class 02h and subclass 0Eh, and
a Data Class interface combine to form a single functional unit
representing the USB MBIM device. The Communication Class interface
includes a single endpoint for event notification; it also uses the
device’s default pipe for control messages. The Data Class interface
includes two bulk endpoints for data traffic.
There are two ways to group interfaces: the WHCM Union Functional
Descriptor (see [USBWMC11]) and the IAD. Devices may also provide an
IAD. If an IAD is provided, the information in the IAD for MBIM
functions shall be consistent with the information in the CDC Union
descriptor and Communication Class interface descriptor.
</quote>
The "Functions shall provide a CDC Union functional descriptor to group
these two interfaces." is pretty clear IMHO. You also have table 6‐2
listing the HEADER, UNION and MBIM functional descriptors as "Required".
There is absolutely not way to make this anything but a firmware bug.
But I am all for working around it, of course. There also seems to be a
couple more oddities with the MBIM mode of this device compared to the
other I've seen, but those are more likely revealing driver bugs. I
intend to fix them as well.
Bjørn
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists