-
Notifications
You must be signed in to change notification settings - Fork 212
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IN 865 SF12 downlink doesn't work with TTN #483
Comments
Hi. Any updates on this downlink issue?. TIA. |
I tested with an RWC 5020A. I can't duplicate the problem with the compliance sketch. This says there's some other problem. Can you please share the exact sketch you use, and the configuration (OTAA, ABP, etc.). One thing to bear in mind: OTAA requires SF12 downlink to work, and the problem reported is with data downlink, not joins. Makes me think there's something else going on. |
Hi @terrillmoore Shall I assume, you are able to do downlink successfully with OTAA & TTN server?. |
Hi @asprakash -- we are able to do OTAA & TTN server in India, at our Chennai office. You may contact @svelmurugan92 or @dhineshkumarmcci who are actively involved in this work. We find that regular (RX1 and RX2) downlink after a class A uplink are not working, but there are many variables. Some facts:
The difference between JoinAccept and regular class A downlinks is that JoinAccept has 5 seconds minus some guardband to notify the gateway; regular class A downlinks have only one second minus some guardband. If the notification is late getting to the gateway, the gateway discards. We suspect that there's a slow network at our India office, JoinAccept arrives in time (because it has more time to do so); regular class A downlink arrives late. I don't know what might be happening with chirpserver.io; we are not set up to use that. We do use several other networks beyond TTN and the RedwoodComm LoRaWAN tester/network simulator. In the US, I know of people using LMIC with chirpserver.io. |
Hi @terrillmoore Thanks for your brief inputs. I use chirpstack since TTN's FUP is not suitable for me. May I know if I need to change anything on the ttn-abp code for IN866 BAND downlink?. I tried downlink from Chirpstack and using Class A on the arduino. I did not received any datas on the node side. I am using the sample ttn-abp code. Below I have given my global_conf.json file and I am using RAK Wireless gateway. `{ } TIA |
Also little bit confused on the downlink DR.
|
Any kind of input is appreciated. TIA |
Hi @asprakash sorry for the delay. MCCI LMIC README, uses EU868 as example and SF9 mentioned in README is for EU region. We kindly suggest you to use SF10 (DR2) for while using TTN.
Please let us know how it goes at your end. |
@dhineshkumarmcci Thanks for your inputs.
Lorawan server side downlink frame details are shared here, The lorawan server uses SF7 for downlink. Should I use the same SF7 on node side?. But I already tried with SF7 on the node side. No data is received. Here a sample data is sent for every 2mins and waiting for data to be received from gateway. The node log is as follows :
TIA |
Right now MCCI can only support LoRaWAN-compliant operation. Please refer to section 2.10 of the LoRaWAN Regional Parameters 1.0.3, and make sure your network server is operating in a compliant way. The downlink speed must be set according to the uplink frequency chosen by the device. The device can only receive at one speed at a time, and it expects the network to follow the rules in this table: Best regards, |
@terrillmoore Thanks for sharing more info.
|
Very sorry, but I have no way of testing or confirming. Your understanding of Class A is not correct, devices must receive on RX1 and RX2. We don't support Class C, so that's not relevant. We have tested the library for LoRaWAN compliance with the RedwoodComm RWC5020 tester. When used with the LMIC compliance script in examples, it passes all the tests (apart from less than desirable bit-rate-error for RX on SF12, and lack of stable FSK support). Bug reports are not a good place for tutorial. I suggest you contact my colleagues at MCCI India directly via portal.mcci.com; they may be able to help. |
Window Tests (requires fix #502, which is in v3.0.99.10)Back to the investigation. My test with a precisely-timed 1 second SF12 packet reveals that there is strange behavior in the SX1276 -- there are windows which don't work, whereas both before and after do work. The following log, which is quite repeatable, shows that the packet loss rate goes from zero to 30% and then back to zero as the RX start time varies from 1.005 s to 1.025s. (One interesting thing -- when I scanned by half symbol units (16384 us), I didn't see any losses.) It's possible that this is a bizarre artifact of my test setup. Obviously, more detailed investigations are needed. Test setupTest setup:
I saw https://github.com/ARMmbed/mbed-os/pull/8822/files which seems to attempt to address "problems at low data rates". Note that their comments claim that they now use a window offset of 88 ms for SF12 -- much after ours. Since our actual windows are earlier than 88ms, and there's not a lot of reported experimental data, my guess is that there are multiple "nodes" in the delay. I'll try running some experiments up at their delay to see if we get a similar result. But obviously starting too early sometimes causes problems. Note: I already scanned lower delays than 1.004976, and all was well. Result Summary
Next Steps
Raw Log
|
Here's a graph of the result of a sweep with 100 messages per bin. Horizontal axis is symbols (multiply by 32.768 to get milliseconds) of delay relative to start-of-transmission time. Vertical axis is packet error rate. Increment was roughly 0.04 symbols. Here's the test setup. It took about 2.5 hours to run this test. I'll repeat this tonight, scanning from -1 symbol to +8 symbols, just to get a baseline. RX testing indicates that opening the window before the transmit starts is very reliable. (This also matches class C operation, which I'm told works well.) This suggests that a possible fix for this problem is to open the window early, and bias the high clock error cases. Note: updated after noticing my off-by-two error in the spreadsheet for calculating symbol time. |
The root cause of the above problem is grounding. The GND shown in the figure was provided by the common USB ground, not by a twisted pair. When I use a tethered connection, things work well: Ditto a free-air connection with twisted pair: But this setup has problems: However, it can't be denied that units in the field have problems with SF12. The only way to really test in a similar way to field conditions is (1) run everything off batteries; (2) use an opto-coupler or similar isolation barrier for the sync pulse from the transmitter to receiver. |
Per @svelmurugan92, this isn't working.
The text was updated successfully, but these errors were encountered: