Jason Reiss
Forum Replies Created
-
AuthorPosts
-
Jason Reiss
KeymasterIf isTransmitting returns false and send fails you should reset.
Jason Reiss
KeymasterI would have expected 8 attempts to complete in ~35 seconds.
After 3 attempts ~15 seconds the device believes 40s have elapsed.
That leads me to believe this is a clock issue.It appears that the ACK timer is still active and fires after the sleep.
[INFO] ACK resend attempt: 3 / 8
…
[WARNING] SEND TIMED OUT after 40000 ms
…
[TRACE] configuring RTC Alarm A to wakeup 15 seconds from now
…
[INFO] ACK resend attempt: 4 / 8If getIsTransmitting() returns false and send fails, then I would reset.
Log from my mDot with timestamps showing ~35 seconds to complete 8 retries
[2017-07-12 08:02:47] [DEBUG] Send with tx timeout 40000
[2017-07-12 08:03:19] [INFO] ACK resend attempt: 8 / 8
[2017-07-12 08:03:21] [DEBUG] mDotEvent – MissedAck : retries 7Jason Reiss
KeymasterThe library versions of libxDot and mbed-os must match. If you could provide any version information of what you are building I may be able to provide more insight.
However, the AT firmware built online will not run on xDot, the source is provided as an example. There is a difference in the online build environment using a pre-compiled binary that we is causing issues.
xDot AT Firmware binaries are provided here.
This worked to compile with latest. libxDot-mbed5 has an update waiting for testing to complete. Use libxDot-dev-mbed5 with the latest revision of AT Firmware.
https://developer.mbed.org/teams/MultiTech/code/Dot-AT-Firmware/
https://developer.mbed.org/teams/MultiTech/code/libxDot-dev-mbed5/
Update mbed-os to match libxDot-dev-mbed5 commit history version, 5.4.7 at this time.Jason Reiss
KeymasterOr if you want to output all characters to serial then use putc for each or use Serial object write function.
String functions such as printf will stop at first NULL.
Jason Reiss
KeymasterUse memcpy
Jason Reiss
KeymasterThanks to you. I will log an incident to get this updated in AEP.
Jason Reiss
Keymasterlora-out node is a light wrapper over MQTT
MQTT Node
msg.topic = “lora//down”;
msg.payload = ‘{“data”:”A0AHAAE=”,”port”:0}’;Command line
mosquitto_pub -t lora/
/down -m ‘{“data”:”A0AHAAE=”,”port”:0}’ UDP is also an option.
UDP:1786
# nc -u localhost 1786lora/0e:7e:34:64:33:30:67:44/down {“data”:”A0AHAAE=”,”ack”:false,”port”:0}
Jason Reiss
KeymasterLooks like port as string “0” is not being parsed correctly. It should be an integer in JSON. Not sure if this is node-red or the lora-out nodes doing.
17:6:25:715|DEBUG|ED:0e-7e-34-64-33-30-67-44|PACKET-TX|ADDR: 00000001 PORT: 1 ACK: 0 FCNT: 00000005
Jason Reiss
Keymastermosquitto is the MQTT broker on Conduit.
The lora-in and lora-out nodes use MQTT is why I ask.There maybe clues in /var/log/app/node-red.log and /var/log/mosquitto.log
Jason Reiss
KeymasterEither you are not connected to the Internet or do not have entry for DNS server.
Jason Reiss
KeymasterHave you made any changes to the mosquitto.conf on Conduit?
Others have reported issues like this after change MQTT to be accessible from remote servers.
Jason Reiss
KeymasterContent looks good, but add the 03 command type as the first byte.
The payload data type should be a string or buffer.+14 dBm is max for all but 869.4-869.65 MHz band
The MAC layer in mDot will lower according to used frequency.Jason Reiss
KeymasterI upgraded a unit with 3.3.7 pre-built mlinux-factory-image and was able to install both lora-packet-forwarder and lora-network-server ipk files without issue.
With the base image the dependencies will need to also be installed.
http://www.multitech.net/mlinux/feeds/3.3.7/mtcdt/Jason Reiss
Keymasteropkg –help
Jason Reiss
KeymasterAn ADR command can be sent from the application using port 0 if ADR is enabled on the end-point. Otherwise application messages could be used.
The context of this is when the network/device cannot use ADR. The application should use the best datarate to minimize time-on-air rather then the datarate with the greatest reach.
Jason Reiss
KeymasterThe packet forwarder uses only UDP to communicate to the network server.
https://github.com/Lora-net/packet_forwarder/blob/master/PROTOCOL.TXT
There is no local port providing packets other than logging.If forwarding to a network server the data in packets traveling through the Conduit will be encrypted. Only header information will be available.
A UDP bridge between packet forwarder and network server would be able to provide packet info.
July 1, 2017 at 7:52 am in reply to: Can mLinux be installed on an AEP Model (and vice-versa)? #19821Jason Reiss
KeymasterExtract the upgrade.bin file from the AEP tar.gz file on downloads page.
Copy to Conduit and use instead of uImage and rootfs files.
Copy file to this location
/var/volatile/flash-upgrade/upgrade.binFollow mLinux flash on boot instructions.
Jason Reiss
KeymasterThe network can handle missed packets without becoming out of sync.
The counters can increase up to 16384 missed packets, MAX_FCNT_GAP in LoRaWAN, and the network server will accept the packet and the counters will be in sync.
The issue is only when a counter is decreased or reset to 0.
Jason Reiss
KeymasterWhat MQTT topic is reported?
If the uplink counter on the device is reset to 0 when power cycled, the packets will not be reported to the application until the counter reaches the last value received by network server.
If this behavior cannot be corrected on the device side then the network server can be configured to allow the device to return to 0. However this does introduce a security risk of allowing counter reuse.
This strict check can be disabled to allow the device to reset to zero.
mLinux lora-network-server.conf
“lora”: {
“enableStrictCounterValidation”: true, /* ensure packet counter values are not being reused, packets are dropped if not within MAC_FCNT_GAP, default:true */}
AEP
https://192.168.2.1/api/loraNetwork?method=PUT&data={"lora":{"enableStrictCounterValidation":false}}&apply=now
https://192.168.2.1/api/command/save?method=POST
-
This reply was modified 7 years, 3 months ago by
Jason Reiss.
Jason Reiss
Keymaster
the data received by the Conduit can’t be decrypted properly.
Are received packets being reported?
Perhaps the device does not maintain the uplink counter over power cycles.
Jason Reiss
Keymaster00-00-00 will disable the expiration of joins.
When lease is expired the uplinks are ignored and no downlinks to the device are transmitted.
Device could detect lack of network response and initiate join sequence.
Inspired by DHCP lease-time, not sure this feature has any real use case.
Appears to be more of a nuisance for most.June 28, 2017 at 8:54 am in reply to: LORA Packet not received by Node-Red, on a conduit power cycle. #19742Jason Reiss
KeymasterStandard command
# shutdown -h nowJason Reiss
KeymasterLawrence,
I updated the change log to clarify.
Default channels are always created.
Additional Channel setting of 869.1-869.5 will create additional channels: 868.8, 869.0, 869.525, 869.8Jason Reiss
KeymasterOn Conduit MQTT has listener setup for localhost only.
Username and password is not supported by network server.
Systems on Conduit have been designed to use MQTT locally to report data from Lora Network Server to a Local Application without username/password or overhead of SSL connections to be secure.
That application may be used to connect to a remote MQTT broker using username/password and SSL to create a secure bridge.To open the broker to public interfaces the /etc/mosquitto/mosquitto.conf file can be changed and broker restarted.
# /etc/init.d/mosquitto restart
However the software components have not been tested in this configuration, there maybe issues if you wish to experiment.Creating bridge application is suggested as it can maintain the security of the system.
Jason Reiss
KeymasterIt is our MTS c++ utility library available in mLinux.
Source available here http://git.multitech.net/cgi-bin/cgit.cgi/libmts.git/Jason Reiss
KeymasterThe counter value can be saved on mdot with at+ss before power off and restored with at+rs.
This will keep it in sync.
Jason Reiss
KeymasterFactory reset will restore omly configuration.
This must be done with unit powered on.
However in default setting the unit will be in gateway mode and not in DHCP client mode if you expect to connect to a network through Dhcp.The only way to recover is through reflash via rd to from uboot on debug interface.
This will restore the rootfs.Jason Reiss
KeymasterDid you install any 3rd party software?
TNN or Loriot packet forwarder?Can you connect device to internet?
It should be able to complete boot.-
This reply was modified 7 years, 10 months ago by
Jason Reiss.
Jason Reiss
KeymasterThe mDot will only join one Conduit in OTA.
The session information is not shared between Conduits.ABP activation could be used to receive the broadcast from mDots.
Perhaps an application on Conduit can communicate over ethernet?
Jason Reiss
KeymasterWhat was you txpower before and after?
If transmitting below +7 dBm 869.7-970 MHz can be used at 100% duty cycle.
-
This reply was modified 7 years, 3 months ago by
-
AuthorPosts