MiFi QMI Driver for Quectel EC20 and UC20

Hi I noticed openwrt-cc/100-gl-mifi-driver.patch at master · domino-team/openwrt-cc · GitHub in the Github repo for OpenWRT.

I am wondering if this will fix the reconnect issue that required a hard reset of the modem?

Will this also improve performance of the current configuration?

Thanks

the firmware is now here: GL.iNet download center

v2.23-5

You can test it in your mifi. EC20 is now using QMI mode by default. You need to setup before using the same UI.

Hi @alzhao I am currently testing the v2.23-5.

After loosing signal of mobile data the MiFi reboots itself. (tested this 3 times)

Also for uqmi can it be updated to the latest version? git.openwrt.org Git - project/uqmi.git/summary

The latest uqmi version supports dual-stack for IPV4 and IPv6

Thanks

I was doing more tests and it seems like the rebooting is fixed when redoing the configuration.

For when signal is lost it seems to retain the connection when signal is in range again.

so, it runs well now? How about the speed? Is it faster than serial mode?

Hi @alzhao it seems to be working good now.

I have posted the speedtest below. The signal at this time is:

“type”: “hdr”,
“rssi”: -125,
“ecio”: 5,
“io”: -106,
“type”: “lte”,
“rssi”: -77,
“rsrq”: -16,
“rsrp”: -116,
“snr”: 2

I will have to test more since the tower / distance here is always slower.

The best it can do on serial mode I have seen is 31.27mbps down and 21.95mbps up.

Just wondering will uqmi get updated to newest version for dual-stack support?

Thanks

@heavymetal, I think it would be helpful to the community if you would please include a detailed config setup along with your carrier data (less passwords if any). Did you do anything other than enter config in the 3G menu? What service type options show for you?

I am struggling with ATT (USA) and can not get to “type”: “lte” mode on my device. Stuck at 'wcdma". Executing uqmi -d /dev/cdc-wdm0 --get-signal-info returns:

“type”: “hdr”,
“rssi”: -125,
“ecio”: 5,
“io”: -106,
“type”: “wcdma”,
“rssi”: -80,
“ecio”: 7
Are you using an EC20-A board?

I think these speeds are great compared to what this site says about USA speeds. USA, August 2016, State of Mobile Networks Report Report | Opensignal

For our International viewers see this page: Market Insights | Opensignal

It does not appear that the Canada report has been update since January and you are running much faster than that report.

First, I think both of you is using EC20.

Second, about the config. Now in Internet settings, you can choose 3G tab, then choose country, service provider, ttyUSB3, UMTS and then click submit.

In firmware v2.23-6, the Mifi will use QMI mode, that is to say, the ttyUSB3 is actually not useful. You also can get information using “uqmi -d /dev/cdc-wdm0 –get-signal-info” to get signal information. But there is still no information about how the modem uses 3G or 4G mode to connect.

In early firmwares, the Mifi will use serial mode, that is to say, using ttyUSB3 to communicate. “umqi” actually cannot work. You have to use AT command to get information.

How the modem choose serial or qmi? Openwrt does the work if you use “wwan” as the protocol. We added EC20’s QMI driver and configuration to the firmware so firmware v2.23-6 can choose QMI mode automatically.

Why not let users choose QMI or serial, or adjust the UI depends on the protocol? Two reasons: (1) difficult to change the UI; (2) This even confuse the users more. We are thinking how to make this simper. Actually these things can be fully automatically. But this programming is more difficult.

Why @RangerZ has slower Internet connections and how to correct this? I actually have no idea now.

 

Hi @alzhao I am testing the new 2.23-6 firmware and I can see that now it is trying to get dual-stack but WAN interface does not come up using this config:

config interface ‘wan’
option device ‘/dev/cdc-wdm0’
option proto ‘qmi’
option apn ‘ltedata.apn’
option modes ‘all’

I have also try proto ‘wwan’ too but they get this error:

Thu Oct 27 15:22:17 2016 daemon.notice netifd: Interface ‘wan’ is setting up now
Thu Oct 27 15:22:17 2016 daemon.notice netifd: wan (2934): Waiting for network registration
Thu Oct 27 15:22:17 2016 daemon.notice netifd: wan (2934): Starting network ltedata.apn
Thu Oct 27 15:22:17 2016 daemon.notice netifd: wan (2934): Unable to connect IPv4
Thu Oct 27 15:22:17 2016 daemon.notice netifd: wan (2934): Unable to connect IPv6
Thu Oct 27 15:22:18 2016 daemon.notice netifd: wan (2934): Unable to connect
Thu Oct 27 15:22:18 2016 daemon.notice netifd: wan (2957): Stopping network
Thu Oct 27 15:22:18 2016 daemon.notice netifd: wan (2957): Command failed: Permission denied
Thu Oct 27 15:22:18 2016 daemon.notice netifd: Interface ‘wan’ is now down

@RangerZ what settings are you using for your modem config? I just used the config here How To use LTE modem in QMI mode for WAN connection [Old OpenWrt Wiki] to get the IPv4 connection working. You may also need set the mode for your modem using “uqmi -d /dev/cdc-wdm0 --set-network-modes all” or can force it to LTE using “uqmi -d /dev/cdc-wdm0 --set-network-modes lte”

Thanks

My config is as follows:

config interface ‘modem’
option proto ‘wwan’
option country ‘country73’
option sp ‘isp0’
option device ‘/dev/ttyUSB3’
option service ‘umts’
option dialnum ‘*99#’
option apn ‘broadband’
option username ‘WAP@CINGULAR.COM’
option password ‘CINGULAR1’
option metric ‘40’

