RAK833 Yocto Recipe missing

I have been trying to follow your guide at: https://github.com/RAKWireless/RAK833-LoRaGateway-SolidRun-Yocto

After running the bitbake command, I am getting the following error:

zaher@yocto:~/Desktop/poky/build$ nice bitbake core-image-base
WARNING: Host distribution "Ubuntu-16.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |###############################################################| ETA:  00:00:00
Loaded 1361 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'libftdi' (but /home/zaher/Desktop/poky/meta/recipes-core/images/core-image-base.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'libftdi' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['libftdi']
ERROR: Required build target 'core-image-base' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-base', 'libftdi']

Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

I was also able to confirm that the libftdi recipe is not actually provided in any of the layers you mentioned in the guide. Please advise.

Thank you,
Zaher

I am very sorry about this issue.
We just updated git and added a description of libftd in the tutorial. You can get the latest code and try again.

1 Like

Thank you! I was finally able to build it and flash it. However, I am facing another issue now. Using TTN, I was able to add my RAK833 US915 gateway successfully. The problem I am facing is when trying to join a sensor. I have a US915 sensor that I am trying to add. I receive the join request and TTN replies successfully with a Join Accept. The problem is this process continues and the sensor sends another join request and TTN replies with a Join Accept again and again.

I noticed something that might be causing this issue. The Join Request that is received is showing frequency as 868, and the Join Accept is showing frequency as 915. I suspect that the packet forwarder is assuming all sensors that try to join are by default 868. Is there away to change that?

There are three types of issues here:

  • first, both your node and your gateway radios really should be models specific to the band you are using. The RAK concentrator cards all seem to be band specific, for example the RAK833’s have a non-functional component placed in a position on the bottom which indicates what the RF networks are turned to. There have been some claims of nodes with dual 868/915 capability - possible, but far from certain. But none of these components “know” (in the sense of software) what band they were built for. So if you ask one to operate on the wrong band, it will try to, and might work a little bit, but with very poor range and reliability.

  • next, all of the node firmware, the gateway configuration, and the TTN servers need to agree on what band is to be used.

Since it’s unclear what node you have, that part you will have to figure out for yourself.

The gateway is configured based either on the RAK web interface in the fancier builds, or based on the global_config.json and local_config.json in more traditional ones.

Finally, which regional TTN infrastructure you point the gateway at (again in the web inteface or the config file as applicable) is also important.

  • Finally it’s necessary to keep in mind that not only the frequency differs between regions. The “rules” for how the network works are also substantially different, too. For example, in Europe RX1 downlink replies happen on the same frequency as the uplink. But in North America, downlink replies happen in a whole different part of the band, on a downlink channel corresponding to (but different from) the uplink channel which was used. And the utilized spreading factors and their numbering as data rates are quite different, too.

Unless all components of your setup “agree” you are likely to end up with many problems.

1 Like

Chris, thank you so much for the detailed and helpful response! With that being said, I believe my issue is in the global_config.json file. It might be that the yocto recipe that I used has the global_config.json for EU868 by default and I should change the settings to US915. I will try it and get back to you!

I plan to use this as my global_conf.json file: https://github.com/TheThingsNetwork/gateway-conf/blob/master/US-global_conf.json

Is this file ready to use as is or do I need to make any changes to it before using?

You don’t need to make any changes to this file.

It works now by just replacing the global_conf.json file! Thank you all very much!