problem with Sierra MC7750 (and a workaround)

Heath Kehoe heath at digitalartefacts.com
Thu Sep 26 17:21:21 PDT 2013


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?

-heath



More information about the libqmi-devel mailing list