MC7750 libqmi

Tim Harvey tharvey at gateworks.com
Wed Nov 13 14:26:15 PST 2013


On Wed, Nov 6, 2013 at 12:26 PM, Dan Williams <dcbw at redhat.com> wrote:
> On Tue, 2013-11-05 at 12:55 -0800, Tim Harvey wrote:
>> On Tue, Nov 5, 2013 at 7:57 AM, Dan Williams <dcbw at redhat.com> wrote:

[...]

>>
>> root at OpenWrt:/# qmicli -d /dev/cdc-wdm0 --nas-get-system-selection-preference
>> [/dev/cdc-wdm0] Successfully got system selection preference
>>         Emergency mode: 'no'
>>         Mode preference: 'cdma-1x, cdma-1xevdo, lte'
>>         Band preference: 'bc-0-a-system, bc-0-b-system, bc-1-all-blocks'
>>         LTE band preference: '13'
>>         CDMA PRL preference: 'b-side-only'
>>         Roaming preference: 'any'
>>         Network selection preference: 'automatic'
>>         Service domain preference: 'ps-only'
>>         Service selection preference: 'automatic'
>> root at OpenWrt:/# qmicli -d /dev/cdc-wdm0
>> --nas-set-system-selection-preference="cdma-1xevdo"
>> error: couldn't set operating mode: QMI protocol error (25): 'DeviceUnsupported'
>>
>> What can this mean?
>
> I think I actually had to use 'modepref' and do it with QCDM.  So, if
> you've got ModemManager sources, you can:
>
> cd libqcdm/test/
> ./modepref /path/to/qcdm/tty auto-cdma-lte
>
> and when it tells you to plug/unplug the device, just rfkill it, or
> reboot the machine to restart the module.  Then run:
>
> ./modepref /path/to/qcdm/tty
>
> and make sure it reports 'auto-cdma-lte'.  If not, run the set command
> again.
>
> For me, the qcdm port is /dev/ttyUSB0:
>
> $ sudo ./modepref /dev/ttyUSB0
> Mode preference: CDMA 1x and HDR only
> HDR revision:    revA
>
> Dan
>

It took me a while to get ModemManager built where I can attach the
MC7750.  I'm not sure what QCDM is but it sounds like thats another
protocol thats perhaps out of the scope of QMI/libqmi?

./modepref /dev/ttyUSB0
Mode preference: automatic
HDR revision:    eHRPD

./modepref /dev/ttyUSB0 auto-cdma-lte
Success setting mode to 'auto-cdma-lte': replug your device.

# hotplug device
./modepref /dev/ttyUSB0
Mode preference: CDMA 1x, HDR, and LTE only
HDR revision:    eHRPD

Now, after connection I get:
qmicli -d /dev/cdc-wdm0 --nas-get-system-selection-preference
[/dev/cdc-wdm0] Successfully got system selection preference
        Emergency mode: 'no'
        Mode preference: 'cdma-1x, cdma-1xevdo, lte'
        Band preference: 'bc-0-a-system, bc-0-b-system, bc-1-all-blocks'
        LTE band preference: '13'
        CDMA PRL preference: 'b-side-only'
        Roaming preference: 'any'
        Network selection preference: 'automatic'
        Service domain preference: 'ps-only'
        Service selection preference: 'automatic'


qmicli -d /dev/cdc-wdm0 --nas-get-signal-strength
[/dev/cdc-wdm0] Successfully got signal strength
Current:
        Network 'cdma-1x': '-88 dBm'
Other:
        Network 'cdma-1x': '-88 dBm'
        Network 'cdma-1xevdo': '-78 dBm'
RSSI:
        Network 'cdma-1x': '-88 dBm'
        Network 'cdma-1xevdo': '-78 dBm'
ECIO:
        Network 'cdma-1x': '-7.0 dBm'
        Network 'cdma-1xevdo': '-1.0 dBm'
IO: '-78 dBm'
SINR: (6) '3.0 dB'

