Turris (Version Oct. 2022) with Turris OS 6.0 - Quectel EP06-E installation

Hello Turris Community,

I got the new Turris (Version Oct. 2022) with the Turris OS 6.0 for a small-business-customer. As he needs LTE connectivity as well, I got the Quectel EP06-E LTE modem (RTROM01-LTE-KIT - Turris LTE-Kit für Omnia | Turris Omnia | Varia-Store) which I physically installed like described here:
Installation of LTE modem into Turris Omnia router [Turris wiki]

Now the first question:

  1. I saw in some threads on the forum, that to use the modem, one needs to put some tape over some pins of the modem - is this still mandatory on my configuration of new devices and OS?

When I start my Turris at first it seems that it realizes that something is happening on its PCI1 - I assume that because the PCI1 LED shines in the first moments during startup. After boot though no more PCI1-LED is shining.
However if connected through ssh and checked with lsusb I see that something is connected:
Bus 001 Device 002: ID 2c7c:0306 Quectel EP06-E
with lspci - the Quectel is not visible.

  1. Therefore - I wonder - what exacty does the PCI1 LED indicate and if one can rely on its status?

Now following the turtorial (…/lte_modem_install…) I should be able to somehow add a new device and interface to the network configuration (for LTE). Unfortunately I can’t find most of the important menu-points in the new LUCI interface.
I can add a new interface, but already in the choice of protocol UMTS/GPRS/EV-DO is not available, /dev/ttyUSBX neither as a choice of device and neither LTE as a menupoint in interfaces.

  1. How can I configure the modem on the new Turris so I can get some LTE-connectivity?

I hope this questions have not been asked yet - anyhow I am grateful for your answers as getting that thing working is a bit time-critical for my customer right now.

Thanks and have a great day,

Michael

1 Like

Hi @Shoadi ,

Pins: For the EC25-E (which many got as an upgrade at the time of the Indiegogo campaign, including myself) I can confirm that no messing around with pins is required. Regarding the EP06-E: not sure, but since you it’s showing up as a PCI device I’d assume it’s working fine.

Software support: There is a package collection which installs all WWAN-related packages. This should enable the related items in LuCI etc. It’s convenient to enable it through reForis.

LEDs: LEDs are in a bit of a limbo since the Turris OS 6 release. There’s promising progress on that front, I’d just wait for a couple of point releases before looking into it more closely.

1 Like

I am using Quectel EP06-E with older revision of Omnia hardware (RTROM01-2G) on Turris OS 5.2.3, with USB3 pins taped of course, and here are a few comments:

  1. It’s OK that lspci does not detect this device, but lsusb should show it (as in yours case, so hardware seems OK).
  2. Modem has a multiple hardware modes (QMI, ECM, MBIM and PPP). QMI didn’t work for me because of eventual desync of IP address on the modem (as shown by uqmi -d /dev/cdc-wdm0 --get-current-settings) and on the Omnia (as shown by ifconfig wwan0). ECM didn’t work for me because it does not support port forwarding for builtin NAT. And for MBIM there were no functional drivers in OpenWRT/TurrisOS at the time of testing. So I settled with PPP.
  3. There should be 4 serial ports added to the Omnia by this modem (try ls -l /dev/ttyUSB* to check this out).
  4. According to Quectel docs, /dev/ttyUSB2 serial port is for AT command communication.
  5. So I’ve hacked a small Python script to issue AT commands for the LTE modem (maybe there’s better way IDK, but I didn’t like picocom):
#!/usr/bin/python
import serial, fcntl, sys

ser = serial.Serial('/dev/ttyUSB2', 115200, timeout=10)
if not ser.isOpen:
    sys.stderr.write("Could not open serial port\n")
    sys.exit(1)

try:
    fcntl.flock(ser.fileno(), fcntl.LOCK_EX)

    try:
        for i in range(1, len(sys.argv)):
            ser.write((sys.argv[i] + "\r\n").encode())

        last_six_bytes  = ""
        last_nine_bytes = ""
        while True:
            in_byte = ser.read(1)
            if len(in_byte) == 0:
                break
            sys.stdout.write(in_byte.decode())
            last_six_bytes  = last_six_bytes  + in_byte.decode()
            last_nine_bytes = last_nine_bytes + in_byte.decode()
            if len(last_six_bytes) > 6:
                last_six_bytes = last_six_bytes[-6:]
            if len(last_nine_bytes) > 9:
                last_nine_bytes = last_nine_bytes[-9:]
            if last_six_bytes == "\r\nOK\r\n":
                break
            if last_nine_bytes == "\r\nERROR\r\n":
                break

    finally:
        fcntl.flock(ser.fileno(), fcntl.LOCK_UN)

finally:
    ser.close()
  1. If /dev/ttyUSB* interfaces don’t show up (or uqmi tool doesn’t work), you may need to install these packages: kmod-usb-serial, kmod-usb-serial-option and kmod-usb-net-qmi-wwan.
  2. Useful AT commands are: ATI (identify modem), AT+QINISTAT and AT+QCCID (check SIM card), AT+QSPN and AT+QNWINFO (query network info), AT+CSQ (signal quality report), AT+QUSBCFG="SS",0 (deactivate USB 3.0 on modem side, so taping of the modem pins for Omnia is no longer necessary), AT+QCFG="roamservice",1,0 (never roam). AT+QPOWD is to save settings and reboot the LTE modem. It’s all in Quectel AT commands manual for EP06-E.
  3. Undocumented AT command AT+QCFG="USBNET",0 puts this modem into the PPP/QMI mode (1 = ECM mode, 2 = MBIM mode). Then a corresponding WAN interface for this LTE modem can be created via Omnia web UI (Network → Interfaces → Add new interface…, Name of the new interface: lte, Protocol: UMTS/GPRS/EV-DO). If such option is not listed in the web UI, then you need to install luci-proto-3g package.

Hope this helps.

4 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.