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