Re: QUECTEL EC20/EC21. Several drivers supported, which one is better to use?
I don't know why the pastebin was deleted. Here is the log: http://pastebin.com/9VLq7p6L I am trying to use udhcpc (busybox v1.32.2 implementation) to configure the network interface. Without the kernel patches for raw ip support, udhcpc seems to work fine and configure the network interface: root@c:~# udhcpc -iwwan0 udhcpc (v1.23.2) started Sending discover... Sending select for 100.109.179.23... Lease of 100.109.179.23 obtained, lease time 7200 /etc/udhcpc.d/50default: Adding DNS 80.58.61.250 /etc/udhcpc.d/50default: Adding DNS 80.58.61.254 root@c:~# ifconfig loLink encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:32 errors:0 dropped:0 overruns:0 frame:0 TX packets:32 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2304 (2.2 KiB) TX bytes:2304 (2.2 KiB) wwan0 Link encap:Ethernet HWaddr FE:BC:A8:93:97:10 inet addr:100.109.179.23 Bcast:100.109.179.31 Mask:255.255.255.240 inet6 addr: fe80::fcbc:a8ff:fe93:9710/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:22 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:612 (612.0 B) TX bytes:4226 (4.1 KiB) After applying the kernel patches, udhcpc stops working. It keeps sending discovers and does not progress any further. I am guessing udhcpc can't work with raw ip, or maybe I need to patch it? On Fri, Sep 9, 2016 at 6:33 PM, Dan Williamswrote: > On Fri, 2016-09-09 at 17:34 +0200, José wrote: >> Thanks for the patch Dan. The modem seems to connect, it gets an IP >> address and DNS servers, but there is no connectiviy. I cannot >> resolve >> any names, I cannot even ping the gateway (I can ping my own ip >> address) > > What tools are you using to apply the MM-returned IP configuration to > the modem ethernet device? > > It looks like the EC21 only supports raw-ip mode, so you'll need to > make sure your qmi_wwan drivers are up-to-date for raw-ip support, > which means using a v4.5 or later kernel, or backporting the necessary > patches to whatever kernel you're using. The commits you'd need to > backport are: > > 32f7adf633b9f99ad5089901bc7ebff57704aaa9 > 6c730080e663b1d629f8aa89348291fbcdc46cd9 > > and maybe 93725149794d3d418cf1eddcae60c7b536c5faa1 too. > >> There are also some warnings and errors that may be important. Find >> here the log: http://pastebin.com/JC9BALPs > > Looks like that's been removed? > > Dan > >> Thanks >> >> On Fri, Sep 9, 2016 at 4:31 PM, Dan Williams wrote: >> > >> > On Fri, 2016-09-09 at 10:36 +0200, José wrote: >> > > >> > > Hi Dan, >> > > >> > > thanks for the patch! Unfortunately it is not working. Here is >> > > the >> > > log: http://pastebin.com/A5H3mnPh >> > Could you try the following patch against ModemManager? There are >> > two >> > ways to get the UIM/SIM status, one with the "DMS" service that >> > works >> > on most devices from 2015 and earlier, and a new way with the "UIM" >> > service that works on many 2015+ devices. Perhaps the EC21 is new >> > enough that it requires the UIM service, but ModemManager doesn't >> > recognize the error code that it's returning. This patch will do >> > that. >> > >> > You'll still need the libqmi patch I posted earlier too. >> > >> > diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem- >> > qmi.c >> > index bc13925..f60d0f4 100644 >> > --- a/src/mm-broadband-modem-qmi.c >> > +++ b/src/mm-broadband-modem-qmi.c >> > @@ -1740,7 +1740,10 @@ dms_uim_get_pin_status_ready (QmiClientDms >> > *client, >> > /* We get InvalidQmiCommand on newer devices which don't >> > like the legacy way */ >> > if (g_error_matches (error, >> > QMI_PROTOCOL_ERROR, >> > - QMI_PROTOCOL_ERROR_INVALID_QMI_COMMAN >> > D)) { >> > + QMI_PROTOCOL_ERROR_INVALID_QMI_COMMAN >> > D) || >> > +g_error_matches (error, >> > + QMI_PROTOCOL_ERROR, >> > + QMI_PROTOCOL_ERROR_NOT_SUPPORTED)) { >> > g_error_free (error); >> > qmi_message_dms_uim_get_pin_status_output_unref >> > (output); >> > /* Flag that the command is unsupported, and try with >> > the new way */ >> > >> > Dan >> > >> > > >> > > Still trying to contact with Quectel tech support. >> > > >> > > On Thu, Sep 8, 2016 at 9:55 PM, Dan Williams >> > > wrote: >> > > > >> > > > >> > > > On Thu, 2016-09-08 at 19:05 +0200, José wrote: >> > > > > >> > > > > >> > > > > Ok, thanks. I am also trying to contact QUECTEL technical >> > > > > support, so >> > > > > I will let them now about this. >> > > > > >> > > > > Find the
Re: QUECTEL EC20/EC21. Several drivers supported, which one is better to use?
Thanks for the patch Dan. The modem seems to connect, it gets an IP address and DNS servers, but there is no connectiviy. I cannot resolve any names, I cannot even ping the gateway (I can ping my own ip address) There are also some warnings and errors that may be important. Find here the log: http://pastebin.com/JC9BALPs Thanks On Fri, Sep 9, 2016 at 4:31 PM, Dan Williamswrote: > On Fri, 2016-09-09 at 10:36 +0200, José wrote: >> Hi Dan, >> >> thanks for the patch! Unfortunately it is not working. Here is the >> log: http://pastebin.com/A5H3mnPh > > Could you try the following patch against ModemManager? There are two > ways to get the UIM/SIM status, one with the "DMS" service that works > on most devices from 2015 and earlier, and a new way with the "UIM" > service that works on many 2015+ devices. Perhaps the EC21 is new > enough that it requires the UIM service, but ModemManager doesn't > recognize the error code that it's returning. This patch will do that. > > You'll still need the libqmi patch I posted earlier too. > > diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c > index bc13925..f60d0f4 100644 > --- a/src/mm-broadband-modem-qmi.c > +++ b/src/mm-broadband-modem-qmi.c > @@ -1740,7 +1740,10 @@ dms_uim_get_pin_status_ready (QmiClientDms *client, > /* We get InvalidQmiCommand on newer devices which don't like the > legacy way */ > if (g_error_matches (error, > QMI_PROTOCOL_ERROR, > - QMI_PROTOCOL_ERROR_INVALID_QMI_COMMAND)) { > + QMI_PROTOCOL_ERROR_INVALID_QMI_COMMAND) || > +g_error_matches (error, > + QMI_PROTOCOL_ERROR, > + QMI_PROTOCOL_ERROR_NOT_SUPPORTED)) { > g_error_free (error); > qmi_message_dms_uim_get_pin_status_output_unref (output); > /* Flag that the command is unsupported, and try with the new > way */ > > Dan > >> Still trying to contact with Quectel tech support. >> >> On Thu, Sep 8, 2016 at 9:55 PM, Dan Williams wrote: >> > >> > On Thu, 2016-09-08 at 19:05 +0200, José wrote: >> > > >> > > Ok, thanks. I am also trying to contact QUECTEL technical >> > > support, so >> > > I will let them now about this. >> > > >> > > Find the log here: http://pastebin.com/bGr6bAt0 >> > Thanks; the errors are due to SIM lock state. Try backing out your >> > changes to libqmi and then apply the attached patch. Does that >> > make >> > things work? >> > >> > Dan >> > >> > > >> > > On Thu, Sep 8, 2016 at 6:31 PM, Dan Williams >> > > wrote: >> > > > >> > > > >> > > > On Thu, 2016-09-08 at 17:56 +0200, José wrote: >> > > > > >> > > > > >> > > > > Sure: >> > > > > >> > > > > root:~# qmicli -d /dev/cdc-wdm0 --get-service-version-info >> > > > > [/dev/cdc-wdm0] Supported versions: >> > > > > ctl (1.5) >> > > > > wds (1.67) >> > > > > dms (1.0) >> > > > > nas (1.25) >> > > > > qos (1.12) >> > > > Thanks, I'll post a patch to work around the DMS stupidity. >> > > > >> > > > > >> > > > > >> > > > > Also, if I patch libqmi to get rid of both ModemManager >> > > > > errors, >> > > > > the >> > > > > modem still does not work. >> > > > Can you post ModemManager --debug logs when you've patched >> > > > libqmi >> > > > to >> > > > get past this issue? >> > > > >> > > > Dan >> > > > >> > > > >> > > > > >> > > > > >> > > > > On Thu, Sep 8, 2016 at 4:47 PM, Dan Williams > > > > > > >> > > > > wrote: >> > > > > > >> > > > > > >> > > > > > >> > > > > > On Thu, 2016-09-08 at 10:31 +0200, José wrote: >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > This is the output of those commands: >> > > > > > > >> > > > > > > qmicli -d /dev/cdc-wdm0 --dms-read-user-data >> > > > > > > [/dev/cdc-wdm0] User data read: >> > > > > > > Size: '0' bytes >> > > > > > > Contents: >> > > > > > > >> > > > > > > qmicli -d /dev/cdc-wdm0 --dms-uim-get-state >> > > > > > > error: couldn't get UIM state: QMI protocol error (94): >> > > > > > > 'NotSupported' >> > > > > > So the device lies about the DMS service version. If it >> > > > > > didn't >> > > > > > actually support them, it would return "InvalidQmiCommand" >> > > > > > to >> > > > > > both >> > > > > > of >> > > > > > those requests. >> > > > > > >> > > > > > Could you grab: >> > > > > > >> > > > > > qmicli -d /dev/cdc-wdm0 --get-service-version-info >> > > > > > >> > > > > > for me? >> > > > > > >> > > > > > Thanks, >> > > > > > Dan >> > > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > On Wed, Sep 7, 2016 at 6:32 PM, Dan Williams > > > > > > > .com >> > > > > > > > >> > > > > > > > >> > > > > > > wrote: >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > On Wed, 2016-09-07 at 17:05 +0200, José wrote: >> > > > > > > > > >> > > > > > > > > >>
Re: QUECTEL EC20/EC21. Several drivers supported, which one is better to use?
On Fri, 2016-09-09 at 10:36 +0200, José wrote: > Hi Dan, > > thanks for the patch! Unfortunately it is not working. Here is the > log: http://pastebin.com/A5H3mnPh Could you try the following patch against ModemManager? There are two ways to get the UIM/SIM status, one with the "DMS" service that works on most devices from 2015 and earlier, and a new way with the "UIM" service that works on many 2015+ devices. Perhaps the EC21 is new enough that it requires the UIM service, but ModemManager doesn't recognize the error code that it's returning. This patch will do that. You'll still need the libqmi patch I posted earlier too. diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c index bc13925..f60d0f4 100644 --- a/src/mm-broadband-modem-qmi.c +++ b/src/mm-broadband-modem-qmi.c @@ -1740,7 +1740,10 @@ dms_uim_get_pin_status_ready (QmiClientDms *client, /* We get InvalidQmiCommand on newer devices which don't like the legacy way */ if (g_error_matches (error, QMI_PROTOCOL_ERROR, - QMI_PROTOCOL_ERROR_INVALID_QMI_COMMAND)) { + QMI_PROTOCOL_ERROR_INVALID_QMI_COMMAND) || +g_error_matches (error, + QMI_PROTOCOL_ERROR, + QMI_PROTOCOL_ERROR_NOT_SUPPORTED)) { g_error_free (error); qmi_message_dms_uim_get_pin_status_output_unref (output); /* Flag that the command is unsupported, and try with the new way */ Dan > Still trying to contact with Quectel tech support. > > On Thu, Sep 8, 2016 at 9:55 PM, Dan Williamswrote: > > > > On Thu, 2016-09-08 at 19:05 +0200, José wrote: > > > > > > Ok, thanks. I am also trying to contact QUECTEL technical > > > support, so > > > I will let them now about this. > > > > > > Find the log here: http://pastebin.com/bGr6bAt0 > > Thanks; the errors are due to SIM lock state. Try backing out your > > changes to libqmi and then apply the attached patch. Does that > > make > > things work? > > > > Dan > > > > > > > > On Thu, Sep 8, 2016 at 6:31 PM, Dan Williams > > > wrote: > > > > > > > > > > > > On Thu, 2016-09-08 at 17:56 +0200, José wrote: > > > > > > > > > > > > > > > Sure: > > > > > > > > > > root:~# qmicli -d /dev/cdc-wdm0 --get-service-version-info > > > > > [/dev/cdc-wdm0] Supported versions: > > > > > ctl (1.5) > > > > > wds (1.67) > > > > > dms (1.0) > > > > > nas (1.25) > > > > > qos (1.12) > > > > Thanks, I'll post a patch to work around the DMS stupidity. > > > > > > > > > > > > > > > > > > > Also, if I patch libqmi to get rid of both ModemManager > > > > > errors, > > > > > the > > > > > modem still does not work. > > > > Can you post ModemManager --debug logs when you've patched > > > > libqmi > > > > to > > > > get past this issue? > > > > > > > > Dan > > > > > > > > > > > > > > > > > > > > > > > On Thu, Sep 8, 2016 at 4:47 PM, Dan Williams > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > On Thu, 2016-09-08 at 10:31 +0200, José wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is the output of those commands: > > > > > > > > > > > > > > qmicli -d /dev/cdc-wdm0 --dms-read-user-data > > > > > > > [/dev/cdc-wdm0] User data read: > > > > > > > Size: '0' bytes > > > > > > > Contents: > > > > > > > > > > > > > > qmicli -d /dev/cdc-wdm0 --dms-uim-get-state > > > > > > > error: couldn't get UIM state: QMI protocol error (94): > > > > > > > 'NotSupported' > > > > > > So the device lies about the DMS service version. If it > > > > > > didn't > > > > > > actually support them, it would return "InvalidQmiCommand" > > > > > > to > > > > > > both > > > > > > of > > > > > > those requests. > > > > > > > > > > > > Could you grab: > > > > > > > > > > > > qmicli -d /dev/cdc-wdm0 --get-service-version-info > > > > > > > > > > > > for me? > > > > > > > > > > > > Thanks, > > > > > > Dan > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Sep 7, 2016 at 6:32 PM, Dan Williams > > > > > > .com > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, 2016-09-07 at 17:05 +0200, José wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Dan, > > > > > > > > > > > > > > > > > > thanks for your answer. > > > > > > > > > > > > > > > > > > I compiled libqmi-1.12.6-r0.1.cortexa9hf_vfp_neon.rpm > > > > > > > > > (notice > > > > > > > > > that it > > > > > > > > > is an older version, it was just simpler on my > > > > > > > > > environment) > > > > > > > > > with > > > > > > > > > the > > > > > > > > > change you proposed. After that, the command seems to > > > > > > > > > work: > > > > > > > > > > >
Re: QUECTEL EC20/EC21. Several drivers supported, which one is better to use?
On Thu, 2016-09-08 at 19:05 +0200, José wrote: > Ok, thanks. I am also trying to contact QUECTEL technical support, so > I will let them now about this. > > Find the log here: http://pastebin.com/bGr6bAt0 Thanks; the errors are due to SIM lock state. Try backing out your changes to libqmi and then apply the attached patch. Does that make things work? Dan > On Thu, Sep 8, 2016 at 6:31 PM, Dan Williamswrote: > > > > On Thu, 2016-09-08 at 17:56 +0200, José wrote: > > > > > > Sure: > > > > > > root:~# qmicli -d /dev/cdc-wdm0 --get-service-version-info > > > [/dev/cdc-wdm0] Supported versions: > > > ctl (1.5) > > > wds (1.67) > > > dms (1.0) > > > nas (1.25) > > > qos (1.12) > > Thanks, I'll post a patch to work around the DMS stupidity. > > > > > > > > Also, if I patch libqmi to get rid of both ModemManager errors, > > > the > > > modem still does not work. > > Can you post ModemManager --debug logs when you've patched libqmi > > to > > get past this issue? > > > > Dan > > > > > > > > > > On Thu, Sep 8, 2016 at 4:47 PM, Dan Williams > > > wrote: > > > > > > > > > > > > On Thu, 2016-09-08 at 10:31 +0200, José wrote: > > > > > > > > > > > > > > > This is the output of those commands: > > > > > > > > > > qmicli -d /dev/cdc-wdm0 --dms-read-user-data > > > > > [/dev/cdc-wdm0] User data read: > > > > > Size: '0' bytes > > > > > Contents: > > > > > > > > > > qmicli -d /dev/cdc-wdm0 --dms-uim-get-state > > > > > error: couldn't get UIM state: QMI protocol error (94): > > > > > 'NotSupported' > > > > So the device lies about the DMS service version. If it didn't > > > > actually support them, it would return "InvalidQmiCommand" to > > > > both > > > > of > > > > those requests. > > > > > > > > Could you grab: > > > > > > > > qmicli -d /dev/cdc-wdm0 --get-service-version-info > > > > > > > > for me? > > > > > > > > Thanks, > > > > Dan > > > > > > > > > > > > > > > > > > > On Wed, Sep 7, 2016 at 6:32 PM, Dan Williams > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > On Wed, 2016-09-07 at 17:05 +0200, José wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Dan, > > > > > > > > > > > > > > thanks for your answer. > > > > > > > > > > > > > > I compiled libqmi-1.12.6-r0.1.cortexa9hf_vfp_neon.rpm > > > > > > > (notice > > > > > > > that it > > > > > > > is an older version, it was just simpler on my > > > > > > > environment) > > > > > > > with > > > > > > > the > > > > > > > change you proposed. After that, the command seems to > > > > > > > work: > > > > > > > > > > > > > > # qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode > > > > > > > [/dev/cdc-wdm0] Operating mode retrieved: > > > > > > > Mode: 'online' > > > > > > > HW restricted: 'no' > > > > > > > > > > > > > > So is the problem in the modem firmware reporting an > > > > > > > older > > > > > > > DMS > > > > > > > that > > > > > > > what it is really using, or is it in libqmi? > > > > > > It depends. There are two options: > > > > > > > > > > > > 1) The device lies about its supported DMS version and it > > > > > > actually > > > > > > supports a newer DMS version, but mis-reports it. Firmware > > > > > > bug, > > > > > > but > > > > > > something we probably have to work around. > > > > > > > > > > > > 2) The command is actually supported in DMS 1.0 but the > > > > > > information > > > > > > we > > > > > > had indicated it's only supported in 1.1. libqmi bug, and > > > > > > we > > > > > > can > > > > > > fix > > > > > > this. > > > > > > > > > > > > To figure this out, let's modify an existing message that > > > > > > clearly > > > > > > isn't > > > > > > supported in very early DMS versions. So change the > > > > > > version in > > > > > > data/qmi-service-dms.json for the "Read User Data" and "UIM > > > > > > Get > > > > > > State" > > > > > > messages to "1.0" and rebuild/reinstall. > > > > > > > > > > > > Then, what is the result of: > > > > > > > > > > > > qmicli -d /dev/cdc-wdm0 --dms-read-user-data > > > > > > qmicli -d /dev/cdc-wdm0 --dms-uim-get-state > > > > > > > > > > > > Dan > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, ModemManager still does not work because of the > > > > > > > other > > > > > > > message > > > > > > > (I recompiled it against the patched libqmi library): > > > > > > > > > > > > > > ModemManager[710]: couldn't load Supported Bands: > > > > > > > 'QMI > > > > > > > operation failed: Cannot send message: QMI service 'dms' > > > > > > > version > > > > > > > '1.3' > > > > > > > required, got version '1.0'' > > > > > > > ModemManager[710]: Modem couldn't be initialized: > > > > > > > Couldn't > > > > > > > check unlock status: Couldn't get SIM lock status after 6 > > > > > > > retries > > > > > > > ModemManager[710]: Modem: state changed (unknown > > > > > > > -> > > > > > > >
Re: QUECTEL EC20/EC21. Several drivers supported, which one is better to use?
Ok, thanks. I am also trying to contact QUECTEL technical support, so I will let them now about this. Find the log here: http://pastebin.com/bGr6bAt0 On Thu, Sep 8, 2016 at 6:31 PM, Dan Williamswrote: > On Thu, 2016-09-08 at 17:56 +0200, José wrote: >> Sure: >> >> root:~# qmicli -d /dev/cdc-wdm0 --get-service-version-info >> [/dev/cdc-wdm0] Supported versions: >> ctl (1.5) >> wds (1.67) >> dms (1.0) >> nas (1.25) >> qos (1.12) > > Thanks, I'll post a patch to work around the DMS stupidity. > >> Also, if I patch libqmi to get rid of both ModemManager errors, the >> modem still does not work. > > Can you post ModemManager --debug logs when you've patched libqmi to > get past this issue? > > Dan > > >> On Thu, Sep 8, 2016 at 4:47 PM, Dan Williams wrote: >> > >> > On Thu, 2016-09-08 at 10:31 +0200, José wrote: >> > > >> > > This is the output of those commands: >> > > >> > > qmicli -d /dev/cdc-wdm0 --dms-read-user-data >> > > [/dev/cdc-wdm0] User data read: >> > > Size: '0' bytes >> > > Contents: >> > > >> > > qmicli -d /dev/cdc-wdm0 --dms-uim-get-state >> > > error: couldn't get UIM state: QMI protocol error (94): >> > > 'NotSupported' >> > So the device lies about the DMS service version. If it didn't >> > actually support them, it would return "InvalidQmiCommand" to both >> > of >> > those requests. >> > >> > Could you grab: >> > >> > qmicli -d /dev/cdc-wdm0 --get-service-version-info >> > >> > for me? >> > >> > Thanks, >> > Dan >> > >> > > >> > > On Wed, Sep 7, 2016 at 6:32 PM, Dan Williams >> > > wrote: >> > > > >> > > > >> > > > On Wed, 2016-09-07 at 17:05 +0200, José wrote: >> > > > > >> > > > > >> > > > > Hi Dan, >> > > > > >> > > > > thanks for your answer. >> > > > > >> > > > > I compiled libqmi-1.12.6-r0.1.cortexa9hf_vfp_neon.rpm (notice >> > > > > that it >> > > > > is an older version, it was just simpler on my environment) >> > > > > with >> > > > > the >> > > > > change you proposed. After that, the command seems to work: >> > > > > >> > > > > # qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode >> > > > > [/dev/cdc-wdm0] Operating mode retrieved: >> > > > > Mode: 'online' >> > > > > HW restricted: 'no' >> > > > > >> > > > > So is the problem in the modem firmware reporting an older >> > > > > DMS >> > > > > that >> > > > > what it is really using, or is it in libqmi? >> > > > It depends. There are two options: >> > > > >> > > > 1) The device lies about its supported DMS version and it >> > > > actually >> > > > supports a newer DMS version, but mis-reports it. Firmware >> > > > bug, >> > > > but >> > > > something we probably have to work around. >> > > > >> > > > 2) The command is actually supported in DMS 1.0 but the >> > > > information >> > > > we >> > > > had indicated it's only supported in 1.1. libqmi bug, and we >> > > > can >> > > > fix >> > > > this. >> > > > >> > > > To figure this out, let's modify an existing message that >> > > > clearly >> > > > isn't >> > > > supported in very early DMS versions. So change the version in >> > > > data/qmi-service-dms.json for the "Read User Data" and "UIM Get >> > > > State" >> > > > messages to "1.0" and rebuild/reinstall. >> > > > >> > > > Then, what is the result of: >> > > > >> > > > qmicli -d /dev/cdc-wdm0 --dms-read-user-data >> > > > qmicli -d /dev/cdc-wdm0 --dms-uim-get-state >> > > > >> > > > Dan >> > > > >> > > > > >> > > > > >> > > > > However, ModemManager still does not work because of the >> > > > > other >> > > > > message >> > > > > (I recompiled it against the patched libqmi library): >> > > > > >> > > > > ModemManager[710]: couldn't load Supported Bands: >> > > > > 'QMI >> > > > > operation failed: Cannot send message: QMI service 'dms' >> > > > > version >> > > > > '1.3' >> > > > > required, got version '1.0'' >> > > > > ModemManager[710]: Modem couldn't be initialized: >> > > > > Couldn't >> > > > > check unlock status: Couldn't get SIM lock status after 6 >> > > > > retries >> > > > > ModemManager[710]: Modem: state changed (unknown -> >> > > > > failed) >> > > > > >> > > > > Will this allow a similar fix? >> > > > > >> > > > > On Wed, Sep 7, 2016 at 4:29 PM, Dan Williams > > > > > > >> > > > > wrote: >> > > > > > >> > > > > > >> > > > > > >> > > > > > On Wed, 2016-09-07 at 15:33 +0200, José wrote: >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > Maybe I was wrong. I am trying now with the last versions >> > > > > > > but >> > > > > > > it >> > > > > > > is >> > > > > > > still not working: >> > > > > > > >> > > > > > > ModemManager 1.6.0 >> > > > > > > libqmi-1.16.0-r0.4.cortexa9hf_vfp_neon >> > > > > > > >> > > > > > > The problem is still reproducible: >> > > > > > Interesting; even though it's a recent device, it's still >> > > > > > advertising >> > > > > > DMS 1.0. >> > > > > > >> > > > > > It may be that Get Operating Mode was present in DMS 1.0 >>
Re: QUECTEL EC20/EC21. Several drivers supported, which one is better to use?
On Thu, 2016-09-08 at 17:56 +0200, José wrote: > Sure: > > root:~# qmicli -d /dev/cdc-wdm0 --get-service-version-info > [/dev/cdc-wdm0] Supported versions: > ctl (1.5) > wds (1.67) > dms (1.0) > nas (1.25) > qos (1.12) Thanks, I'll post a patch to work around the DMS stupidity. > Also, if I patch libqmi to get rid of both ModemManager errors, the > modem still does not work. Can you post ModemManager --debug logs when you've patched libqmi to get past this issue? Dan > On Thu, Sep 8, 2016 at 4:47 PM, Dan Williamswrote: > > > > On Thu, 2016-09-08 at 10:31 +0200, José wrote: > > > > > > This is the output of those commands: > > > > > > qmicli -d /dev/cdc-wdm0 --dms-read-user-data > > > [/dev/cdc-wdm0] User data read: > > > Size: '0' bytes > > > Contents: > > > > > > qmicli -d /dev/cdc-wdm0 --dms-uim-get-state > > > error: couldn't get UIM state: QMI protocol error (94): > > > 'NotSupported' > > So the device lies about the DMS service version. If it didn't > > actually support them, it would return "InvalidQmiCommand" to both > > of > > those requests. > > > > Could you grab: > > > > qmicli -d /dev/cdc-wdm0 --get-service-version-info > > > > for me? > > > > Thanks, > > Dan > > > > > > > > On Wed, Sep 7, 2016 at 6:32 PM, Dan Williams > > > wrote: > > > > > > > > > > > > On Wed, 2016-09-07 at 17:05 +0200, José wrote: > > > > > > > > > > > > > > > Hi Dan, > > > > > > > > > > thanks for your answer. > > > > > > > > > > I compiled libqmi-1.12.6-r0.1.cortexa9hf_vfp_neon.rpm (notice > > > > > that it > > > > > is an older version, it was just simpler on my environment) > > > > > with > > > > > the > > > > > change you proposed. After that, the command seems to work: > > > > > > > > > > # qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode > > > > > [/dev/cdc-wdm0] Operating mode retrieved: > > > > > Mode: 'online' > > > > > HW restricted: 'no' > > > > > > > > > > So is the problem in the modem firmware reporting an older > > > > > DMS > > > > > that > > > > > what it is really using, or is it in libqmi? > > > > It depends. There are two options: > > > > > > > > 1) The device lies about its supported DMS version and it > > > > actually > > > > supports a newer DMS version, but mis-reports it. Firmware > > > > bug, > > > > but > > > > something we probably have to work around. > > > > > > > > 2) The command is actually supported in DMS 1.0 but the > > > > information > > > > we > > > > had indicated it's only supported in 1.1. libqmi bug, and we > > > > can > > > > fix > > > > this. > > > > > > > > To figure this out, let's modify an existing message that > > > > clearly > > > > isn't > > > > supported in very early DMS versions. So change the version in > > > > data/qmi-service-dms.json for the "Read User Data" and "UIM Get > > > > State" > > > > messages to "1.0" and rebuild/reinstall. > > > > > > > > Then, what is the result of: > > > > > > > > qmicli -d /dev/cdc-wdm0 --dms-read-user-data > > > > qmicli -d /dev/cdc-wdm0 --dms-uim-get-state > > > > > > > > Dan > > > > > > > > > > > > > > > > > > > However, ModemManager still does not work because of the > > > > > other > > > > > message > > > > > (I recompiled it against the patched libqmi library): > > > > > > > > > > ModemManager[710]: couldn't load Supported Bands: > > > > > 'QMI > > > > > operation failed: Cannot send message: QMI service 'dms' > > > > > version > > > > > '1.3' > > > > > required, got version '1.0'' > > > > > ModemManager[710]: Modem couldn't be initialized: > > > > > Couldn't > > > > > check unlock status: Couldn't get SIM lock status after 6 > > > > > retries > > > > > ModemManager[710]: Modem: state changed (unknown -> > > > > > failed) > > > > > > > > > > Will this allow a similar fix? > > > > > > > > > > On Wed, Sep 7, 2016 at 4:29 PM, Dan Williams > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > On Wed, 2016-09-07 at 15:33 +0200, José wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > Maybe I was wrong. I am trying now with the last versions > > > > > > > but > > > > > > > it > > > > > > > is > > > > > > > still not working: > > > > > > > > > > > > > > ModemManager 1.6.0 > > > > > > > libqmi-1.16.0-r0.4.cortexa9hf_vfp_neon > > > > > > > > > > > > > > The problem is still reproducible: > > > > > > Interesting; even though it's a recent device, it's still > > > > > > advertising > > > > > > DMS 1.0. > > > > > > > > > > > > It may be that Get Operating Mode was present in DMS 1.0 > > > > > > and we > > > > > > simply > > > > > > don't have any examples of that. So you could try to > > > > > > modify > > > > > > libqmi > > > > > > and > > > > > > see if that works. > > > > > > > > > > > > Look in data/qmi-service-dms.json and look for "Get > > > > > > Operating > > > > > > Mode". > > > > > > Change the "1.1" there to
Re: QUECTEL EC20/EC21. Several drivers supported, which one is better to use?
Sure: root:~# qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode [/dev/cdc-wdm0] Operating mode retrieved: Mode: 'online' HW restricted: 'no' root:~# root:~# qmicli -d /dev/cdc-wdm0 --dms-read-user-data [/dev/cdc-wdm0] User data read: Size: '0' bytes Contents: rootc:~# qmicli -d /dev/cdc-wdm0 --dms-uim-get-state error: couldn't get UIM state: QMI protocol error (94): 'NotSupported' root:~# qmicli -d /dev/cdc-wdm0 --get-service-version-info [/dev/cdc-wdm0] Supported versions: ctl (1.5) wds (1.67) dms (1.0) nas (1.25) qos (1.12) wms (1.10) auth (1.3) at (1.2) voice (2.1) cat2 (2.24) uim (1.46) pbm (1.4) test (1.0) loc (2.0) sar (1.0) ts (1.0) tmd (1.0) wda (1.16) csvt (1.1) coex (1.0) pdc (1.0) rfrpe (1.0) dsd (1.0) unknown [0x30] (1.0) unknown [0x36] (1.0) By the way, I didn't need to patch libqmi to get those output... Also, if I patch libqmi to get rid of both ModemManager errors, the modem still does not work. On Thu, Sep 8, 2016 at 4:47 PM, Dan Williamswrote: > On Thu, 2016-09-08 at 10:31 +0200, José wrote: >> This is the output of those commands: >> >> qmicli -d /dev/cdc-wdm0 --dms-read-user-data >> [/dev/cdc-wdm0] User data read: >> Size: '0' bytes >> Contents: >> >> qmicli -d /dev/cdc-wdm0 --dms-uim-get-state >> error: couldn't get UIM state: QMI protocol error (94): >> 'NotSupported' > > So the device lies about the DMS service version. If it didn't > actually support them, it would return "InvalidQmiCommand" to both of > those requests. > > Could you grab: > > qmicli -d /dev/cdc-wdm0 --get-service-version-info > > for me? > > Thanks, > Dan > >> On Wed, Sep 7, 2016 at 6:32 PM, Dan Williams wrote: >> > >> > On Wed, 2016-09-07 at 17:05 +0200, José wrote: >> > > >> > > Hi Dan, >> > > >> > > thanks for your answer. >> > > >> > > I compiled libqmi-1.12.6-r0.1.cortexa9hf_vfp_neon.rpm (notice >> > > that it >> > > is an older version, it was just simpler on my environment) with >> > > the >> > > change you proposed. After that, the command seems to work: >> > > >> > > # qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode >> > > [/dev/cdc-wdm0] Operating mode retrieved: >> > > Mode: 'online' >> > > HW restricted: 'no' >> > > >> > > So is the problem in the modem firmware reporting an older DMS >> > > that >> > > what it is really using, or is it in libqmi? >> > It depends. There are two options: >> > >> > 1) The device lies about its supported DMS version and it actually >> > supports a newer DMS version, but mis-reports it. Firmware bug, >> > but >> > something we probably have to work around. >> > >> > 2) The command is actually supported in DMS 1.0 but the information >> > we >> > had indicated it's only supported in 1.1. libqmi bug, and we can >> > fix >> > this. >> > >> > To figure this out, let's modify an existing message that clearly >> > isn't >> > supported in very early DMS versions. So change the version in >> > data/qmi-service-dms.json for the "Read User Data" and "UIM Get >> > State" >> > messages to "1.0" and rebuild/reinstall. >> > >> > Then, what is the result of: >> > >> > qmicli -d /dev/cdc-wdm0 --dms-read-user-data >> > qmicli -d /dev/cdc-wdm0 --dms-uim-get-state >> > >> > Dan >> > >> > > >> > > However, ModemManager still does not work because of the other >> > > message >> > > (I recompiled it against the patched libqmi library): >> > > >> > > ModemManager[710]: couldn't load Supported Bands: 'QMI >> > > operation failed: Cannot send message: QMI service 'dms' version >> > > '1.3' >> > > required, got version '1.0'' >> > > ModemManager[710]: Modem couldn't be initialized: >> > > Couldn't >> > > check unlock status: Couldn't get SIM lock status after 6 retries >> > > ModemManager[710]: Modem: state changed (unknown -> >> > > failed) >> > > >> > > Will this allow a similar fix? >> > > >> > > On Wed, Sep 7, 2016 at 4:29 PM, Dan Williams >> > > wrote: >> > > > >> > > > >> > > > On Wed, 2016-09-07 at 15:33 +0200, José wrote: >> > > > > >> > > > > >> > > > > Maybe I was wrong. I am trying now with the last versions but >> > > > > it >> > > > > is >> > > > > still not working: >> > > > > >> > > > > ModemManager 1.6.0 >> > > > > libqmi-1.16.0-r0.4.cortexa9hf_vfp_neon >> > > > > >> > > > > The problem is still reproducible: >> > > > Interesting; even though it's a recent device, it's still >> > > > advertising >> > > > DMS 1.0. >> > > > >> > > > It may be that Get Operating Mode was present in DMS 1.0 and we >> > > > simply >> > > > don't have any examples of that. So you could try to modify >> > > > libqmi >> > > > and >> > > > see if that works. >> > > > >> > > > Look in data/qmi-service-dms.json and look for "Get Operating >> > > > Mode". >> > > > Change the
Re: QUECTEL EC20/EC21. Several drivers supported, which one is better to use?
On Thu, 2016-09-08 at 10:31 +0200, José wrote: > This is the output of those commands: > > qmicli -d /dev/cdc-wdm0 --dms-read-user-data > [/dev/cdc-wdm0] User data read: > Size: '0' bytes > Contents: > > qmicli -d /dev/cdc-wdm0 --dms-uim-get-state > error: couldn't get UIM state: QMI protocol error (94): > 'NotSupported' So the device lies about the DMS service version. If it didn't actually support them, it would return "InvalidQmiCommand" to both of those requests. Could you grab: qmicli -d /dev/cdc-wdm0 --get-service-version-info for me? Thanks, Dan > On Wed, Sep 7, 2016 at 6:32 PM, Dan Williamswrote: > > > > On Wed, 2016-09-07 at 17:05 +0200, José wrote: > > > > > > Hi Dan, > > > > > > thanks for your answer. > > > > > > I compiled libqmi-1.12.6-r0.1.cortexa9hf_vfp_neon.rpm (notice > > > that it > > > is an older version, it was just simpler on my environment) with > > > the > > > change you proposed. After that, the command seems to work: > > > > > > # qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode > > > [/dev/cdc-wdm0] Operating mode retrieved: > > > Mode: 'online' > > > HW restricted: 'no' > > > > > > So is the problem in the modem firmware reporting an older DMS > > > that > > > what it is really using, or is it in libqmi? > > It depends. There are two options: > > > > 1) The device lies about its supported DMS version and it actually > > supports a newer DMS version, but mis-reports it. Firmware bug, > > but > > something we probably have to work around. > > > > 2) The command is actually supported in DMS 1.0 but the information > > we > > had indicated it's only supported in 1.1. libqmi bug, and we can > > fix > > this. > > > > To figure this out, let's modify an existing message that clearly > > isn't > > supported in very early DMS versions. So change the version in > > data/qmi-service-dms.json for the "Read User Data" and "UIM Get > > State" > > messages to "1.0" and rebuild/reinstall. > > > > Then, what is the result of: > > > > qmicli -d /dev/cdc-wdm0 --dms-read-user-data > > qmicli -d /dev/cdc-wdm0 --dms-uim-get-state > > > > Dan > > > > > > > > However, ModemManager still does not work because of the other > > > message > > > (I recompiled it against the patched libqmi library): > > > > > > ModemManager[710]: couldn't load Supported Bands: 'QMI > > > operation failed: Cannot send message: QMI service 'dms' version > > > '1.3' > > > required, got version '1.0'' > > > ModemManager[710]: Modem couldn't be initialized: > > > Couldn't > > > check unlock status: Couldn't get SIM lock status after 6 retries > > > ModemManager[710]: Modem: state changed (unknown -> > > > failed) > > > > > > Will this allow a similar fix? > > > > > > On Wed, Sep 7, 2016 at 4:29 PM, Dan Williams > > > wrote: > > > > > > > > > > > > On Wed, 2016-09-07 at 15:33 +0200, José wrote: > > > > > > > > > > > > > > > Maybe I was wrong. I am trying now with the last versions but > > > > > it > > > > > is > > > > > still not working: > > > > > > > > > > ModemManager 1.6.0 > > > > > libqmi-1.16.0-r0.4.cortexa9hf_vfp_neon > > > > > > > > > > The problem is still reproducible: > > > > Interesting; even though it's a recent device, it's still > > > > advertising > > > > DMS 1.0. > > > > > > > > It may be that Get Operating Mode was present in DMS 1.0 and we > > > > simply > > > > don't have any examples of that. So you could try to modify > > > > libqmi > > > > and > > > > see if that works. > > > > > > > > Look in data/qmi-service-dms.json and look for "Get Operating > > > > Mode". > > > > Change the "1.1" there to "1.0", rebuild, and reinstall > > > > libqmi. Then > > > > see if you can run "qmicli -d /dev/cdc-wdm0 --dms-get- > > > > operating- > > > > mode". > > > > Does that work? > > > > > > > > Dan > > > > > > > > > > > > > > > > > > > ModemManager[995]: ModemManager (version 1.6.0) > > > > > starting > > > > > in > > > > > system bus... > > > > > ModemManager[995]: [/dev/cdc-wdm0] Opening device with flags > > > > > 'version-info, proxy'... > > > > > ModemManager[995]: cannot connect to proxy: Could not > > > > > connect: > > > > > Connection refused > > > > > ModemManager[995]: spawning new qmi-proxy (try 1)... > > > > > ModemManager[995]: [/dev/cdc-wdm0] Checking version info (10 > > > > > retries)... > > > > > ModemManager[995]: [/dev/cdc-wdm0] QMI Device supports 25 > > > > > services: > > > > > ModemManager[995]: [/dev/cdc-wdm0]ctl (1.5) > > > > > ModemManager[995]: [/dev/cdc-wdm0]wds (1.67) > > > > > ModemManager[995]: [/dev/cdc-wdm0]dms (1.0) > > > > > ModemManager[995]: [/dev/cdc-wdm0]nas (1.25) > > > > > ModemManager[995]: [/dev/cdc-wdm0]qos (1.12) > > > > > ModemManager[995]: [/dev/cdc-wdm0]wms (1.10) > > > > > ModemManager[995]: [/dev/cdc-wdm0]auth (1.3) > > > > > ModemManager[995]: [/dev/cdc-wdm0]at (1.2) > > > > > ModemManager[995]: [/dev/cdc-wdm0]
Re: QUECTEL EC20/EC21. Several drivers supported, which one is better to use?
This is the output of those commands: qmicli -d /dev/cdc-wdm0 --dms-read-user-data [/dev/cdc-wdm0] User data read: Size: '0' bytes Contents: qmicli -d /dev/cdc-wdm0 --dms-uim-get-state error: couldn't get UIM state: QMI protocol error (94): 'NotSupported' On Wed, Sep 7, 2016 at 6:32 PM, Dan Williamswrote: > On Wed, 2016-09-07 at 17:05 +0200, José wrote: >> Hi Dan, >> >> thanks for your answer. >> >> I compiled libqmi-1.12.6-r0.1.cortexa9hf_vfp_neon.rpm (notice that it >> is an older version, it was just simpler on my environment) with the >> change you proposed. After that, the command seems to work: >> >> # qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode >> [/dev/cdc-wdm0] Operating mode retrieved: >> Mode: 'online' >> HW restricted: 'no' >> >> So is the problem in the modem firmware reporting an older DMS that >> what it is really using, or is it in libqmi? > > It depends. There are two options: > > 1) The device lies about its supported DMS version and it actually > supports a newer DMS version, but mis-reports it. Firmware bug, but > something we probably have to work around. > > 2) The command is actually supported in DMS 1.0 but the information we > had indicated it's only supported in 1.1. libqmi bug, and we can fix > this. > > To figure this out, let's modify an existing message that clearly isn't > supported in very early DMS versions. So change the version in > data/qmi-service-dms.json for the "Read User Data" and "UIM Get State" > messages to "1.0" and rebuild/reinstall. > > Then, what is the result of: > > qmicli -d /dev/cdc-wdm0 --dms-read-user-data > qmicli -d /dev/cdc-wdm0 --dms-uim-get-state > > Dan > >> However, ModemManager still does not work because of the other >> message >> (I recompiled it against the patched libqmi library): >> >> ModemManager[710]: couldn't load Supported Bands: 'QMI >> operation failed: Cannot send message: QMI service 'dms' version >> '1.3' >> required, got version '1.0'' >> ModemManager[710]: Modem couldn't be initialized: Couldn't >> check unlock status: Couldn't get SIM lock status after 6 retries >> ModemManager[710]: Modem: state changed (unknown -> failed) >> >> Will this allow a similar fix? >> >> On Wed, Sep 7, 2016 at 4:29 PM, Dan Williams wrote: >> > >> > On Wed, 2016-09-07 at 15:33 +0200, José wrote: >> > > >> > > Maybe I was wrong. I am trying now with the last versions but it >> > > is >> > > still not working: >> > > >> > > ModemManager 1.6.0 >> > > libqmi-1.16.0-r0.4.cortexa9hf_vfp_neon >> > > >> > > The problem is still reproducible: >> > Interesting; even though it's a recent device, it's still >> > advertising >> > DMS 1.0. >> > >> > It may be that Get Operating Mode was present in DMS 1.0 and we >> > simply >> > don't have any examples of that. So you could try to modify libqmi >> > and >> > see if that works. >> > >> > Look in data/qmi-service-dms.json and look for "Get Operating >> > Mode". >> > Change the "1.1" there to "1.0", rebuild, and reinstall >> > libqmi. Then >> > see if you can run "qmicli -d /dev/cdc-wdm0 --dms-get-operating- >> > mode". >> > Does that work? >> > >> > Dan >> > >> > > >> > > ModemManager[995]: ModemManager (version 1.6.0) starting >> > > in >> > > system bus... >> > > ModemManager[995]: [/dev/cdc-wdm0] Opening device with flags >> > > 'version-info, proxy'... >> > > ModemManager[995]: cannot connect to proxy: Could not connect: >> > > Connection refused >> > > ModemManager[995]: spawning new qmi-proxy (try 1)... >> > > ModemManager[995]: [/dev/cdc-wdm0] Checking version info (10 >> > > retries)... >> > > ModemManager[995]: [/dev/cdc-wdm0] QMI Device supports 25 >> > > services: >> > > ModemManager[995]: [/dev/cdc-wdm0]ctl (1.5) >> > > ModemManager[995]: [/dev/cdc-wdm0]wds (1.67) >> > > ModemManager[995]: [/dev/cdc-wdm0]dms (1.0) >> > > ModemManager[995]: [/dev/cdc-wdm0]nas (1.25) >> > > ModemManager[995]: [/dev/cdc-wdm0]qos (1.12) >> > > ModemManager[995]: [/dev/cdc-wdm0]wms (1.10) >> > > ModemManager[995]: [/dev/cdc-wdm0]auth (1.3) >> > > ModemManager[995]: [/dev/cdc-wdm0]at (1.2) >> > > ModemManager[995]: [/dev/cdc-wdm0]voice (2.1) >> > > ModemManager[995]: [/dev/cdc-wdm0]cat2 (2.24) >> > > ModemManager[995]: [/dev/cdc-wdm0]uim (1.46) >> > > ModemManager[995]: [/dev/cdc-wdm0]pbm (1.4) >> > > ModemManager[995]: [/dev/cdc-wdm0]test (1.0) >> > > ModemManager[995]: [/dev/cdc-wdm0]loc (2.0) >> > > ModemManager[995]: [/dev/cdc-wdm0]sar (1.0) >> > > ModemManager[995]: [/dev/cdc-wdm0]ts (1.0) >> > > ModemManager[995]: [/dev/cdc-wdm0]tmd (1.0) >> > > ModemManager[995]: [/dev/cdc-wdm0]wda (1.16) >> > > ModemManager[995]: [/dev/cdc-wdm0]csvt (1.1) >> > > ModemManager[995]: [/dev/cdc-wdm0]coex (1.0) >> > > ModemManager[995]: [/dev/cdc-wdm0]pdc (1.0) >> > > ModemManager[995]: [/dev/cdc-wdm0]rfrpe (1.0) >> > > ModemManager[995]: [/dev/cdc-wdm0]
Re: QUECTEL EC20/EC21. Several drivers supported, which one is better to use?
On Wed, 2016-09-07 at 17:05 +0200, José wrote: > Hi Dan, > > thanks for your answer. > > I compiled libqmi-1.12.6-r0.1.cortexa9hf_vfp_neon.rpm (notice that it > is an older version, it was just simpler on my environment) with the > change you proposed. After that, the command seems to work: > > # qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode > [/dev/cdc-wdm0] Operating mode retrieved: > Mode: 'online' > HW restricted: 'no' > > So is the problem in the modem firmware reporting an older DMS that > what it is really using, or is it in libqmi? It depends. There are two options: 1) The device lies about its supported DMS version and it actually supports a newer DMS version, but mis-reports it. Firmware bug, but something we probably have to work around. 2) The command is actually supported in DMS 1.0 but the information we had indicated it's only supported in 1.1. libqmi bug, and we can fix this. To figure this out, let's modify an existing message that clearly isn't supported in very early DMS versions. So change the version in data/qmi-service-dms.json for the "Read User Data" and "UIM Get State" messages to "1.0" and rebuild/reinstall. Then, what is the result of: qmicli -d /dev/cdc-wdm0 --dms-read-user-data qmicli -d /dev/cdc-wdm0 --dms-uim-get-state Dan > However, ModemManager still does not work because of the other > message > (I recompiled it against the patched libqmi library): > > ModemManager[710]: couldn't load Supported Bands: 'QMI > operation failed: Cannot send message: QMI service 'dms' version > '1.3' > required, got version '1.0'' > ModemManager[710]: Modem couldn't be initialized: Couldn't > check unlock status: Couldn't get SIM lock status after 6 retries > ModemManager[710]: Modem: state changed (unknown -> failed) > > Will this allow a similar fix? > > On Wed, Sep 7, 2016 at 4:29 PM, Dan Williamswrote: > > > > On Wed, 2016-09-07 at 15:33 +0200, José wrote: > > > > > > Maybe I was wrong. I am trying now with the last versions but it > > > is > > > still not working: > > > > > > ModemManager 1.6.0 > > > libqmi-1.16.0-r0.4.cortexa9hf_vfp_neon > > > > > > The problem is still reproducible: > > Interesting; even though it's a recent device, it's still > > advertising > > DMS 1.0. > > > > It may be that Get Operating Mode was present in DMS 1.0 and we > > simply > > don't have any examples of that. So you could try to modify libqmi > > and > > see if that works. > > > > Look in data/qmi-service-dms.json and look for "Get Operating > > Mode". > > Change the "1.1" there to "1.0", rebuild, and reinstall > > libqmi. Then > > see if you can run "qmicli -d /dev/cdc-wdm0 --dms-get-operating- > > mode". > > Does that work? > > > > Dan > > > > > > > > ModemManager[995]: ModemManager (version 1.6.0) starting > > > in > > > system bus... > > > ModemManager[995]: [/dev/cdc-wdm0] Opening device with flags > > > 'version-info, proxy'... > > > ModemManager[995]: cannot connect to proxy: Could not connect: > > > Connection refused > > > ModemManager[995]: spawning new qmi-proxy (try 1)... > > > ModemManager[995]: [/dev/cdc-wdm0] Checking version info (10 > > > retries)... > > > ModemManager[995]: [/dev/cdc-wdm0] QMI Device supports 25 > > > services: > > > ModemManager[995]: [/dev/cdc-wdm0]ctl (1.5) > > > ModemManager[995]: [/dev/cdc-wdm0]wds (1.67) > > > ModemManager[995]: [/dev/cdc-wdm0]dms (1.0) > > > ModemManager[995]: [/dev/cdc-wdm0]nas (1.25) > > > ModemManager[995]: [/dev/cdc-wdm0]qos (1.12) > > > ModemManager[995]: [/dev/cdc-wdm0]wms (1.10) > > > ModemManager[995]: [/dev/cdc-wdm0]auth (1.3) > > > ModemManager[995]: [/dev/cdc-wdm0]at (1.2) > > > ModemManager[995]: [/dev/cdc-wdm0]voice (2.1) > > > ModemManager[995]: [/dev/cdc-wdm0]cat2 (2.24) > > > ModemManager[995]: [/dev/cdc-wdm0]uim (1.46) > > > ModemManager[995]: [/dev/cdc-wdm0]pbm (1.4) > > > ModemManager[995]: [/dev/cdc-wdm0]test (1.0) > > > ModemManager[995]: [/dev/cdc-wdm0]loc (2.0) > > > ModemManager[995]: [/dev/cdc-wdm0]sar (1.0) > > > ModemManager[995]: [/dev/cdc-wdm0]ts (1.0) > > > ModemManager[995]: [/dev/cdc-wdm0]tmd (1.0) > > > ModemManager[995]: [/dev/cdc-wdm0]wda (1.16) > > > ModemManager[995]: [/dev/cdc-wdm0]csvt (1.1) > > > ModemManager[995]: [/dev/cdc-wdm0]coex (1.0) > > > ModemManager[995]: [/dev/cdc-wdm0]pdc (1.0) > > > ModemManager[995]: [/dev/cdc-wdm0]rfrpe (1.0) > > > ModemManager[995]: [/dev/cdc-wdm0]dsd (1.0) > > > ModemManager[995]: [/dev/cdc-wdm0]unknown [0x30] (1.0) > > > ModemManager[995]: [/dev/cdc-wdm0]unknown [0x36] (1.0) > > > ModemManager[995]: Creating modem with plugin 'Generic' > > > and > > > '2' ports > > > ModemManager[995]: Modem for device at > > > '/sys/devices/soc0/soc.0/210.aips- > > > bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.3' > > > successfully created > > > ModemManager[995]: [/dev/cdc-wdm0] Opening device with flags > >
Re: QUECTEL EC20/EC21. Several drivers supported, which one is better to use?
Hi Dan, thanks for your answer. I compiled libqmi-1.12.6-r0.1.cortexa9hf_vfp_neon.rpm (notice that it is an older version, it was just simpler on my environment) with the change you proposed. After that, the command seems to work: # qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode [/dev/cdc-wdm0] Operating mode retrieved: Mode: 'online' HW restricted: 'no' So is the problem in the modem firmware reporting an older DMS that what it is really using, or is it in libqmi? However, ModemManager still does not work because of the other message (I recompiled it against the patched libqmi library): ModemManager[710]: couldn't load Supported Bands: 'QMI operation failed: Cannot send message: QMI service 'dms' version '1.3' required, got version '1.0'' ModemManager[710]: Modem couldn't be initialized: Couldn't check unlock status: Couldn't get SIM lock status after 6 retries ModemManager[710]: Modem: state changed (unknown -> failed) Will this allow a similar fix? On Wed, Sep 7, 2016 at 4:29 PM, Dan Williamswrote: > On Wed, 2016-09-07 at 15:33 +0200, José wrote: >> Maybe I was wrong. I am trying now with the last versions but it is >> still not working: >> >> ModemManager 1.6.0 >> libqmi-1.16.0-r0.4.cortexa9hf_vfp_neon >> >> The problem is still reproducible: > > Interesting; even though it's a recent device, it's still advertising > DMS 1.0. > > It may be that Get Operating Mode was present in DMS 1.0 and we simply > don't have any examples of that. So you could try to modify libqmi and > see if that works. > > Look in data/qmi-service-dms.json and look for "Get Operating Mode". > Change the "1.1" there to "1.0", rebuild, and reinstall libqmi. Then > see if you can run "qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode". > Does that work? > > Dan > >> ModemManager[995]: ModemManager (version 1.6.0) starting in >> system bus... >> ModemManager[995]: [/dev/cdc-wdm0] Opening device with flags >> 'version-info, proxy'... >> ModemManager[995]: cannot connect to proxy: Could not connect: >> Connection refused >> ModemManager[995]: spawning new qmi-proxy (try 1)... >> ModemManager[995]: [/dev/cdc-wdm0] Checking version info (10 >> retries)... >> ModemManager[995]: [/dev/cdc-wdm0] QMI Device supports 25 services: >> ModemManager[995]: [/dev/cdc-wdm0]ctl (1.5) >> ModemManager[995]: [/dev/cdc-wdm0]wds (1.67) >> ModemManager[995]: [/dev/cdc-wdm0]dms (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]nas (1.25) >> ModemManager[995]: [/dev/cdc-wdm0]qos (1.12) >> ModemManager[995]: [/dev/cdc-wdm0]wms (1.10) >> ModemManager[995]: [/dev/cdc-wdm0]auth (1.3) >> ModemManager[995]: [/dev/cdc-wdm0]at (1.2) >> ModemManager[995]: [/dev/cdc-wdm0]voice (2.1) >> ModemManager[995]: [/dev/cdc-wdm0]cat2 (2.24) >> ModemManager[995]: [/dev/cdc-wdm0]uim (1.46) >> ModemManager[995]: [/dev/cdc-wdm0]pbm (1.4) >> ModemManager[995]: [/dev/cdc-wdm0]test (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]loc (2.0) >> ModemManager[995]: [/dev/cdc-wdm0]sar (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]ts (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]tmd (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]wda (1.16) >> ModemManager[995]: [/dev/cdc-wdm0]csvt (1.1) >> ModemManager[995]: [/dev/cdc-wdm0]coex (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]pdc (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]rfrpe (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]dsd (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]unknown [0x30] (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]unknown [0x36] (1.0) >> ModemManager[995]: Creating modem with plugin 'Generic' and >> '2' ports >> ModemManager[995]: Modem for device at >> '/sys/devices/soc0/soc.0/210.aips- >> bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.3' >> successfully created >> ModemManager[995]: [/dev/cdc-wdm0] Opening device with flags >> 'version-info, proxy'... >> ModemManager[995]: [/dev/cdc-wdm0] Checking version info (10 >> retries)... >> ModemManager[995]: [/dev/cdc-wdm0] QMI Device supports 25 services: >> ModemManager[995]: [/dev/cdc-wdm0]ctl (1.5) >> ModemManager[995]: [/dev/cdc-wdm0]wds (1.67) >> ModemManager[995]: [/dev/cdc-wdm0]dms (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]nas (1.25) >> ModemManager[995]: [/dev/cdc-wdm0]qos (1.12) >> ModemManager[995]: [/dev/cdc-wdm0]wms (1.10) >> ModemManager[995]: [/dev/cdc-wdm0]auth (1.3) >> ModemManager[995]: [/dev/cdc-wdm0]at (1.2) >> ModemManager[995]: [/dev/cdc-wdm0]voice (2.1) >> ModemManager[995]: [/dev/cdc-wdm0]cat2 (2.24) >> ModemManager[995]: [/dev/cdc-wdm0]uim (1.46) >> ModemManager[995]: [/dev/cdc-wdm0]pbm (1.4) >> ModemManager[995]: [/dev/cdc-wdm0]test (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]loc (2.0) >> ModemManager[995]: [/dev/cdc-wdm0]sar (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]ts (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]tmd (1.0) >> ModemManager[995]: [/dev/cdc-wdm0]wda
Re: QUECTEL EC20/EC21. Several drivers supported, which one is better to use?
On Wed, 2016-09-07 at 15:33 +0200, José wrote: > Maybe I was wrong. I am trying now with the last versions but it is > still not working: > > ModemManager 1.6.0 > libqmi-1.16.0-r0.4.cortexa9hf_vfp_neon > > The problem is still reproducible: Interesting; even though it's a recent device, it's still advertising DMS 1.0. It may be that Get Operating Mode was present in DMS 1.0 and we simply don't have any examples of that. So you could try to modify libqmi and see if that works. Look in data/qmi-service-dms.json and look for "Get Operating Mode". Change the "1.1" there to "1.0", rebuild, and reinstall libqmi. Then see if you can run "qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode". Does that work? Dan > ModemManager[995]: ModemManager (version 1.6.0) starting in > system bus... > ModemManager[995]: [/dev/cdc-wdm0] Opening device with flags > 'version-info, proxy'... > ModemManager[995]: cannot connect to proxy: Could not connect: > Connection refused > ModemManager[995]: spawning new qmi-proxy (try 1)... > ModemManager[995]: [/dev/cdc-wdm0] Checking version info (10 > retries)... > ModemManager[995]: [/dev/cdc-wdm0] QMI Device supports 25 services: > ModemManager[995]: [/dev/cdc-wdm0]ctl (1.5) > ModemManager[995]: [/dev/cdc-wdm0]wds (1.67) > ModemManager[995]: [/dev/cdc-wdm0]dms (1.0) > ModemManager[995]: [/dev/cdc-wdm0]nas (1.25) > ModemManager[995]: [/dev/cdc-wdm0]qos (1.12) > ModemManager[995]: [/dev/cdc-wdm0]wms (1.10) > ModemManager[995]: [/dev/cdc-wdm0]auth (1.3) > ModemManager[995]: [/dev/cdc-wdm0]at (1.2) > ModemManager[995]: [/dev/cdc-wdm0]voice (2.1) > ModemManager[995]: [/dev/cdc-wdm0]cat2 (2.24) > ModemManager[995]: [/dev/cdc-wdm0]uim (1.46) > ModemManager[995]: [/dev/cdc-wdm0]pbm (1.4) > ModemManager[995]: [/dev/cdc-wdm0]test (1.0) > ModemManager[995]: [/dev/cdc-wdm0]loc (2.0) > ModemManager[995]: [/dev/cdc-wdm0]sar (1.0) > ModemManager[995]: [/dev/cdc-wdm0]ts (1.0) > ModemManager[995]: [/dev/cdc-wdm0]tmd (1.0) > ModemManager[995]: [/dev/cdc-wdm0]wda (1.16) > ModemManager[995]: [/dev/cdc-wdm0]csvt (1.1) > ModemManager[995]: [/dev/cdc-wdm0]coex (1.0) > ModemManager[995]: [/dev/cdc-wdm0]pdc (1.0) > ModemManager[995]: [/dev/cdc-wdm0]rfrpe (1.0) > ModemManager[995]: [/dev/cdc-wdm0]dsd (1.0) > ModemManager[995]: [/dev/cdc-wdm0]unknown [0x30] (1.0) > ModemManager[995]: [/dev/cdc-wdm0]unknown [0x36] (1.0) > ModemManager[995]: Creating modem with plugin 'Generic' and > '2' ports > ModemManager[995]: Modem for device at > '/sys/devices/soc0/soc.0/210.aips- > bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.3' > successfully created > ModemManager[995]: [/dev/cdc-wdm0] Opening device with flags > 'version-info, proxy'... > ModemManager[995]: [/dev/cdc-wdm0] Checking version info (10 > retries)... > ModemManager[995]: [/dev/cdc-wdm0] QMI Device supports 25 services: > ModemManager[995]: [/dev/cdc-wdm0]ctl (1.5) > ModemManager[995]: [/dev/cdc-wdm0]wds (1.67) > ModemManager[995]: [/dev/cdc-wdm0]dms (1.0) > ModemManager[995]: [/dev/cdc-wdm0]nas (1.25) > ModemManager[995]: [/dev/cdc-wdm0]qos (1.12) > ModemManager[995]: [/dev/cdc-wdm0]wms (1.10) > ModemManager[995]: [/dev/cdc-wdm0]auth (1.3) > ModemManager[995]: [/dev/cdc-wdm0]at (1.2) > ModemManager[995]: [/dev/cdc-wdm0]voice (2.1) > ModemManager[995]: [/dev/cdc-wdm0]cat2 (2.24) > ModemManager[995]: [/dev/cdc-wdm0]uim (1.46) > ModemManager[995]: [/dev/cdc-wdm0]pbm (1.4) > ModemManager[995]: [/dev/cdc-wdm0]test (1.0) > ModemManager[995]: [/dev/cdc-wdm0]loc (2.0) > ModemManager[995]: [/dev/cdc-wdm0]sar (1.0) > ModemManager[995]: [/dev/cdc-wdm0]ts (1.0) > ModemManager[995]: [/dev/cdc-wdm0]tmd (1.0) > ModemManager[995]: [/dev/cdc-wdm0]wda (1.16) > ModemManager[995]: [/dev/cdc-wdm0]csvt (1.1) > ModemManager[995]: [/dev/cdc-wdm0]coex (1.0) > ModemManager[995]: [/dev/cdc-wdm0]pdc (1.0) > ModemManager[995]: [/dev/cdc-wdm0]rfrpe (1.0) > ModemManager[995]: [/dev/cdc-wdm0]dsd (1.0) > ModemManager[995]: [/dev/cdc-wdm0]unknown [0x30] (1.0) > ModemManager[995]: [/dev/cdc-wdm0]unknown [0x36] (1.0) > ModemManager[995]: [/dev/cdc-wdm0] Reading expected data format from: > /sys/class/net/wwan0/qmi/raw_ip > ModemManager[995]: [/dev/cdc-wdm0] Opening device with flags > 'version-info, net-802-3, net-no-qos-header, proxy'... > ModemManager[995]: [/dev/cdc-wdm0] Checking version info (10 > retries)... > ModemManager[995]: [/dev/cdc-wdm0] QMI Device supports 25 services: > ModemManager[995]: [/dev/cdc-wdm0]ctl (1.5) > ModemManager[995]: [/dev/cdc-wdm0]wds (1.67) > ModemManager[995]: [/dev/cdc-wdm0]dms (1.0) > ModemManager[995]: [/dev/cdc-wdm0]nas (1.25) > ModemManager[995]: [/dev/cdc-wdm0]qos (1.12) > ModemManager[995]: [/dev/cdc-wdm0]wms (1.10) > ModemManager[995]: [/dev/cdc-wdm0]auth (1.3) > ModemManager[995]: [/dev/cdc-wdm0]at (1.2) >
Re: QUECTEL EC20/EC21. Several drivers supported, which one is better to use?
Hi Thomas, thanks for the advice! The EC20 is workign fine. For the EC21, I get the following error: 'QMI operation failed: Cannot send message: QMI service 'dms' version '1.1' required, got version '1.0'' I suspect that can be fixed but just upgrading ModemManager or libqmi (or maybe both). Is that correct? On Tue, Sep 6, 2016 at 9:51 PM, Thomas Schäferwrote: > Am Dienstag, 6. September 2016, 17:57:45 schrieb José: >> Hi, >> >> I am planning to test ModemManager with QUECTEL EC20 and EC21 cellular >> modems. These modems support the following drivers: >> * USB Serial (option.c) >> * CDC ACM >> * GobiNet >> * QMI WWAN >> >> What is the best approach for trying to use ModemManager? > > QMI WWAN, option.c > > >> Should I >> enable all drivers? > > No. > > >> >> Could you recommend which one of those to enable? Thanks > > https://sigquit.wordpress.com/2014/06/11/qmiwwan-or-gobinet/ > > > > I think this blog is still valid. > > > Thomas ___ ModemManager-devel mailing list ModemManager-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel
Re: QUECTEL EC20/EC21. Several drivers supported, which one is better to use?
Am Dienstag, 6. September 2016, 17:57:45 schrieb José: > Hi, > > I am planning to test ModemManager with QUECTEL EC20 and EC21 cellular > modems. These modems support the following drivers: > * USB Serial (option.c) > * CDC ACM > * GobiNet > * QMI WWAN > > What is the best approach for trying to use ModemManager? QMI WWAN, option.c > Should I > enable all drivers? No. > > Could you recommend which one of those to enable? Thanks https://sigquit.wordpress.com/2014/06/11/qmiwwan-or-gobinet/ I think this blog is still valid. Thomas ___ ModemManager-devel mailing list ModemManager-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel