No Connection using EC25 Mini PCle 4G/LTE - Provider Deutsche Telekom

Hi,

I also have the Quectel EC25-E (using Deutsche Telekom as operator) with Raspberry Pi 4, 3G-4G/LTE Base Shield V2 and LTE Main & Diversity Dual u.FL Antenna – 100mm.

I’m also unable to connect. Trying to establish a connection I get the following LCP timeout error (the blue LED is blinking):

pppd options in effect:
debug # (from /etc/ppp/peers/provider)
updetach # (from /etc/ppp/peers/provider)
maxfail 5 # (from /etc/ppp/options)
dump # (from /etc/ppp/peers/provider)
noauth # (from /etc/ppp/peers/provider)
remotename 3gppp # (from /etc/ppp/peers/provider)
/dev/ttyUSB3 # (from /etc/ppp/peers/provider)
115200 # (from /etc/ppp/peers/provider)
lock # (from /etc/ppp/peers/provider)
connect chat -s -v -f /etc/chatscripts/pap # (from /etc/ppp/peers/provider)
disconnect chat -s -v -f /etc/chatscripts/chat-disconnect # (from /etc/ppp/peers/provider)
nocrtscts # (from /etc/ppp/peers/provider)
modem # (from /etc/ppp/peers/provider)
asyncmap 0 # (from /etc/ppp/options)
lcp-echo-failure 4 # (from /etc/ppp/options)
lcp-echo-interval 30 # (from /etc/ppp/options)
lcp-restart 5 # (from /etc/ppp/options)
hide-password # (from /etc/ppp/peers/provider)
novj # (from /etc/ppp/peers/provider)
novjccomp # (from /etc/ppp/peers/provider)
ipcp-accept-local # (from /etc/ppp/peers/provider)
ipcp-accept-remote # (from /etc/ppp/peers/provider)
ipparam 3gppp # (from /etc/ppp/peers/provider)
noipdefault # (from /etc/ppp/peers/provider)
ipcp-max-failure 30 # (from /etc/ppp/peers/provider)
usepeerdns # (from /etc/ppp/peers/provider)
noccp # (from /etc/ppp/peers/provider)
noipx # (from /etc/ppp/options)
report (CONNECT)
abort on (BUSY)
abort on (VOICE)
abort on (NO CARRIER)
abort on (NO DIALTONE)
abort on (NO DIAL TONE)
send (ATZ^M)
expect (OK)
ATZ^M^M
OK
– got it

send (AT+CGDCONT=1,“IP”,“internet.telekom”^M)
expect (OK)
^M
AT+CGDCONT=1,“IP”,“internet.telekom”^M^M
OK
– got it

send (AT+CSQ^M)
expect (OK)
^M
AT+CSQ^M^M
+CSQ: 20,99^M
^M
OK
– got it

send (AT+COPS?^M)
expect (OK)
^M
AT+COPS?^M^M
+COPS: 0,0,“Telekom.de”,7^M
^M
OK
– got it

send (AT+CREG?^M)
expect (OK)
^M
AT+CREG?^M^M
+CREG: 0,1^M
^M
OK
– got it

send (CONNECT^M)
Script chat -s -v -f /etc/chatscripts/pap finished (pid 710), status = 0x0
Serial connection established.
using channel 2
Using interface ppp0
Connect: ppp0 <–> /dev/ttyUSB3
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x7b6f6643> ]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x7b6f6643> ]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x7b6f6643> ]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x7b6f6643> ]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x7b6f6643> ]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x7b6f6643> ]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x7b6f6643> ]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x7b6f6643> ]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x7b6f6643> ]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x7b6f6643> ]
LCP: timeout sending Config-Requests
Connection terminated.
abort on (ERROR)
abort on (NO DIALTONE)

Sending break to the modem
send (+++^M)
send (+++^M)
send (+++^M)

Goodbye
Script chat -s -v -f /etc/chatscripts/chat-disconnect finished (pid 721), status = 0x0
Serial link disconnected.
Modem hangup

Do I interpret the output right assuming

  • Signal Strength is too low (20,99)
  • Network registration failed (0,1)
    Therefore
  • LTE service is not available (0,0,“Telekom.de”,7) and a connection not possible.

LTE in general should work (connection was successfully established with a smartphone next to the raspi).

If I’m on the right way I try to find a better antenna.

Thanks a million for your advice/hints
Mat

signal is good ‘20’ = -73 dB is categorized as low end of excellent range.
You are not receiving anything from the carrier, you are sending LCP requests until timeout.

