Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    How are NewChannelReq handled

    Scheduled Pinned Locked Moved LoPy
    lorawan channellorawan joinnewchannelreq
    4 Posts 3 Posters 28 Views 3 Watching
    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.
    • T Offline
      Thomas Schaefer
      last edited by

      Hi all!
      Today I tried to join via OTAA with a LoPy1 to a LoRaWAN-Network here in my local area.
      At the first moment, everything looks fine. The Lopy sends the JoinRequest and gets his JoinAccept. But afterwards not only one packet reached my dashboard. Despite this, a ReJoin worked well.
      After some investigations, I found that the provider uses a different frequency plan. Different in terms of "Not the TTN plan".
      So I observed the frequencies used after the join, and the LoPy does not use the frequencies from the providers frequency plan.
      After I realized the problem, I set the channel frequencies manually, and everything work like a charm.
      So far, so good. But this is not the way, the things should be done, isn't it?

      How can I manage this problem?

      Cheers,
      Thomas

      J 1 Reply Last reply Reply Quote 0
      • J Offline
        jcaron @Thomas Schaefer
        last edited by

        @Thomas-Schaefer What firmware version are toi using and which region are you in? Do you keep the LoPy running without rebooting it or having it go to deep sleep during all your tests?

        If you reboot or deep sleep, you need to save and restore the LoRaWAN state to keep the channel assignments given by the network.

        Can you share logs of the MAC commands sent to the LoPy and the channels used for uplinks?

        1 Reply Last reply Reply Quote 0
        • T Offline
          Thomas Schaefer
          last edited by

          Hi!
          So, takes a while, to collect all the information.
          I'm running the latest firmware:

          (sysname='LoPy', nodename='LoPy', release='1.20.2.r4', version='v1.11-ffb0e1c on 2021-01-12', machine='LoPy with ESP32', lorawan='1.0.2', pybytes='1.6.1')
          

          Intentionally I only use light sleep (machine.sleep()) between the tasks, but I save LoRaWAN state to nvram after every LoRaWAN action.
          Unfortunately I have no access to the LNS but I asked to get the logs.

          While I'm investigating, I found something weird. I had some Guru Meditation Errors, after sending the Lopy to light sleep, but clearly before it comes back to normal operation:

          2782286522: INFO - >>>>>>Packed Sensor Data (14 Bytes) send at 2021-02-15 14:17:02
          2782286535: DEBUG - Next transmission in 270 seconds
          2782286545: DEBUG - Go to light sleep for 30 Seconds
          Guru Meditation Error: Core  0 panic'ed (StoreProhibited). Exception was unhandled.
          Core 0 register dump:
          PC      : 0x40095f3b  PS      : 0x00060c33  A0      : 0x80088f54  A1      : 0x3ffb7130
          A2      : 0x00000000  A3      : 0x00060c20  A4      : 0x00000001  A5      : 0x0000cdcd
          A6      : 0xb33fffff  A7      : 0x3ffaff34  A8      : 0x0000abab  A9      : 0x3ffb7130
          A10     : 0x00000003  A11     : 0x0000cdcd  A12     : 0x00060c20  A13     : 0x00038214
          A14     : 0x3fbc1030  A15     : 0x3fbc1771  SAR     : 0x00000000  EXCCAUSE: 0x0000001d
          EXCVADDR: 0x00000000  LBEG    : 0x40093a40  LEND    : 0x40093a6e  LCOUNT  : 0xffffffff
          
          ELF file SHA256: 0000000000000000000000000000000000000000000000000000000000000000
          
          Backtrace: 0x40095f3b:0x3ffb7130 0x40088f51:0x3ffb7160 0x40086d29:0x3ffb7180 0x40145196:0x3ffb71c0 0x400d2418:0x3ffb71e0
          

          Never seen something like that before with FW 1.20.2.rc6 or 1.20.2.rc6-0.10.1-vanilla-squirrel, what I used before. The coredump tells me:

          ==================== THREAD 1 (TCB: 0x3ffb727c, name: 'esp_timer') =====================
          #0  0x40095f3b in uxPortCompareSet (set=<synthetic pointer>, compare=3007315967, addr=0x0) at /home/peter/docs/pycom-esp-idf/components/freertos/include/freertos/portmacro.h:355
          #1  vPortCPUAcquireMutexIntsDisabledInternal (timeout_cycles=-1, mux=0x0) at /home/peter/docs/pycom-esp-idf/components/freertos/portmux_impl.inc.h:86
          #2  vPortCPUAcquireMutexIntsDisabled (timeout_cycles=-1, mux=0x0) at /home/peter/docs/pycom-esp-idf/components/freertos/portmux_impl.h:98
          #3  vTaskEnterCritical (mux=0x0) at /home/peter/docs/pycom-esp-idf/components/freertos/tasks.c:4201
          #4  0x40088f54 in wifi_int_disable_wrapper (wifi_int_mux=0x0) at /home/peter/docs/pycom-esp-idf/components/esp32/esp_adapter.c:192
          #5  0x40086d2c in pp_post ()
          #6  0x40145199 in cnx_coexist_timeout ()
          #7  0x400d241b in timer_process_alarm (dispatch_method=ESP_TIMER_TASK) at /home/peter/docs/pycom-esp-idf/components/esp32/esp_timer.c:305
          #8  timer_task (arg=<optimized out>) at /home/peter/docs/pycom-esp-idf/components/esp32/esp_timer.c:326
          
          ERROR: GDB/MI command failed (error / msg="Cannot access memory at address 0x1")!
          WARNING: Unable to switch to thread 2
          

          Possibly the core crashed, because the 'resume_wifi_ble' option was set to True with disabled WiFi. I need to have a deeper look into my sources.
          If this happens (frequently), possibly something went wrong with the recovery of the LoRaWAN state from nvram. I don't know yet...

          Cheers,
          Thomas

          1 Reply Last reply Reply Quote 0
          • G Offline
            Gijs
            last edited by Gijs

            Let us know. Im not familiar with the NewChannelReq and how it works, but I've been diving deep in the Loramac stack for the adaptive datarate over the past few days, so i'll take a look here as well.

            1 Reply Last reply Reply Quote 0

            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

            With your input, this post could be even better 💗

            Register Login
            • 1 / 1
            • First post
              Last post

            Pycom on Twitter

            Pycom