Home Page Forums Raspberry Pi Shields Airplane mode for Quectel EC25 Mini PCle 4G/LTE Module

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
  • #36639

    This is the setup I have:

    – Raspberry Pi 3 Model B+
    – Raspberry Pi 3G-4G/LTE Base Shield V2
    – Quectel EC25 Mini PCle 4G/LTE Module – EC25-A
    – 2x LTE Antenna SMA

    I’ve been trying unsuccessfully to put the EC25 in airplane mode, using GPIO. This simple Python script (and other variations I tried) completes correctly, but doesn’t seem to affect the module at all:

    import RPi.GPIO as GPIO

    airplaneModePin = 35 # Broadcom pin 19 (P1 pin 35)

    GPIO.setup(airplaneModePin, GPIO.OUT)

    currentState = GPIO.input(airplaneModePin)
    print(“Turning airplane mode pin “+str(airplaneModePin)+” from “+str(currentState)+” to “+str(not currentState)+”…”)
    GPIO.output(airplaneModePin, not currentState)

    GPIO.cleanup() # cleanup all GPIO

    Other variations I tried:
    1) Using GPIO.BCM (and pin 19)
    2) Different delays
    3) Using GPIO 23 (pin 16), based on the diagram at https://sixfab.com/updated-tutorial-3-make-a-ppp-internet-connection-with-3g-4glte-shields-on-raspberry-pi/
    4) Outputting GPIO.HIGH, waiting 2/5/10 seconds and then outputting GPIO.LOW

    In all cases, the module seems to keep LTE connectivity, as if nothing happened, ifconfig ppp0 keeps showing the same IP and a browser connects normally to the web.

    Any suggestions?



    The W_DISABLE control function is disabled in firmware by default. It can be enabled by AT+QCFG=”airplanecontrol”,1 command once.

    Then you can continue with the process of with your script.


    I do not see AT+QCFG=”airplanecontrol”,1 in the current EC21/25 manual, and this is not working for me. I do see AT+QSCLK, which looks like it might be similar (but is not directly related to the GPIO pin).


    I also just ran AT+QCFG=? to get the dump of options, and it does not show this as one of those defined. Here is what I get with an EC25-A

    +QCFG: “urc/delay”,(0,1)
    +QCFG: “agps/string”,(0,1)
    +QCFG: “cdmaruim”,(0,1)
    +QCFG: “cmux/urcport”,(0-4)
    +QCFG: “ModemRstLevel”,(0,1)
    +QCFG: “ApRstLevel”,(0,1)
    +QCFG: “ltectcc/smsstorage”[,(0,1)]
    +QCFG: “noauthcheck”,(0,1)
    +QCFG: “nwscanmodeex”,(1-63)
    +QCFG: “oostimer”,<timer1>,<timer2>,<timer3>
    +QCFG: “diversity”,(0-1)
    +QCFG: “ppp/termframe”,(0,1)
    +QCFG: “nwoptmz/acq”,(0,1),(60-16777200)
    +QCFG: “ims”,(0-2)
    +QCFG: “pcmclk”,(0,1)
    +QCFG: “tone/incoming”,(0,1)
    +QCFG: “rssi”,(0-20)
    +QCFG: “cdmasms/cmtformat”[,(0,1)]
    +QCFG: “ltesms/format”[,(0,1)]
    +QCFG: “amrcodec”,(0-255)
    +QCFG: “apready”,(0,1),(0,1),(100-3000)
    +QCFG: “sleepind/level”,(0,1)
    +QCFG: “wakeupin/level”,(0,1)
    +QCFG: “urc/cache”,(0,1)
    +QCFG: “thermal/modem”[,<level>,<trig>,<clr>]
    +QCFG: “thermal/limit_rates”[,<enable>]
    +QCFG: “lte/bandprior”,(1-43),(1-43),(1-43)
    +QCFG: “codec/powsave”,(0,1)
    +QCFG: “qmisync”,(0,1)
    +QCFG: “disrplmn”,(0,1)
    +QCFG: “vts/async”,(0,1)
    +QCFG: “urc/ri/pin”,(“uart_ri”,”uart_dcd”)
    +QCFG: “iproute_enable”,(0,1)
    +QCFG: “imsreg/iptype”,(0,1)
    +QCFG: “stkauto/setupmenutr”,(0,1)
    +QCFG: “eps/guti_enable”,(0,1)
    +QCFG: “qcautoconnect”,(0,1)
    +QCFG: “ftm/mbim”,(0,1)
    +QCFG: “volte/disable”,(0,1)
    +QCFG: “multi_ip_package”,<enable>,<package_max_len>,<package_max_count_in_queue>,<timeout>


    So for the EC21/25 using AT+QSCLK=1 seems to allow this to work when changing pin 35. With that said, it seems to activate on change (not a specific state), and then reconnects shortly thereafter. This reset might be related to my use of AutoSSH or the PPPD (TBD but I suspect so).

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.