Recommendations on choosing the right Paket Forwarder

Hello,

I’m trying to build my own LoRa Gateway with ChirpStack components. This is my base setup:

Now I’m not sure which Paket Forwarder I should install. My first decision was to use Basics Station, because it seems to be more secure and newer than UDP Paket Forwarder. But after crawling through the documentation and having a hard time to find out how this will work, I’m now at the point where I ask myself:

  • Do I need the security of the Basics Station Paket Forwarder when I have the ChirpStack Gateway Bridge also installed on the Gateway?
  • Are the other Paket Forwarder like Concentratord and UDP Paket Forwarder easier to install?

I would really appreciate it if someone could help me out to answer these questions :slight_smile:

If you have the GWB installed at the gateway, I"d rather take the UDP forwarder or Concentratord.
The Issue with concentratord is: you have to build it yourself, but the readme and the “CI inclueded” approach from brocaar makes it rather easy to build.

1 Like

Thanks @chopmann.

That should not be a problem. Is Concentratord from @brocaar stable? Because I saw a warning on the ChirpStack documentation:

Warning! This backend is experimental!

I have successfully compiled Concentratord on my x86 hardware. Now I’m stuck on the configuration file.

My concentrator card n-fuse LRWCC8-MPCI-868 (SX1308, mPCIe with USB Interface) is not listed in the Hardware support table. Is there any way I can get it to work with Concentratord?

@brocaar he might be able to help.
I think you could use generic_eu868 https://github.com/brocaar/chirpstack-concentratord/blob/d3b039fd841684a6ff13113b2d8e4548b43fec8d/chirpstack-concentratord-sx1301/src/config/vendor/generic/eu868.rs

but that is for spi - looking at the source code only the sx1302 code has some reference to usb.
dont know if just using an symlink will do

I tried to set generic_eu868 ​in the configuration file but without success:

2021-10-20 13:31:47,999 INFO  [libconcentratord::reset] Configuring reset pin, chip: 0, pin: 0
thread 'main' panicked at 'setup reset pin error: Error { kind: Ioctl { kind: LineHandle, cause: Sys(EBUSY) } }', chirpstack-concentratord-sx1301/src/main.rs:103:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I think I need to modify the eu868.rs file with respect to my concentrator model and put it into /chirpstack-concentratord-sx1301/src/config/vendor, is this correct?

On the manufacturer website of the concentrator card is a link to a HAL driver if this is helpful. There is also a link to a packet forwarder, but I’m afraid to use it because the last commit was in 2017.

hmm does not look so “easy” and would probably help the overall community if your changes land on main.
let’s move the discussion to the github repository. Mind adding the link to the Issue here?

In the meantime I’d said go with provided packet-fwd, check that everything works and if you are still feeling like doing the concentratord stuff - you can open an Issue(feature request) and try to add it yourself. That way you are sure it’s not the HW giving issues if you do implement the feature.

I believe this is a device in the “picoGW” category which uses an USB MCU to couple the SPI-based LoRa concentrator chip to the embedded USB of an mPCIe but at a whole-operation rather than bus-proxy level to avoid the latency incurred by the old FTDI bridge solutions.

As such, you’ll have to use a “picoGW” packet forwarder. These had been unique repositories from the SPI versions (that used to have the FTDI USB-SPI support). I don’t know off the top of my head if the basicstation repo supports them.

The key point is that you must look for picoGW support, not SPI sx1308 support.

Thanks for all your helpful answers!

Very helpful, thanks!

It think they do. You will find it in the README on GitHub. The keyword seems to be PicoCell.

My main concern with Basics Station is that I think the documentation is not clear for a beginner like me. Do you guys know another source of documentation for Basics Station which is more beginner friendly?

But at the end I have to say that I don’t need to use this specific n-fuse card. It’s not a problem to buy another card. If someone knows a well-supported and future-proof card with mPCIe and USB interface, I would appreciate it if you let me know.

The nFuse card is an implementation of the semtech reference design for how to build a USB card correctly, so any other currently viable solution would either be essentially the same.

Other USB schemes would be either wrong (FTDI based), or more obscure and non-standard, meaning less supported.

1 Like

Thanks again for your answer!

Based on your answers, I think the solution seems to be to use Basics Station.