NB-IoT in Hungary?



  • Has anybody experience with NB-IoT modules in Hungary? Primarily Telecom (T-Systems) but Vodeafone is also interesting.



  • @bmarkus said in NB-IoT in Hungary?:

    @combaindeft Telekom announced publicly 60% national, 100% Budapest coverage. Question is not about coverage but PyCom usability. I can use e.g. QUECTEL without any problem.

    Today I had a break-through and can send data via AT-Commands ...

    Though, to make a proper data-connection and use USocket to send data ... that it's up to PyCom to add support for handling their network (had a talk with Telia here in Sweden today regarding their NB-IOT network).

    So yeah, question is how fast PyCom can add support for all operators data Networks around the globe.



  • @combaindeft Telekom announced publicly 60% national, 100% Budapest coverage. Question is not about coverage but PyCom usability. I can use e.g. QUECTEL without any problem.



  • @paul-thornton
    Hi Paul, thanks for clarification. I think it would be helpful if Pycom could implement DNS client which would work independently from NIC's API and which would accept DNS server IP address as an optional parameter.


  • Global Moderator

    @danielm Just to clarify. Ive asked.There is no undocumented command to set a dns server if not already provided by the network operator. (At the moment)



  • @danielm

    From my testing so far, on the Network I'm on ... the UDP connection seems only to be one-direction :-)

    But I'll stand corrected :-)



  • @combaindeft
    UDP-only NB-IoT network is bidirectional as well. DNS protocol works over UDP :)



  • @bmarkus

    Right now, everything is in development and it all depends how far they have come in Hungary ... maybe call all our Telecom Operators in Hungary and ask if they support NB-IOT?

    If you are lucky, they'll say yes - they do ... and at the same moment starts your next headache ... will the help you in telling you how to get things working with their network?

    And 3rd headache, does the board you buy support them ...

    So far from all the testing, the PyCom FiPy is almost there ... in sweden at least ... I can attach to the network and connected (get an iP) ... but the remaining question now is how to send data over the connection ...

    Right now ... attaching seems oK ... as we can continue playing with sending AT-commands to the modem ...

    But when we "connect" ... and it goes into setting up a PPP-connection (ergo a "data"-link ... like on your phone when you browse the webz...) ... it doesn't work.

    Here I suggest to PyCom to add a usocket.AF_NBIOT option in USocket ... as they've done with SIGFOX and LORA ... to forcefully direct the data through NB-IOT

    s_nb = usocket.socket(usocket.AF_NBIOT, usocket.SOCK_DGRAM, usocket.IPPROTO_UDP)
    

    (mainly as we we are testing with LoRa, Sigfox, WiFi and Bluetooth ... you'd like to tell the sockets what connection to use ... and not let the "socket" decide for you ...)

    Anywho ... hope it helps you a bit.

    And as for hijacking your topic ... sorry a-bout that ... but have already started a topic ... and old topics get berried quite quickly in this active forum :-)



  • @danielm

    Thanks for the great info ... but I don't think a DNS Lookup library is worth is ... since the NB-IOT network via Telia is UDP only ... ergo "one-way" communication ... so, a device is only allowed to send but never receive :-(

    (and it does make sense, since IOT devices are ment to be low-power and not use a lot of broadband ...)



  • Just wanted to know is it whorth to buy any NB-IoT capeble PyCom module for Hungary.ű

    Guys, it is great you hijacked my topic, really said to see it. Why don't you open a new thread instead?



  • @combaindeft said in NB-IoT in Hungary?:

    Is there a way to set the DNS_prim_addr to it?

    There is no such command in the AT command manual. There may be some undocumented command. I am testing in network of Slovak Telekom and DNS servers are not provided by the network here as well.

    Another approach may be to write DNS lookup library.



  • @danielm

    Also, having e-mailed with them (Telia) a bit, I do know that the GSSN's ip-address is 217.214.135.1

    Is there a way to set the DNS_prim_addr to it?



  • @danielm

    Hi,

    Here is what I'm getting:

    >>> send_at_cmd_pretty('AT+CGCONTRDP')
    
    +CGCONTRDP: 1,5,"lpwa.telia.iot.mnc020.mcc238.gprs","10.17.160.100.255.255.255.255","","","","",""
    
    OK
    
    >>>
    


  • @combaindeft
    Are you getting DNS server IP address from the network? You can check with 'AT+CGCONTRDP' command.

    From Sequans AT command manual:
    The execution command returns the relevant information <bearer_id>,
    <apn>, <local_addr and subnet_mask>, <gw_addr>,
    <DNS_prim_addr>, <DNS_sec_addr>, <P-CSCF_prim_addr>,
    <P-CSCF_sec_addr>, <IM_CN_Signalling_Flag> and
    <LIPA_indication> for an active non secondary PDP context with the
    context identifier <cid>.



  • @paul-thornton Yeah, I know about that, I was one of them that has already logged that issue :-)

    As for the The output you saw, is from running the latest development build

    Pycom MicroPython 1.20.0.rc0 [v1.9.4-9f0896a] on 2018-12-08; FiPy with ESP32
    

    And this time around both api.wia.io and www.google.se is giving the same result.

    LOG: Attaching to LTE network ... OK
    LOG: Check LTE signal streanght (RSSI): +CSQ: 25,99OK
    LOG: Getting IP address: +CGPADDR: 1,"10.17.191.218"OK
    
    +CGDATA: ("PPP")
    
    OK
    
    LOG: Connecting on LTE network  OK
    
    -----------------------------------------------------------------------------
    LOG: Initializing DNS query of domain name(s)
    LOG: api.wai.io
    ('184.109.15.128', 80)
    LOG: api.wai.io
    ('184.109.15.128', 80)
    LOG: api.wai.io
    ('184.109.15.128', 80)
    LOG: www.google.se
    ('184.109.15.128', 80)
    LOG: www.google.se
    ('184.109.15.128', 80)
    LOG: www.google.se
    ('184.109.15.128', 80)
    Pycom MicroPython 1.20.0.rc0 [v1.9.4-9f0896a] on 2018-12-08; FiPy with ESP32
    Type "help()" for more information.
    >>>```

  • Global Moderator

    @combaindeft

    HI, Thanks for that. Let me see what I can find out and get back to you.

    I know we had some issues around dns resolution recently that have recently been fixed in the latest RC firmware. https://forum.pycom.io/topic/4099/new-firmware-release-candidate-v1-20-0-rc0/ Im not certain if this is one of them but it would be worth giving that a try if you havent already.



  • @paul-thornton Hi,

    Related to a different Country ... Sweden ... I'm having issues in getting NB-IOT to work via Telia NB-IOT :-(

    Here is a log of the output:

    Initializing filesystem as FatFS!
    -----------------------------------------------------------------------------
    DEBUG :: START-UP        :: @ 3 :: FREE MEM 2519792
    -----------------------------------------------------------------------------
    DEBUG :: ENABLE GC       :: @ 3 :: FREE MEM 2519536
    DEBUG :: IMPORT MACHINE  :: @ 5 :: FREE MEM 2519264
    DEBUG :: IMPORT BinASCII :: @ 6 :: FREE MEM 2519008
    DEBUG :: IMPORT PyCom    :: @ 6 :: FREE MEM 2518736
    DEBUG :: IMPORT SOCKET   :: @ 6 :: FREE MEM 2518480
    DEBUG :: IMPORT USOCKET   :: @ 6 :: FREE MEM 2518160
    DEBUG :: IMPORT LoRa     :: @ 6 :: FREE MEM 2517888
    DEBUG :: IMPORT NETWORK  :: @ 6 :: FREE MEM 2517632
    DEBUG :: IMPORT Acceloramoter :: @ 7 :: FREE MEM 2512784
    DEBUG :: IMPORT L76GNSS  :: @ 7 :: FREE MEM 2509328
    DEBUG :: IMPORT PyTrack  :: @ 8 :: FREE MEM 2505232
    DEBUG :: IMPORT UbinASCII :: @ 8 :: FREE MEM 2507680
    DEBUG :: IMPORT Wia.IO urequests :: @ 9 :: FREE MEM 2501104
    DEBUG :: IMPORT Sigfox :: @ 9 :: FREE MEM 2501904
    DEBUG :: IMPORT Struct :: @ 9 :: FREE MEM 2501936
    DEBUG :: IMPORT SD :: @ 9 :: FREE MEM 2501920
    DEBUG :: IMPORT LTE :: @ 10 :: FREE MEM 2501888
    DEBUG :: IMPORT SYS :: @ 10 :: FREE MEM 2501904
    DEBUG :: IMPORT RTC :: @ 10 :: FREE MEM 2501888
    -----------------------------------------------------------------------------
    
    -----------------------------------------------------------------------------
    
    @ L76GNSS :: __init__ :: PyTrack I2C
    LOG: Define global lat, lng
    LOG: Define global DEBUG_LAT, DEBUG_LNG
    LOG: Set global DEBUG_LAT, DEBUG_LNG to DeGaVi: 55.7068,13.1893
    LOG: Define WIFI's
    LOG: Define global wlan
    LOG: Mount SD() to /sd
    LOG: listdir of /sd
    
    -----------------------------------------------------------------------------
    LOG: Initializing LTE NB-IOT
    LOG: define LTE()
    LOG: Reset LTE()
    LOG: Disonnecting LTE ... OK
    LOG: Detaching LTE ... OK
    LOG: LTE IMEI: 354346099263716
    LOG: AT CMD: AT+CFUN=0
    OK
    
    LOG: AT CMD: AT!="clearscanconfig"
    
    OK
    
    LOG: AT CMD: AT!="addscanfreq band=20 dl-earfcn=6252"
    
    OK
    
    LOG: AT CMD: AT+CGDCONT=1,"IP","lpwa.telia.iot"
    OK
    
    LOG: AT CMD: AT+CEREG=2
    OK
    
    LOG: AT CMD: AT+CFUN=1
    OK
    
    LOG: AT+COPS?
    +COPS: 1
    
    OK
    
    LOG: AT+COPS?
    +COPS: 1
    
    OK
    
    LOG: AT+COPS?
    +COPS: 1,2,"24001",9
    
    OK
    
    LOG: AT CMDs for Telia NB-IOT
    LOG: AT CMD: AT+CMEE=1
    OK
    
    LOG: AT CMD: AT+CGPADDR
    +CGPADDR: 1,"10.17.188.239"
    
    OK
    
    LOG: Attaching to LTE network  OK
    LOG: Check LTE signal streanght (RSSI): +CSQ: 24,99OK
    LOG: Getting IP address: +CGPADDR: 1,"10.17.188.239"OK
    
    +CGDATA: ("PPP")
    
    OK
    
    LOG: Connecting on LTE network  OK
    ('64.47.254.63', 80)
    ('1.0.0.0', 80)
    ('1.0.0.0', 80)
    ('1.0.0.0', 80)
    ('1.0.0.0', 80)
    ('1.0.0.0', 80)
    Pycom MicroPython 1.20.0.rc0 [v1.9.4-9f0896a] on 2018-12-08; FiPy with ESP32
    Type "help()" for more information.
    >>>
    

    So as you can see, I'm connecting, getting an iP address ... but I cannot do a DNS resolve of some domain names :-(

    def lte_check_ip():
        # Delay between each event
        DELAY = 5
        print(usocket.getaddrinfo("api.wia.io", 80)[0][-1])
        time.sleep(DELAY)
        print(usocket.getaddrinfo("api.wia.io", 80)[0][-1])
        time.sleep(DELAY)
        print(usocket.getaddrinfo("api.wia.io", 80)[0][-1])
        time.sleep(DELAY)
        print(usocket.getaddrinfo("www.google.se", 80)[0][-1])
        time.sleep(DELAY)
        print(usocket.getaddrinfo("www.google.se", 80)[0][-1])
        time.sleep(DELAY)
        print(usocket.getaddrinfo("www.google.se", 80)[0][-1])
    

    As you also can check, the IP address for api.wia.io isn't: 64.47.254.63

    [temp @ isx-deft : ~ ]  $ ping api.wia.io
    PING api.wia.io (52.17.209.228): 56 data bytes
    64 bytes from 52.17.209.228: icmp_seq=0 ttl=41 time=53.890 ms
    64 bytes from 52.17.209.228: icmp_seq=1 ttl=41 time=44.260 ms
    64 bytes from 52.17.209.228: icmp_seq=2 ttl=41 time=45.222 ms
    64 bytes from 52.17.209.228: icmp_seq=3 ttl=41 time=60.190 ms
    64 bytes from 52.17.209.228: icmp_seq=4 ttl=41 time=46.505 ms
    64 bytes from 52.17.209.228: icmp_seq=5 ttl=41 time=45.736 ms
    64 bytes from 52.17.209.228: icmp_seq=6 ttl=41 time=44.705 ms
    ^C
    --- api.wia.io ping statistics ---
    7 packets transmitted, 7 packets received, 0.0% packet loss
    round-trip min/avg/max/stddev = 44.260/48.644/60.190/5.610 ms
    

  • Global Moderator

    Hi,

    What was it you wanted to know, I dont have any direct experience (Im over in the UK) but would happily help you find out the info you require :)


 

Pycom on Twitter