I still don't understand why I don't see LTE above.  If I try to set
the selection preference via libqmi (using values from
qmi_nas_rat_mode_preference_values) it seems that only 'lte' is
supported:
qmicli -d /dev/cdc-wdm0 --nas-set-system-selection-preference="umts"
error: couldn't set operating mode: QMI protocol error (25): 'DeviceUnsupported'
qmicli -d /dev/cdc-wdm0 --nas-set-system-selection-preference="cdma-1x"
error: couldn't set operating mode: QMI protocol error (25): 'DeviceUnsupported'
qmicli -d /dev/cdc-wdm0 --nas-set-system-selection-preference="cdma-1xevdo"
error: couldn't set operating mode: QMI protocol error (25): 'DeviceUnsupported'
qmicli -d /dev/cdc-wdm0 --nas-set-system-selection-preference="gsm"
error: couldn't set operating mode: QMI protocol error (25): 'DeviceUnsupported'
qmicli -d /dev/cdc-wdm0 --nas-set-system-selection-preference="lte"
[/dev/cdc-wdm0] System selection preference set successfully; replug
your device.

Is the fact that I can't set my preference to anything other than lte
a libqmi issue?

Now that I believe I've set my preference to lte I see:

qmicli -d /dev/cdc-wdm0 --nas-get-system-selection-preference
[/dev/cdc-wdm0] Successfully got system selection preference
        Emergency mode: 'no'
        Mode preference: 'umts, lte'
        Band preference: 'bc-0-a-system, bc-0-b-system, bc-1-all-blocks'
        LTE band preference: '13'
        CDMA PRL preference: 'b-side-only'
        Roaming preference: 'any'
        Network selection preference: 'automatic'
        Service domain preference: 'ps-only'
        Service selection preference: 'automatic'
root at OpenWrt:/# qmicli -d /dev/cdc-wdm0 --nas-get-signal-info
[/dev/cdc-wdm0] Successfully got signal info
HDR:
        RSSI: '-125 dBm'
        ECIO: '-2.5 dBm'
        SINR (8): '9.0 dB'
        IO: '-106 dBm'
LTE:
        RSSI: '-79 dBm'
        RSRQ: '-12 dB'
        RSRP: '-107 dBm'
        SNR: '6.4 dBm'
root at OpenWrt:/# qmicli -d /dev/cdc-wdm0 --nas-get-signal-strength
[/dev/cdc-wdm0] Successfully got signal strength
Current:
        Network 'lte': '-79 dBm'
Other:
        Network 'cdma-1xevdo': '-125 dBm'
RSSI:
        Network 'lte': '-79 dBm'
        Network 'cdma-1xevdo': '-125 dBm'
ECIO:
        Network 'lte': '-31.5 dBm'
        Network 'cdma-1xevdo': '-2.5 dBm'
IO: '-106 dBm'
[12 Nov 2013, 00:51:45] -Warning ** Invalid SINR level '161'
SINR: (161) '-179769313486231530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0
dB'
RSRQ:
        Network 'lte': '-12 dB'
SNR:
        Network 'lte': '12.2 dB'
RSRP:
        Network 'lte': '-107 dBm'

But now I can no longer connect to my provider:
qmi-network /dev/cdc-wdm0 start
Loading profile...
    APN: we01.VZWSTATIC
Starting network with 'qmicli -d /dev/cdc-wdm0
--wds-start-network=we01.VZWSTATIC  --client-no-release-cid'...
error: couldn't start network: QMI protocol error (14): 'CallFailed'
call end reason (3): generic-no-service
verbose call end reason (3,2001): [cm] no-service
Saving state... (CID: 3)
error: network start failed, no packet data handle
Clearing state...

Is it possible that my SIM does not allow me to connect via LTE?

At this point I can no longer use libqmi to set my preference back to
'cdma-1x' or 'cdma-1xevdo' (see above) and have to use ModemManager
modepref to do so.

All of the above is using 3.10 kernel, and libqmi v1.6.0.

Thanks,

Tim


More information about the libqmi-devel mailing list