MC7750 libqmi

Tim Harvey tharvey at gateworks.com
Tue Nov 5 21:55:50 CET 2013


On Tue, Nov 5, 2013 at 7:57 AM, Dan Williams <dcbw at redhat.com> wrote:
> On Tue, 2013-11-05 at 09:36 +0100, Aleksander Morgado wrote:
>> >
>> > root at OpenWrt:/# qmicli -d /dev/cdc-wdm0 --nas-get-signal-strength
>> > [/dev/cdc-wdm0] Successfully got signal strength
>> > Current:
>> > Network 'cdma-1x': '-96 dBm'
>> > Other:
>> > Network 'cdma-1xevdo': '-63 dBm'
>> > RSSI:
>> > Network 'cdma-1x': '-96 dBm'
>> > Network 'cdma-1xevdo': '-63 dBm'
>> > ECIO:
>> > Network 'cdma-1x': '-7.0 dBm'
>> > Network 'cdma-1xevdo': '9.0 dBm'
>> > IO: '-52 dBm'
>> > SINR: (8) '9.0 dB'
>>

Ok - got my firmware updated to the latest 3.05.10.09 - thanks for the links!

>>
>> Your 'current' network is reported as being CDMA-1x, not even EV-DO. Is
>> that expected? You can try to tell your module to use EV-DO, which seems
>> to have better signal, using:
>
> Yeah, that's odd; EVDO signal is quite good but the card is using 1X
> instead.
>
>> # qmicli \
>>   -d /dev/cdc-wdm0 \
>>   --nas-set-system-selection-preference="cdma-1xevdo"
>>


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?


>>
>> > root at OpenWrt:/# qmicli -d /dev/cdc-wdm0 --nas-get-serving-system
>> > [/dev/cdc-wdm0] Successfully got serving system:
>> > Registration state: 'registered'
>> > CS: 'attached'
>> > PS: 'attached'
>> > Selected network: '3gpp2'
>> > Radio interfaces: '2'
>> > [0]: 'cdma-1xevdo'
>> > [1]: 'cdma-1x'
>> > Roaming status: '(null)'
>> > Data service capabilities: '2'
>> > [0]: 'cdma'
>> > [1]: 'evdo-rev-a'
>> > CDMA System ID:
>> > SID: '40'
>> > NID: '4'
>
> SID/NID presence also indicates CDMA1x, not EVDO.  SID 40 is Verizon,
> but Tim is apparently in a section of the US where Verizon hasn't
> deployed LTE yet.

LTE is deployed here for Verizon - I've been using it on my Verizon
phone for a couple of years (HTC Thunderbird previously, now Samsung
Galaxy S4) with reliable 4G and LTE speeds at my current location.

Is something else configured wrong perhaps on this card?

>
>> > CDMA Base station info:
>> > Base station ID: '5008'
>> > Latitude: '0.000000'*
>> > Longitude: '0.000000'*
>> > Roaming indicators: '2'
>> > [0]: '(null)' (cdma-1x)
>> > [1]: '(null)' ((null))
>> > Default roaming status: '(null)'
>> > 3GPP2 time zone:
>> > Leap seconds: '16' seconds
>> > Local time offset: '-480' minutes
>> > Daylight saving time: 'no'
>> > CDMA P_Rev: '6'
>>
>>
>> Can you re-run the previous command passing an additional "--verbose",
>> and send back the results? I'd like to get rid of those 'null' values
>> reported.

here is more verbosity