do you have the right SIM & service for the mPCIe module? Is the SIM activated?
confirm the right APN for the service.

Curious - why is your chat connection script called ‘pap’ and yet you have noauth set in your provider file.
what happened to the default ‘chat-connect’ from the install?

Thanks

Hi mark,

Thanks for your quick reply.
Signal strength: No need to buy a new antenna. Good :slight_smile:

The SIM is working fine in a smartphone and a laptop. PIN request is disabled.
APN information is given by Deutsche Telekom. I’ll check for typos.

The connection script is called “pap” because Deutsche Telekom uses PAP for authentication. If I understood it right, this file should be used in this case?
“noauth”: should this information be placed in the connection script rather than in the provider file?
With the default install routine and the generated/modified script I got an error, but I’ll check this setting again.

Thanks again and best
Mat

Hi mark,

sometimes things are simple :slight_smile:
I just reinstalled the scripts running install.sh again and a connection was established out of the box, whatever went wrong the first time.

Thanks a million again for your support!
Mat

good to hear!
would you mind sharing your connect script named ‘pap’, ‘pap-secrets’, ‘provider’ & ‘options’
of course mask out a unique/personalized information but leave the formatting in tact.

I ask because there is another user in this forum, handle is K1tty and he too has pap auth requirement that I could not get to work! I think it has something to do with permissions or installed account but it would be nice to do a “stare & compare” to at least vett format and parameters.

Feel free to contact him direct as well if you like.

thanks!

Yes, I’d be glad to.
I’ll check and post it over the weekend.

I also plan to write a tutorial regarding the complete setup. The aim is to replace my VDSL standard border gateway in case of line faults and hardware/software problems.

Yesterday I got bind9 and iptables working. However, it could be a good idea to migrate to nftables (on new raspbian buster lite, which I use setting up the router).

Best
Mat

Hi,
As promised here are my scripts:

** chat-connect

/etc/chatscripts/chat-connect

ABORT “BUSY”
ABORT “NO CARRIER”
ABORT “NO DIALTONE”
ABORT “ERROR”
ABORT “NO ANSWER”
TIMEOUT 30
“” AT
OK ATE0
OK ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2
OK AT+CGDCONT=1,“IP”,"\T",0,0
OK ATD*99#
CONNECT

** provider

/etc/ppp/peers/provider

/dev/ttyUSB3 115200
'# The chat script, customize your APN in this file
connect ‘chat -s -v -f /etc/chatscripts/chat-connect -T internet.telekom’
'# The close script
disconnect ‘chat -s -v -f /etc/chatscripts/chat-disconnect’
'# Hide password in debug messages
hide-password
'# The phone is not required to authenticate
'#noauth
user “t-mobile”
password “tm”
'# Debug info from pppd
debug
'# If you want to use the HSDPA link as your gateway
defaultroute
'# pppd must not propose any IP address to the peer
noipdefault
'# No ppp compression
novj
novjccomp
noccp
ipcp-accept-local
ipcp-accept-remote
local
'# For sanity, keep a lock on the serial line
lock
modem
dump
updetach
'# Hardware flow control
nocrtscts
remotename 3gppp
ipparam 3gppp
ipcp-max-failure 30
'# Ask the peer for up to 2 DNS server addresses
usepeerdns

** options

/etc/ppp/options

'# async character map – 32-bit hex; each bit is a character
'# that needs to be escaped for pppd to receive it. 0x00000001
'# represents ‘\x01’, and 0x80000000 represents ‘\x1f’.
asyncmap 0

'# Require the peer to authenticate itself before allowing network
'# packets to be sent or received.

'# Use hardware flow control (i.e. RTS/CTS) to control the flow of data
'# on the serial port.
crtscts

'# Use software flow control (i.e. XON/XOFF) to control the flow of data
'# on the serial port.
'#xonxoff

'# Specifies that pppd should use a UUCP-style lock on the serial device
'# to ensure exclusive access to the device.
lock

'# Don’t show the passwords when logging the contents of PAP packets.
'# This is the default.
hide-password

'# Use the modem control lines. On Ultrix, this option implies hardware
'# flow control, as for the crtscts option. (This option is not fully
'# implemented.)
modem

'# Enable debugging
'#debug

'# Enable debugging code in the kernel-level PPP driver. The argument n
'# is a number which is the sum of the following values: 1 to enable
'# general debug messages, 2 to request that the contents of received
'# packets be printed, and 4 to request that the contents of transmitted
'# packets be printed.
'#kdebug n

