problem with Sierra MC7750 (and a workaround)

Aleksander Morgado aleksander at lanedo.com
Thu Sep 26 23:42:15 PDT 2013


On 27/09/13 02:21, Heath Kehoe wrote:
> 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?
> 

How about this?
  --device-open-net="net-802-3,net-no-qos-header"
  --device-open-net="net-802-3,net-qos-header"
  --device-open-net="net-raw-ip,net-no-qos-header"
  --device-open-net="net-raw-ip,net-qos-header"

So, --device-open-net would accept a list of up to 2 strings; where each
string given is one of the "nicknames" of the QmiDeviceOpenFlags.



-- 
Aleksander


More information about the libqmi-devel mailing list