but I too am not connecting. I also tried this:

config interface ‘modem’
option proto ‘qmi’
option country ‘country73’
option sp ‘isp0’
option modes ‘lte’
option dialnum ‘*99#’
option apn ‘broadband’
option username ‘WAP@CINGULAR.COM’
option password ‘CINGULAR1’
option metric ‘40’
option device ‘/dev/cdc-wdm0’
Why are you having the above in the section for ‘wan’, should this not be ‘modem’?

For others, some additional reference

https://wiki.openwrt.org/doc/uci/network#protocol_qmi_usb_modems_using_qmi_protocol

https://wiki.openwrt.org/doc/uci/network#protocol_wwan_usb_modems_autodetecting_above_protocols

I also notice that for proto wwan there is option ‘service’, but for proto qmi there is option ‘modes’, which you have embraced.

With the default GUI config the logs specifically ref the Quectel EC20:

Wed Oct 26 14:42:08 2016 daemon.notice netifd: Interface ‘modem’ is setting up now
Wed Oct 26 14:42:08 2016 daemon.notice netifd: modem (2759): wwan[2759] Using proto:wwan device:/dev/cdc-wdm0 iface:wwan0 desc:Quectel EC20
Wed Oct 26 14:42:08 2016 daemon.notice netifd: modem (2759): Waiting for network registration
Wed Oct 26 14:42:08 2016 daemon.notice netifd: modem (2759): Starting network broadband
Wed Oct 26 14:42:09 2016 daemon.notice netifd: modem (2759): Unable to connect IPv4
Wed Oct 26 14:42:09 2016 daemon.notice netifd: modem (2759): Unable to connect IPv6
Wed Oct 26 14:42:09 2016 daemon.notice netifd: modem (2759): Unable to connect
Wed Oct 26 14:42:09 2016 daemon.notice netifd: modem (2858): Stopping network
Wed Oct 26 14:42:10 2016 daemon.notice netifd: modem (2858): Command failed: Permission denied
Wed Oct 26 14:42:10 2016 daemon.notice netifd: Interface ‘modem’ is now down

With the QMI config I get this:

Wed Oct 26 14:42:43 2016 daemon.notice netifd: Interface ‘modem’ is setting up now
Wed Oct 26 14:42:43 2016 daemon.notice netifd: modem (3858): Waiting for network registration
Wed Oct 26 14:42:49 2016 daemon.notice netifd: modem (3858): Starting network broadband
Wed Oct 26 14:42:49 2016 daemon.notice netifd: modem (3858): Unable to connect IPv4
Wed Oct 26 14:42:49 2016 daemon.notice netifd: modem (3858): Unable to connect IPv6
Wed Oct 26 14:42:49 2016 daemon.notice netifd: modem (3858): Unable to connect
Wed Oct 26 14:42:49 2016 daemon.notice netifd: modem (3951): Stopping network
Wed Oct 26 14:42:49 2016 daemon.notice netifd: modem (3951): Command failed: Permission denied
Wed Oct 26 14:42:49 2016 daemon.notice netifd: Interface ‘modem’ is now down

Hi @RangerZ the “config interface” is just for giving the interface the name which can be anything.

@heavymetal,

Maybe you can try this:

config interface ‘wan’
option device ‘/dev/cdc-wdm0’
option proto ‘qmi’
option apn ‘ltedata.apn’

option ifname ‘wwan0’
option modes ‘all’

Hi @alzhao, I just tried the above config and now I get this in the log:

Sat Oct 29 11:57:53 2016 daemon.notice netifd: Interface ‘wan’ is setting up now
Sat Oct 29 11:57:54 2016 daemon.notice netifd: wan (1699): No control device specified
Sat Oct 29 11:57:54 2016 daemon.notice netifd: wan (1744): Stopping network
Sat Oct 29 11:57:55 2016 daemon.notice netifd: wan (1744): Command failed: Permission denied
Sat Oct 29 11:57:55 2016 daemon.notice netifd: Interface ‘wan’ is now down

Thanks

I have done another test with the signal stats below and can see an improvement over serial mode:

“type”: “hdr”,
“rssi”: -125,
“ecio”: 5,
“io”: -106,
“type”: “lte”,
“rssi”: -49,
“rsrq”: -8,
“rsrp”: -79,
“snr”: 166

Also I have noticed when it looses signal the 3G / 4G LED stays lit.

I have updated to 2.23-7 and can confirm that qmi settings are now working again:

config interface ‘wan’
option proto ‘qmi’
option device ‘/dev/cdc-wdm0’
option apn ‘ltedata.apn’
option mode ‘all’

As for dual-stack I wonder if this will help add the functionality in functionality in OpenWrt Forum Archive

Thanks

@heavymetal, in 2.23-7 I used the most updated uqmi you mentioned.

Are you able to try something on it?

I have finally gotten IPv6 dual-stack to work over 4G.

I have to manually write a connect script that runs at startup here: https://paste.aseriesoftubez.com/p/1478235776-wULPV.txt

After the script runs and it will restart networking in OpenWRT then it will get IPv4 and IPv6 address on the wwan0 interface.

thanks for sharing

@heavymetal. I am not a script genie, but it appears I would need to substitute my apn value for ltedata.apn. Any idea if I would also need to pass the dial number, user and password I have in my script? If so are you able to help with the correct paramaters?

Are you on 2.23-7?

Hi @RangerZ yes you will have to replace “ltedata.apn” with “Broadband” from ATT without the quotes.

According to https://www.att.com/esupport/article.html#!/wireless/KM1062162 you do not have to set any dial number, username, and password.