'# If this option is given, pppd will send an LCP echo-request frame to the
'# peer every n seconds. Normally the peer should respond to the echo-request
'# by sending an echo-reply. This option can be used with the
'# lcp-echo-failure option to detect that the peer is no longer connected.
lcp-echo-interval 30

'# If this option is given, pppd will presume the peer to be dead if n
'# LCP echo-requests are sent without receiving a valid LCP echo-reply.
'# If this happens, pppd will terminate the connection. Use of this
'# option requires a non-zero value for the lcp-echo-interval parameter.
'# This option can be used to enable pppd to terminate after the physical
'# connection has been broken (e.g., the modem has hung up) in
'# situations where no hardware modem control lines are available.
lcp-echo-failure 4

'# Set the LCP restart interval (retransmission timeout) to seconds
'# (default 3).
lcp-restart 5

'# With this option, pppd will accept the peer’s idea of our local IP
'# address, even if the local IP address was specified in an option.
ipcp-accept-local

'# With this option, pppd will accept the peer’s idea of its (remote) IP
'# address, even if the remote IP address was specified in an option.
ipcp-accept-remote

'# Disable the IPXCP and IPX protocols.
'# To let pppd pass IPX packets comment this out — you’ll probably also
'# want to install ipxripd, and have the Internal IPX Network option enabled
'# in your kernel. /usr/doc/HOWTO/IPX-HOWTO.gz contains more info.
noipx

'# Exit once a connection has been made and terminated. This is the default,
‘# unless the persist' or demand’ option has been specified.
'#nopersist

'# Do not exit after a connection is terminated; instead try to reopen
'# the connection.
'#persist

'# Terminate after n consecutive failed connection attempts.
'# A value of 0 means no limit. The default value is 10.
maxfail 5

'# Specifies that pppd should disconnect if the link is idle for seconds.
'# The link is idle when no data packets (i.e. IP packets) are being sent or
'# received. Note: it is not advisable to use this option with the persist
'# option without the demand option. If the active-filter option is given,
'# data packets which are rejected by the specified activity filter also
'# count as the link being idle.
'#idle

'# Specifies how many seconds to wait before re-initiating the link after
'# it terminates. This option only has any effect if the persist or demand
'# option is used. The holdoff period is not applied if the link was
'# terminated because it was idle.
'#holdoff

'# ——

It seems that pap-secrets was left untouched by the installer, I remember I edited the file this way

** pap
'# You can use this script unmodified to connect to sites which allow
'# authentication via PAP, CHAP and similar protocols.
'# This script can be shared among different pppd peer configurations.
'# To use it, add something like this to your /etc/ppp/peers/ file:
'#
'# connect “/usr/sbin/chat -v -f /etc/chatscripts/pap -T PHONE-NUMBER”
'# user YOUR-USERNAME-IN-PAP-SECRETS
'# noauth

'# Uncomment the following line to see the connect speed.
'# It will be logged to stderr or to the file specified with the -r chat option.
REPORT CONNECT

ABORT BUSY
ABORT VOICE
ABORT “NO CARRIER”
ABORT “NO DIALTONE”
ABORT “NO DIAL TONE”
“” ATZ
OK AT+CGDCONT=1,“IP”,“internet.telekom”
OK
AT+CSQ
OK
AT+COPS?
OK
AT+CREG?
OK
CONNECT

** pap-secrets

/etc/ppp/pap-secrets

'# INBOUND connections

'# OUTBOUND connections

'# Here you should add your userid password to connect to your providers via PAP.
t-mobile * tm *

There was no need to mask out personalized information. If I understand it right authentication takes place using a challenge-response-authentication and the IMSI. APN information is publicly available.

With the fresh install the standard chat-connect script is used. Although Deutsche Telekom seems to use PAP the pap and pap-secrets files are not needed.

@K1tty: Hope this helps solving your problem.

Another question rise up after testing the connection speed using a laptop connected to the raspi via LAN.
Speed was 21 MBit (good using HSPA/HSPA+ but bad using LTE). How can I determine the connection type and speed via CLI on raspi after a connection is stablished? I installed modem-manager (mmcli) but it is unable to detect the head/modem.

And: What does the line
'# If you want to use the HSDPA link as your gateway
defaultroute
in the provider file mean? Do I need to change this to use LTE? I don’t think so.

Best
Mat