Jason Reiss
Forum Replies Created
-
AuthorPosts
-
Jason Reiss
KeymasterNovember 5, 2018 at 10:14 am in reply to: Location of Implementation of the functions in mdot.h #26710Jason Reiss
KeymasterlibmDot-mbed5 is distributed as a pre-compiled binary archive. There is no source for the implementation available publicly.
Jason Reiss
KeymasterSee troubleshooting guide.
Jason Reiss
KeymasterxDot debug output over serial.
Jason Reiss
KeymasterThe stack uses antenna gain setting to output the correct power from the radio to the antenna to affect the desired EIRP.
Max power depends on region and frequency.
The antenna setting should match the antenna gain to ensure regional limits are not exceeded.Debug output will show the power and gain settings used for each tx.
Jason Reiss
KeymasterThe end-device should evaluate MAC commands in a downlink payload with port=0.
# mosquitto_pub -t lora/<DEV-EUI>/down -d '{"data":"A1H/AAE=","port":0}'> new Buffer("0351ff0001", "hex").toString("base64") 'A1H/AAE='-
This reply was modified 7 years, 3 months ago by
Jason Reiss.
Jason Reiss
KeymasterThank you. Use of sudo is now noted in both sections of the documentation.
Jason Reiss
KeymasterLW 1.0.3 should be available this year and LW 1.1 next year.
Jason Reiss
KeymasterYes, that is the intent of the LoRaWAN Application Layer Clock Synchronization Specification v1.0.0.
We have not released xDot/mDot with LW 1.0.3 or LW 1.1 support with DeviceTimeReq/Ans.
Jason Reiss
KeymasterLoRaWAN 1.0.3 page 24 section 5.2 lines 664-666 specifies that a device should accept a power level higher than allowed but then use the allowed power.
The power index ADR will start with is not configurable.
The network server would then send lower power levels if the SNR level is sufficent at the last power set.
Jason Reiss
KeymasterADR in EU868 will update the datarate when it is allowed by the end-device configuration.
If the ADR bit is set in the uplink the network server will send an ADR update after several packet with sufficient SNR. RSSI is not factored in.
SNR must exceed -15 dB for DR1, -12 dB for DR2 … -3 dB for DR5
I would expect the network server to update the device to DR5 when this sequence of packets was received if ADR is enabled.
Ensure “adr”: true in received “up” messages
“opts” should be set in “packet_sent” and “mac_sent” messagesJason Reiss
KeymasterThe App Layer clock sync is not implemented.
Following the protocol in the specification will allow you to get the date information at the application level through the network server.
Jason Reiss
KeymasterJason Reiss
KeymasterYou may want to use a process monitor, monit is included in mlinux, to ensure the packet forwarder is restarted if it quits for any reason.
Jason Reiss
KeymasterAre you trying to run in packet forwarder only mode?
The init script is then /etc/init.d/lora-packet-forwarder
Did you follow these instructions?
Starting the network server with /etc/init.d/lora-network-server will read /var/config/lora/lora-network-server.conf and create a configuration for the packet forwarder. This is why the packet forwarder can be started with this command.
The lora-packet-forwarder script will look for a /var/config/lora/global_conf.json file to use as configuration.
Jason Reiss
KeymasterDoes /etc/init.d/lora-packet-forwarder-usb have execute permissions?
# ls -lah /etc/init.dAlso contact forum on at loraserver.io, if things are not working or there are issues with documentation they would want to know.
https://forum.loraserver.io/Jason Reiss
KeymasterRequest was accepted and response was sent.
Check at+njs after the join failed.
There may be an issue with DR0 and Rx2 where a timeout fires before the packet is done being recieved.Try join a few times. You may need to wait for duty cycle.
Otherwise try to join ABP. At+njm=0
Jason Reiss
KeymasterIf you want to join the Conduit and have packets available on the Conduit then network server is needed.
Getting Started with LoRa Conduit mLinux (LoRa Configuration)
Go back to the network server configuration. Enable logging, “syslog”: false, path: “/var/log/lora-network-server.log”, “level”: 100
View the log while joining.
If you want forward packets off the Conduit to a cloud network server use the packet forwarder.
Jason Reiss
KeymasterThe stats count packets but are not the packet counters used to transmit and receive.
The actual counters are tracked in the Session object.
Only 16 bytes can be sent in a LoRaWAN frame header.
These are received and used for the MIC and decryption.The transmitting side is allowing the counter to rollover the 16-bit value and using this to encrypt and calculate the MIC. The receiver is not able to perform the rollover.
This is a bug in peer-to-peer. Either the transmitter needs to be changed to not rollover passed the 16-bit (reset uplink counter to 0) or the receiver changed to follow the rollover.
Jason Reiss
KeymasterThe FCNT in a lorawan packet is only 2 bytes. When the 65k packets are transmitted the counter is rolled over at the transmitter but the receiver is not following.
Resetting the counter AT+ULC=0 on the transmitter should allow packets to be received.
Jason Reiss
KeymasterChange public to an integer.
public: 1Use either name/passphrase or eui/key values not both.
Repoase name/passphrase with “”name/key or eui/passphrase would work too.
Jason Reiss
KeymasterThat last quote looks different.
Jason Reiss
KeymasterLooks like the doc was wrong.
Try without the EUI in the URL.PUT /api/lora/devices ‘{“dev_eui”:”<EUI>”, “serial_number”:”1234″}’
Jason Reiss
KeymasterThe is a random port at the packet forwarder side used to connect to the downstream port. This port is used when the network server pushes packets to the packet forwarder.
For a UDP connection the server will use published ports. Clients will choose random ports for their sockets and connect to the published port. The server retains this port value for the client in order to communicate back.
A firewall will normally allow hole punching for UDP/TCP return ports.
Jason Reiss
Keymaster1780 and 1782 are the only ports the packet forwarder and network to communicate.
Jason Reiss
KeymasterJason Reiss
KeymasterCorrect lorawan does not provide the messaging for duty-cycle on a per channel basis.
There is only a global duty-cycle limit that can be imposed by the network server.
Jason Reiss
KeymasterYou might be able to check this register for time left until alarm is to fire. Time left will be 0 if the alarm was complete.
RTC->ALRMARJason Reiss
KeymasterYou could save the RTC time before sleep in a backup register and then read RTC when you wakeup and compare.
Jason Reiss
KeymasterThere is no command for the server to send individual channel duty-cycle information. Only channel frequency and datarate range is provided.
https://www.microchip.com/wwwproducts/en/RN2483
http://ww1.microchip.com/downloads/en/DeviceDoc/40001784F.pdf
See page 42 note 1Note 1:
The default settings consider only the three default channels (0-2), and their default
duty cycle is 0.33%. If a new channel is created either by the server or by the user,
all the channels (including the default ones) must be updated by the user in terms
of duty cycle to comply with the ETSI regulations -
This reply was modified 7 years, 3 months ago by
-
AuthorPosts