root at OpenWrt:/# qmicli -d /dev/cdc-wdm0 --nas-get-serving-system -v
[05 Aug 2013, 18:59:54] [Debug] QMI Device at '/dev/cdc-wdm0' ready
[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Assuming service 'nas'
is supported...
[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Allocating new client ID...
[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 16
<<<<<<   data   = 01:0F:00:00:00:00:00:01:22:00:04:00:01:01:00:03

[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 15
<<<<<<   flags   = 0x00
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 1
<<<<<<   tlv_length  = 4
<<<<<<   message     = "Allocate CID" (0x0022)
<<<<<< TLV:
<<<<<<   type       = "Service" (0x01)
<<<<<<   length     = 1
<<<<<<   value      = 03
<<<<<<   translated = nas

[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 24
>>>>>>   data   = 01:17:00:80:00:00:01:01:22:00:0C:00:02:04:00:00:00:00:00:01:02:00:03:11

[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> QMUX:
>>>>>>   length  = 23
>>>>>>   flags   = 0x80
>>>>>>   service = "ctl"
>>>>>>   client  = 0
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 1
>>>>>>   tlv_length  = 12
>>>>>>   message     = "Allocate CID" (0x0022)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 00:00:00:00
>>>>>>   translated = SUCCESS
>>>>>> TLV:
>>>>>>   type       = "Allocation Info" (0x01)
>>>>>>   length     = 2
>>>>>>   value      = 03:11
>>>>>>   translated = [ service = 'nas' cid = '17' ]

[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Registered 'nas'
(version unknown) client with ID '17'
[05 Aug 2013, 18:59:54] [Debug] Asynchronously getting serving system...
[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 13
<<<<<<   data   = 01:0C:00:00:03:11:00:01:00:24:00:00:00

[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 12
<<<<<<   flags   = 0x00
<<<<<<   service = "nas"
<<<<<<   client  = 17
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 1
<<<<<<   tlv_length  = 0
<<<<<<   message     = "Get Serving System" (0x0024)

[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 108
>>>>>>   data   = 01:6B:00:80:03:11:02:01:00:24:00:5F:00:02:04:00:00:00:00:00:23:01:00:02:22:03:00:6E:04:8A:21:05:00:02:03:02:01:00:1F:01:00:01:1E:01:00:00:18:01:00:06:17:03:00:10:F0:00:16:01:00:44:15:05:00:02:01:40:02:40:14:0A:00:90:13:00:00:00:00:00:00:00:00:13:04:00:28:00:04:00:11:03:00:02:06:08:10:01:00:40:01:07:00:01:01:01:01:02:01:02

[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> QMUX:
>>>>>>   length  = 107
>>>>>>   flags   = 0x80
>>>>>>   service = "nas"
>>>>>>   client  = 17
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 1
>>>>>>   tlv_length  = 95
>>>>>>   message     = "Get Serving System" (0x0024)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 00:00:00:00
>>>>>>   translated = SUCCESS
>>>>>> TLV:
>>>>>>   type       = "HDR Personality" (0x23)
>>>>>>   length     = 1
>>>>>>   value      = 02
>>>>>>   translated = ehrpd
>>>>>> TLV:
>>>>>>   type       = "CDMA System Info" (0x22)
>>>>>>   length     = 3
>>>>>>   value      = 6E:04:8A
>>>>>>   translated = [ mcc = '1134' imsi_11_12 = '138' ]
>>>>>> TLV:
>>>>>>   type       = "Detailed Service Status" (0x21)
>>>>>>   length     = 5
>>>>>>   value      = 02:03:02:01:00
>>>>>>   translated = [ status = 'available' capability = 'cs-ps' hdr_status = 'available' hdr_hybrid = 'yes' forbidden = 'no' ]
>>>>>> TLV:
>>>>>>   type       = "PRL Indicator 3GPP2" (0x1f)
>>>>>>   length     = 1
>>>>>>   value      = 01
>>>>>>   translated = yes
>>>>>> TLV:
>>>>>>   type       = "Concurrent Service Info 3GPP2" (0x1e)
>>>>>>   length     = 1
>>>>>>   value      = 00
>>>>>>   translated = no
>>>>>> TLV:
>>>>>>   type       = "CDMA P Rev" (0x18)
>>>>>>   length     = 1
>>>>>>   value      = 06
>>>>>>   translated = 6
>>>>>> TLV:
>>>>>>   type       = "Time Zone 3GPP2" (0x17)
>>>>>>   length     = 3
>>>>>>   value      = 10:F0:00
>>>>>>   translated = [ leap_seconds = '16' local_time_offset = '-16' daylight_saving_time = 'no' ]
>>>>>> TLV:
>>>>>>   type       = "Default Roaming Indicator" (0x16)
>>>>>>   length     = 1
>>>>>>   value      = 44
>>>>>>   translated = (null)
>>>>>> TLV:
>>>>>>   type       = "Roaming Indicator List" (0x15)
>>>>>>   length     = 5
>>>>>>   value      = 02:01:40:02:40
>>>>>>   translated = { [0] = '[ radio_interface = 'cdma-1x' roaming_indicator = '(null)' ] ' [1] = '[ radio_interface = 'cdma-1xevdo' roaming_indicator = '(null)' ] '}
>>>>>> TLV:
>>>>>>   type       = "CDMA Base Station Info" (0x14)
>>>>>>   length     = 10
>>>>>>   value      = 90:13:00:00:00:00:00:00:00:00
>>>>>>   translated = [ base_station_id = '5008' base_station_latitude = '0' base_station_longitude = '0' ]
>>>>>> TLV:
>>>>>>   type       = "CDMA System ID" (0x13)
>>>>>>   length     = 4
>>>>>>   value      = 28:00:04:00
>>>>>>   translated = [ sid = '40' nid = '4' ]
>>>>>> TLV:
>>>>>>   type       = "Data Service Capability" (0x11)
>>>>>>   length     = 3
>>>>>>   value      = 02:06:08
>>>>>>   translated = { [0] = 'cdma ' [1] = 'evdo-rev-a '}
>>>>>> TLV:
>>>>>>   type       = "Roaming Indicator" (0x10)
>>>>>>   length     = 1
>>>>>>   value      = 40
>>>>>>   translated = (null)
>>>>>> TLV:
>>>>>>   type       = "Serving System" (0x01)
>>>>>>   length     = 7
>>>>>>   value      = 01:01:01:01:02:01:02
>>>>>>   translated = [ registration_state = 'registered' cs_attach_state = 'attached' ps_attach_state = 'attached' selected_network = '3gpp2' radio_interfaces = '{ [0] = 'cdma-1x ' [1] = 'cdma-1xevdo '}' ]

[/dev/cdc-wdm0] Successfully got serving system:
        Registration state: 'registered'
        CS: 'attached'
        PS: 'attached'
        Selected network: '3gpp2'
        Radio interfaces: '2'
                [0]: 'cdma-1x'
                [1]: 'cdma-1xevdo'
        Roaming status: '(null)'
        Data service capabilities: '2'
                [0]: 'cdma'
                [1]: 'evdo-rev-a'
        CDMA System ID:
                SID: '40'
                NID: '4'
        CDMA Base station info:
                Base station ID: '5008'
                Latitude: '0.000000'*
                Longitude: '0.000000'*
        Roaming indicators: '2'
                [0]: '(null)' (cdma-1x)
                [1]: '(null)' (cdma-1xevdo)
        Default roaming status: '(null)'
        3GPP2 time zone:
                Leap seconds: '16' seconds
                Local time offset: '-480' minutes
                Daylight saving time: 'no'
        CDMA P_Rev: '6'
        3GPP2 concurrent service info: 'not available'
        3GPP2 PRL indicator: 'system in PRL'
        Detailed status:
                Status: 'available'
                Capability: 'cs-ps'
                HDR Status: 'available'
                HDR Hybrid: 'yes'
                Forbidden: 'no'
        CDMA system info:
                MCC: '1134'
                IMSI_11_12: '138'
        HDR personality: 'ehrpd'
[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Unregistered 'nas'
client with ID '17'
[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 17
<<<<<<   data   = 01:10:00:00:00:00:00:02:23:00:05:00:01:02:00:03:11

[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 16
<<<<<<   flags   = 0x00
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 2
<<<<<<   tlv_length  = 5
<<<<<<   message     = "Release CID" (0x0023)
<<<<<< TLV:
<<<<<<   type       = "Release Info" (0x01)
<<<<<<   length     = 2
<<<<<<   value      = 03:11
<<<<<<   translated = [ service = 'nas' cid = '17' ]

[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 24
>>>>>>   data   = 01:17:00:80:00:00:01:02:23:00:0C:00:02:04:00:00:00:00:00:01:02:00:03:11

[05 Aug 2013, 18:59:54] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> QMUX:
>>>>>>   length  = 23
>>>>>>   flags   = 0x80
>>>>>>   service = "ctl"
>>>>>>   client  = 0
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 2
>>>>>>   tlv_length  = 12
>>>>>>   message     = "Release CID" (0x0023)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 00:00:00:00
>>>>>>   translated = SUCCESS
>>>>>> TLV:
>>>>>>   type       = "Release Info" (0x01)
>>>>>>   length     = 2
>>>>>>   value      = 03:11
>>>>>>   translated = [ service = 'nas' cid = '17' ]

[05 Aug 2013, 18:59:55] [Debug] Client released

>
> I saw a bunch of odd ones yesterday with the CDMA MCC/MNC reporting, but
> didn't have time to dig into them.  The digits are clearly off in the
> QMI response for get-serving-system and get-system-info, but in
> different ways.  Not sure it's worth looking at those, but the NULL ones
> here for the ERI might be worthwhile.
>
>>
>> > root at OpenWrt:/# qmicli -d /dev/cdc-wdm0 --nas-get-signal-info
>> > error: couldn't get signal info: QMI protocol error (71): 'InvalidQmiCommand'
>> >
>> > I believe I recall --nas-get-signal-info working in the past - perhaps
>> > this was changed between libqmi v1.0 and what I'm on now (v1.6)?
>> >
>>
>> Nope, libqmi wasn't changed in that regard. --nas-get-signal-info is
>> only available if your NAS service version is new enough (1.8 IIRC); you
>> can check which service versions you have with:
>
> Likely because his firmware is so old; the 3.x 7750 firmware *does*
> support GetSignalInfo.

yes - it was the firmware.  Now I get:

root at OpenWrt:/# qmicli -d /dev/cdc-wdm0 --nas-get-signal-info
[/dev/cdc-wdm0] Successfully got signal info
CDMA:
        RSSI: '-91 dBm'
        ECIO: '-7.0 dBm'
HDR:
        RSSI: '-98 dBm'
        ECIO: '-5.0 dBm'
        SINR (7): '6.0 dB'
        IO: '-93 dBm'

The MC7750 supports LTE - how come I only see 'cdma-1x', and
'cdma-1xevdo' in the signal strength output?   Perhaps this indicates
again something is turned off for this card?

Since updating the firmware my connection seems more reliable but I
have yet to do any performance or long-term tests.

Thanks for all the help,

Tim

>
> Dan
>


More information about the libqmi-devel mailing list