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