problem with Sierra MC7750 (and a workaround)
Bjørn Mork
bjorn at mork.no
Thu Sep 26 23:49:46 PDT 2013
Heath Kehoe <heath at digitalartefacts.com> writes:
> I was trying to get an MC7750-based USB modem working with libqmi. The
> kernel modules sierra and qmi_wwan are loaded when the device is
> connected; I can use qmi-network to start the data connection, and
> everything seems to work except there's no data flow. No packets get
> sent or received.
>
> Turns out the problem is that the modem needs to be explicitly told to
> use QMI_CTL_DATA_LINK_PROTOCOL_802_3 via CtlSetDataFormat. And since
> qmicli basically uses the default flags to qmi_device_open, libqmi
> doesn't send a CtlSetDataFormat.
>
> As a quick-and-dirty workaround, I hacked qmicli.c to add
> QMI_DEVICE_OPEN_FLAGS_NET_802_3 and
> QMI_DEVICE_OPEN_FLAGS_NET_NO_QOS_HEADER to open_flags. With that
> change, the MC7750 works.
>
> I was thinking I could extend qmicli.c to add a new option to be able
> to set those flags. Something like:
>
> --device-open-net=<mode> where mode is:
> "en" : 802_3 + NO_QOS_HEADER
> "eq" : 802_3 + QOS_HEADER
> "rn" : RAW_IP + NO_QOS_HEADER
> "rq" : RAW_IP + QOS_HEADER
>
> If the option is not given, the behavior will be like it is now (no
> flags, which means no CtlSetDataFormat is sent).
>
> Thoughts?
Adding the option, indluding the ability to not send CtlSetDataFormat at
all, seems like a very good idea to me.
But I wonder if maybe the default should be set to "802_3 +
NO_QOS_HEADER"? That's the only mode currently supported by the driver,
and I don't see any immediate change coming up. So this is most likely
to just Make Stuff Work. Unless there is some buggy device which barfs
on this command, of course. But I haven't heard of that yet, and as you
note: MM will send this command on open.
Bjørn
More information about the libqmi-devel
mailing list