MC7750 libqmi

Tim Harvey tharvey at gateworks.com
Tue Dec 3 10:26:12 PST 2013


On Wed, Nov 13, 2013 at 5:46 PM, Dan Williams <dcbw at redhat.com> wrote:
> On Wed, 2013-11-13 at 14:26 -0800, Tim Harvey wrote:
>> 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?
>
> QCDM is an older protocol used by Qualcomm devices that many current
> devices also support.  The changes made via QCDM should be visible with
> QMI as well.
>
>> ./modepref /dev/ttyUSB0
>> Mode preference: automatic
>> HDR revision:    eHRPD
>
> Ok, that means that the modem will rely upon the SIM's preferences for
> network access, but it should mean that the device will attach to LTE by
> default, unless your SIM is special somehow.
>
>> ./modepref /dev/ttyUSB0 auto-cdma-lte
>> Success setting mode to 'auto-cdma-lte': replug your device.
>
> This means you've locked the modem to 1x, EVDO (HDR) and LTE, which
> should be fine, because Verizon modems do not roam on UMTS here in the
> US/Canada.
>
>> # 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'
>
> Yeah, also odd to me why LTE doesn't show up.  However, what if you
> tried "--nas-network-scan"?

qmicli -d /dev/cdc-wdm0 --nas-network-scan
[/dev/cdc-wdm0] Successfully scanned networks
Network [0]:
        MCC: '311'
        MNC: '480'
        Status: 'available, home, not-forbidden, preferred'
        Description: 'Verizon Wireless'
Network [0]:
        MCC: '311'
        MNC: '480'
        RAT: 'lte'
Network [0]:
        MCC: '311'
        MNC: '480'
        MCC with PCS digit: 'yes'

>
>> 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?
>
> It might be, but it seems like the device just doesn't like any of the
> other modes.  This could be a firmware quirk.
>
>> 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'
>
> These very low values essentially mean EVDO is disabled.
>
>> 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'...
>
> we01.VZWSTATIC implies that you're using a special APN; do you have some
> kind of custom plan with Verizon?
>
>> 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?
>
> That would certainly be one explanation.  The modem simply doesn't think
> you have access to the LTE network with your SIM.  Are you sure your SIM
> is provisioned with access for the APN you're using?  Does the same SIM
> work on other devices with the APN?
>
> Just for testing purposes, what if you try VZWINTERNET for the APN?
>

seems to not make a difference - I still connect to the network, get
an IP from dhcp, and can pass traffic, but I sitll can't see any LTE
info or get the card to use evdo.

I compared results with someone else I'm working with located
elsewhere with the same card/firmware/SIM plan and they see:

root at OpenWrt:/etc# 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:/etc# qmicli -d /dev/cdc-wdm0 --nas-get-signal-strength
[/dev/cdc-wdm0] Successfully got signal strength
Current:
        Network 'lte': '-57 dBm'
Other:
        Network 'cdma-1xevdo': '-125 dBm'
RSSI:
        Network 'lte': '-57 dBm'
        Network 'cdma-1xevdo': '-125 dBm'
ECIO:
        Network 'lte': '-31.5 dBm'
        Network 'cdma-1xevdo': '-2.5 dBm'
IO: '-106 dBm'
[03 Dec 2013, 17:26:52] -Warning ** Invalid SINR level '137'
SINR: (137) '-179769313486231530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0
dB'
RSRQ:
        Network 'lte': '-10 dB'
SNR:
        Network 'lte': '7.4 dB'
RSRP:
        Network 'lte': '-86 dBm'
root at OpenWrt:/etc# qmicli -d /dev/cdc-wdm0 --nas-network-scan
[/dev/cdc-wdm0] Successfully scanned networks
Network [0]:
        MCC: '311'
        MNC: '480'
        Status: 'current-serving, home, not-forbidden, preferred'
        Description: 'Verizon Wireless'
Network [0]:
        MCC: '311'
        MNC: '480'
        RAT: 'lte'
Network [0]:
        MCC: '311'
        MNC: '480'
        MCC with PCS digit: 'yes'
root at OpenWrt:/etc# 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: '-57 dBm'
        RSRQ: '-10 dB'
        RSRP: '-86 dBm'
        SNR: '7.4 dBm'


I'm starting to wonder if for some reason my signal strength to LTE is
very low and --nas-get-signal-info and --nas-get-signal-strength are
only showing a maximum of 2 modes as they don't even see cdma-1x as I
do with the same reported capabilities and mode preference.

Thanks,

Tim

> Dan
>
>> 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