LoPy unable to receive LoRaWan downlink message (ABP joined)



  • I've a LoPy connected to a private network.

    If LoPy access the network trough an OTAA join it can receive downlink messages from NS.

    If the same LoPy access the network trough ABP join is unable to receive downlink messagge but it can send TX without problem.

    NS is Brocaar LoRawan NS.

    If RX parameters are changed (i.e. enabling RX2 or RX1 enabled but with receive windows delay with a value different from zero) LoPy shows this error message when transmits:

    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "abp.py", line 55, in ltx
    OSError: [Errno 11] EAGAIN

    and stucks here . A power reset is needed to retrieve LoPy activity.

    The code where the error is raised :

    def ltx(array):
       
        s.setblocking(True)          : <---- line 55
        s.send(bytes(array))
        s.setblocking(False)
        data = s.recv(128)
        return data
    

    ltx is called from a while loop every 60 seconds.

    s is defined in the same way as published in
    https://docs.pycom.io/chapter/tutorials/lopy/lorawan-abp.html

    I've tested more LoPy and all behaves in same way.

    What does it mean and how should it be interpreted "OSError: [Errno 11] EAGAIN" during a LoRaWan TX/RX phase ?

    Has someone experience in ABP downlink messages with Brocaar server ?

    Thanks,

    Cocoa



Pycom on Twitter