Sierra MC7354

Bjørn Mork bjorn at mork.no
Tue Mar 11 06:02:43 PDT 2014


szlin <lin.sunze at gmail.com> writes:

> This module is embedded in a device.
> Single QMI configuration with one QMI interface - /dev/cdc-wdm0 (I
> think it is weird?)

No AT command functions?  Well, it isn't that weird really.  It's
probably tuned for whatever application it is intended for, and if they
only needed QMI then it makes sense to hide everything else.

The problem of course, is that we don't know how to change the
configuration from QMI.  Presumably you'll need to switch into
bootloader mode and change some NVRAM variable, but that's well into
undocumented vendor specific magic land.

> By the way, I have tried kernel 3.2(port from 3.4)  & 3.12, both are
> failed. (port 3.13 need a lot of effort.)

OK, there is no need to put a lot of effort into 3.13 just yet.  I have
no reasons to believe it is going to behave any better.

Try adding some debugging output to the 3.12 driver instead to try to
figure out where it goes wrong.

What we know is:
 - At some point wdm_in_callback() is called with urb->status == -EPIPE.
 - the pending wdm_read() sees desc->rerr being non-zero (-EPIPE) and
   returns -EIO to userspace

But something goes wrong somewhere after this. Interesting stuff to
check out is
 - the device state kept by the driver (flags, length, reslength, rerr
   etc),
 - whether the driver attempts to submit the read URB again and the
   result of this,
 - +++?

I do suspect that that the -EPIPE is caused by something not related to
the driver (i.e. device firmware or host controller driver), but the
driver should survive it. I will try to simulate the error, but I don't
really know if I am able to recreate similar conditions so you are
definitely in a better position to debug this..

> my suspection is - MC7354 module should have more than one interface,
> and I am working on it.

Try Sierra support for that if you can.  They will know how to enable
other modes, if it is supported.


Bjørn


More information about the libqmi-devel mailing list