Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Telit LE910 Cellular Modem - working in 2.4.2

    Scheduled Pinned Locked Moved Hardware
    2 Posts 2 Posters 2.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      conor
      last edited by

      The Telit LE910 comes in three variants that i am aware of:

      LE910-EU V2 - EMEA
      LE910-NA V2 - AT&T and T-Mobile USA
      LE910-SV V2 - Verizon USA (subject to Verizon application approval process)

      Datasheets and docs are here:
      https://techship.com/products/category/cellular-modules/

      I've got this working on 4G on a carrier in the EU which only needs the APN set (no USERNAME and Password required)

      The module when the device boots up appears in dmesg with the following info:

      ugen1.3: <telit fih7160=""> at usbus1
      umodem0 on uhub2
      umodem0: <cdc acm=""> on usbus1
      umodem0: data interface 1, has no CM over data, has break
      umodem1 on uhub2
      umodem1: <cdc acm=""> on usbus1
      umodem1: data interface 3, has no CM over data, has break
      umodem2 on uhub2
      umodem2: <cdc acm=""> on usbus1
      umodem2: data interface 5, has no CM over data, has break
      umodem3 on uhub2
      umodem3: <cdc acm=""> on usbus1
      umodem3: data interface 7, has no CM over data, has break
      umodem4 on uhub2
      umodem4: <cdc acm=""> on usbus1
      umodem4: data interface 9, has no CM over data, has break
      umodem5 on uhub2
      umodem5: <cdc acm=""> on usbus1
      umodem5: data interface 11, has no CM over data, has break
      cdce0 on uhub2
      cdce0: <cdc ncm=""> on usbus1
      ue0: <usb ethernet=""> on cdce0
      ue0: Ethernet address: 00:00:11:12:13:14</usb></cdc></cdc></cdc></cdc></cdc></cdc></cdc></telit>
      

      So it creates an interface ue0 and in /dev/ there are 6 cuaU* ports created.

      It appears that /dev/cuaU0 and /dev/cuaU3 are the important ones.

      To get it working:

      In the web gui for the device I created a interface OPT1 mapped to ue0 and set to DHCP for now.

      I created an allow all rule on the firewall for the interface for testing (you'll want to not use that in production).

      Then on the cli i did the following:

      You need a terminal session for setting up the connection:

      cu -l /dev/cuaU0
      

      Once in terminalyou need to do the following

      Check the modems for the modem are correct:
      Command:

      AT#PORTCFG?
      

      Should give the response below, anything else and you probably need to change the mode.

      #PORTCFG: 0,0
      

      Command:

      AT#USBCFG?
      

      Should get the response below:

      #USBCFG: 0
      

      Now need to check what technology it supports:
      Command:

      AT+WS46?
      

      So by default the reply should be 25, 25 means 4G/3G/2G

      Check the Sim:

      AT+CPIN?
      

      If not PIN or PUK locked you should get:

      +CPIN: READY
      

      Check if the sim is registered to the network:

      AT+CREG?
      

      If registered you get 0,1 like this:

      +CREG: 0,1
      

      Check what operator:

      AT+COPS?
      

      Example:

      +COPS: 0,0,"3",7
      

      Here the first digit 0 i understand means automatic , the "3" is the name of the operator and the 7 is for 4G.

      Check if attached:

      AT+CGATT?
      

      Need to get:

      +CGATT: 1 
      

      This is where it gets a bit messier. Right so according to a Telit support member in LTE PID1 is reserved, also no PIDs can have the same APN name and also apparently for Verizon only PID3 can be used for custom values. I need to go back to them on this for more detail.

      To see what PDP contexts are set up enter:

      AT+CGDCONT?
      

      You should only see one entry PID1:

      +CGDCONT: 1,"IPV4V6","","",0,0
      

      Now lets say you want to add an APN use PID2 with the following command where 3.co.uk is the APN value.

       AT+CGDCONT=2,"IP","3.co.uk"
      

      Now to connect on PID2 you enter the following command, the second 2 is the PID entry.

      AT#NCM=2,2
      

      Wait for the OK.

      Then you get the IP details, the 2 here is the PID (although i got the same values for 1)

      AT+CGCONTRDP=2
      

      You will get back:

      +CGCONTRDP: 2,5,"string.gprs","10.199.37.13.255.0.0.0","10.199.37.14","172.30.224.65","172.30.224.65","0.0.0.0","0.0.0.0"
      

      This break down as follows: "10.199.37.13.255.0.0.0" ==> IP: 10.199.37.13 and Mask: 255.0.0.0
      The far side gateway is: "10.199.37.14"
      DNS servers: "172.30.224.65","172.30.224.65"

      Now in the web gui use the IP, subnet on the OPT1 interface and set up a gateway with the far side gateway value.

      Once set up if you were doing a tcpdump on the ue0 interface you will see arp requests for the far side IP and no replies so what you need to do is add the following static arp entry in the arp table:

      arp -S 10.199.37.14 11:22:33:44:55:66
      

      The IP is the far side gateway IP and the MAC is always that value (well thats the one that works for me and is in the Telit docs.)

      You are now up and running.

      You can check the signal with the command:

      AT#MONI
      

      If you get disconnected a single string will appear on the terminal: NO CARRIER

      To disconnect use the command:

      AT#NCMD=0
      

      The zero isn't related to the PID its a device value and for now always 0.

      This obviously isn't an working out of the box solution but someone who needs a working module not on PPP might find this a nice starting point. The use of CDC-NCM is different than the PPP of other vendors. This is meant as an information sharing topic/post for those wanting to work on or use CDC-NCM rather than PPP.

      200+ pfSense installs - best firewall ever.

      1 Reply Last reply Reply Quote 1
      • Q
        q54e3w
        last edited by

        Thanks for sharing. What sort of performance did you see with this Conor?

        1 Reply Last reply Reply Quote 0
        • First post
          Last post
        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.