LTE NB-IoT won't connect to T-Mobile NL
-
Hello,
My GPy won't attach to the t-mobile nb-iot network anymore.
I'm running to following code:lte.attach(band=8, apn="cdp.iot.t-mobile.nl")
Then I wait for lte.isattached() becomes True, but it doesn't.
When I'm sending 'AT+SQNMONI=9', I'll get:
'\r\n+SQNMONI: vodafone NL Cc:204 Nc:04 RSRP:-74.60 CINR:0.00 RSRQ:-11.10 TAC:12407 Id:36 EARFCN:6254 PWR:-55.72 PAGING:256\r\n\r\nOK\r\n'
I'm expecting T-Mobile NL or "LMN ID: 20416 (20416 is T-Mobile NL - MCC - MNC)"
Yesterday my project was working fine and sending battery status.
Does someone has an solution for me?
-
@rfinkers We had a similar problem last week with an sma to ipx adapter cable. Inspection with a magnifying glass showed one of the bifurcated connectors in the ipx plug that mates with the centre pin of the gpy lte antenna socket was missing leading to intermittent lte reliability. Those miniature RF connectors are not well suited to the repeated plug/unplug cycles typical of development work.
-
Okay, my problem is fixed.
I flashed the sequans modem again and I tested my code again. But it was still not working.
I wiggled the cable of the antenna a bit and it connected to the network!
I think the antenna of my gpy wasn't connected properly or the antenna cable is broken or something.
-
@kjm Thnx for your support.
The sim was working properly, but I start to doubt it.
I get the following response:
simreg = 0 service = 0I'll also contact T-mobile if they know a solution.
-
@rfinkers Unreal!
- Are you sure the sim is current?
- What does it say for sim=lte.send_at_cmd('at+creg?').split(',')[1][:1]; ser=lte.send_at_cmd('AT+cind?').split(': ')[1][2]; print('simreg =', sim, 'service =', ser)
-
The following code will give this output.
import os from network import LTE import usocket import time def send_at_cmd_pretty(cmd): response = lte.send_at_cmd(cmd).split('\r\n') print('Sent to modem: \'{}\''.format(cmd)) for line in response: if line.strip() != '': print(line) # Print module details un = os.uname() print('Sysname:', un.sysname) print('Release:', un.release) print('Version:', un.version) print('Machine:', un.machine) # Initialize LTE object lte = LTE() time.sleep(5) # Pre attaching debugging print('Query LTE modem imei...', lte.imei()[:5] + '*' * 10) print('Query SIM iccid...', lte.iccid()[:5] + '*' * 15) send_at_cmd_pretty('ATI1') send_at_cmd_pretty('AT!="showver"') send_at_cmd_pretty('AT!="RRC:setDbgPerm full"') send_at_cmd_pretty('AT!="RRC:showcaps"') time.sleep(5) send_at_cmd_pretty('AT+SQNCTM?') # Attach LTE print('LTE attaching...') lte.attach(band=8, apn="cdp.iot.t-mobile.nl") attempts = 0 while not lte.isattached(): time.sleep(5) attempts = attempts + 1 print('Attaching...', attempts) if attempts % 15 == 0: send_at_cmd_pretty('AT+SQNMONI=9') send_at_cmd_pretty('AT+CEREG?') send_at_cmd_pretty('AT+CFUN?') send_at_cmd_pretty('AT+CSQ') send_at_cmd_pretty('AT!="showphy"') send_at_cmd_pretty('AT!="fsm"') print('LTE attach succeeded!') # Debug attached state send_at_cmd_pretty('AT+CEREG?') send_at_cmd_pretty('AT+SQNMONI=9') send_at_cmd_pretty('AT+CSQ') send_at_cmd_pretty('AT!="showphy"') send_at_cmd_pretty('AT!="fsm"') send_at_cmd_pretty('AT+CGPADDR') send_at_cmd_pretty('AT+PING="172.27.131.100"', delay=5000) # Connect LTE lte.connect() attempts = 0 while not lte.isconnected(): time.sleep(5) attempts = attempts + 1 print('Connecting...', attempts) print('LTE connection succeeded!') # Test DNS try: usocket.dnsserver(0, '8.8.8.8') usocket.dnsserver(1, '1.1.1.1') usocket.dnsserver() print(usocket.getaddrinfo('www.google.com', 80)[0][-1]) except Exception: print('DNS over NB-IoT failed...') # Send message to dashboard s = usocket.socket(usocket.AF_INET, usocket.SOCK_DGRAM) s.setsockopt(usocket.SOL_SOCKET, usocket.SO_REUSEADDR, 1) # s.settimeout(5) # s.setblocking(False) s.sendto(bytearray('Hello World!'), ('172.27.131.100', 15683)) s.close() # Shutdown LTE print("Disonnecting LTE ... ") lte.disconnect() print("Detaching LTE ... ") lte.dettach() print("Shuttting down LTE...") lte.deinit()
Output:
Sysname: GPy Release: 1.20.2.rc6 Version: v1.11-01f49f7 on 2020-02-28 Machine: GPy with ESP32 Query LTE modem imei... 35434********** Query SIM iccid... 89882*************** Sent to modem: 'ATI1' UE6.0.0.0 LR6.0.0.0-41019 OK Sent to modem: 'AT!="showver"' SYSTEM VERSION ============== FIRMWARE VERSION Bootloader0 : 5.1.1.0 [39529] Bootloader1* : 6.0.0.0 [41019] Bootloader2 : NA NV Info : 1.1,0,0 Software : 6.0.0.0 [41019] by robot-soft at 2018-12-13 21:41:15 UE : 6.0.0.0 COMPONENTS ZSP0 : 1.0.99-3171 ZSP1 : 1.0.98-3170 OK Sent to modem: 'AT!="RRC:setDbgPerm full"' OK Sent to modem: 'AT!="RRC:showcaps"' == CAPS config ============================= .Lock UE on SRV band : false .MFBI support : true .TM8 TDD support : false ============================================ == CAPS ==================================== . access stratum: R13 . catM : 1 . nb-IoT : 1 -- EUTRA bands -- . supported : 66/28/26/25/20/19/18/17/14/13/12/8/5/4/3/2/1 . board : 1/2/3/4/5/8/12/13/14/17/18/19/20/25/26/28/66 . admin : . pending admin : -- EUTRA carriers -- . admin : . pending admin : ============================================ OK Sent to modem: 'AT+SQNCTM?' +SQNCTM: standard OK LTE attaching... Attaching... 1 Attaching... 2 Attaching... 3 Attaching... 4 Attaching... 5 Attaching... 6 Attaching... 7 Attaching... 8 Attaching... 9 Attaching... 10 Attaching... 11 Attaching... 12 Attaching... 13 Attaching... 14 Attaching... 15 Sent to modem: 'AT+SQNMONI=9' +SQNMONI: 20416 Cc:204 Nc:16 RSRP:-84.80 CINR:0.00 RSRQ:-11.70 TAC:1552 Id:97 EARFCN:3747 PWR:-65.32 PAGING:1024 OK Sent to modem: 'AT+CEREG?' +CEREG: 2,0 OK Sent to modem: 'AT+CFUN?' +CFUN: 1 OK Sent to modem: 'AT+CSQ' +CSQ: 23,99 OK Sent to modem: 'AT!="showphy"' DL SYNCHRO STATISTICS ===================== Synchro state : CELL_ACQUIRED PPU SIB1 ACQ watchdog : 0 Frequency Hypothesis RF (Hz) : 0 RSRP (dBm) : -84.63 RSRQ (dB) : -11.64 Channel estimation state (Cell-spec.) : HIGH CINR Channel estimation state (UE-spec.) : LOW CINR Channel estimation state (MBSFN) : LOW CINR Channel estimation CINR : 8.65 Channel length : SHORT AGC AGC RX gain (dB) : 46.39 RX PSD BO (dBFs) : -20.92 RX PSD (dBm) : -87.20 Noise level RS (dBm) : -92.59 Digital gain (dB) : 4.30 CINR RS (dB) : 7.96 NARROWBANDS Last DL NB : Central Last UL NB : 0 AFC Frequency offset RF (Hz) : -1286 Frequency offset BB (Hz) : 0 PBCH MIB received quantity : 0 MIB timeout quantity : 0 OK Sent to modem: 'AT!="fsm"' SYSTEM FSM ========== +--------------------------+--------------------+ | FSM | STATE | +--------------------------+--------------------+ | RRC TOP FSM |CAMPED | | RRC SEARCH FSM |CAMPED_ANY | | RRC ACTIVE FSM |IDLE | | PMM PLMN FSM |ANY_CAMPED | | EMM MAIN FSM |NULL | | EMM AUTH FSM |NULL | | EMM CONN FSM |NULL | | EMM TAU FSM |NULL | | EMM TEST FSM |NULL | | ESM BEARER FSM |BEARER_NULL | | SMS MT FSM |IDLE | | SMS MO FSM |IDLE | | LPP FSM |IDLE | | HP MAIN FSM |IDLE | | HP USIM FSM |READY | | HP SMS MO FSM |IDLE | | HP SMS MT FSM |IDLE | | HP CAT FSM |IDLE | +--------------------------+--------------------+ OK Attaching... 16 etc
-
The response is:
['', '+CPIN: READY', '', 'OK', '']
It still won't attach...
-
You can check your modem with m=lte.send_at_cmd('at+cpin?'); m=m.split('\r\n'); print(m), it should attach if m has READY or SYSSTART in it