Border Router USB Dongles?

1,046 views
Skip to first unread message

Jeremy Ellis

unread,
Dec 17, 2018, 12:31:27 AM12/17/18
to openthread-users

Wondering if anyone has had success or opinions about any of these border router USB dongles? I would like to purchase at least 3 different types of these USB dongles to do my own testing.

I think most people would agree that the NRF 52840 Nordic USB dongle is the most well known and documented of the bunch.




$49 Kirale 

$53 Firefly 




If you have any others, please list them in this thread. Links to instructions on how to use them with the border router would be very useful as well.

Rob Crouthamel

unread,
Dec 17, 2018, 5:51:54 AM12/17/18
to openthread-users
Look at Fanstel USB840F https://www.fanstel.com/usb840f/

To use, flash it with Nordic's pre-built NCP image from the SDK using a JLINK or similar. It connects as /Dev/ttyACM0, so you need to change the settings in wpantund config.

Rob

Jeremy Ellis

unread,
Dec 21, 2018, 8:35:16 AM12/21/18
to openthread-users
Thanks Rob Crouthamel:

Jeremy Ellis

unread,
Jan 5, 2019, 9:00:20 AM1/5/19
to openthread-users
Rob Crouthamel 

Normally I just crash ahead and try things out, but I only have 3 Fanstel USB dongles and I don't want to break them. Bit confused about a few things.

1. Flashing the NCP image: 

I found this link for the NCP image but noted that the examples are for Nordic nRF52840 boards not USB Nordic dongles. Are the instructions similar or does the USB connection make things easier? The main code to flash the image mentions using the boards serial number. 

Navigate to the location of the nRFx Command Line Tools, and flash the downloaded ot-ncp-ftd-gae2b0194-nrf52840.hex file onto the nRF52840 board, using the board's serial number:

The Fanstel USB dongles do not give identifying serial numbers.

however this command on linux does work to identify the Fanstel USB dongle
ls /dev/ttyA*

Also the link above does show a download for JLINK but it looks like you have to buy it, or at least use some complex signing process. Is there an easier method to flash the hex file to the dongle?


However, on windows when I plug the Fanstel USB Dongle into the computer it automatically goes into DFU mode! 
which could be great but I am not sure which software to use with it, and since the Dongle has no buttons to enter DFU mode is this a one time only situation or does it always go into DFU mode?

Looks like Nordic has some Android software tools for flashing code using DFU and your cell phone here but that seems even more complex than just flashing through the USB Dongle.



Getting the Border Router Docker working seems reasonably easy using this command


docker run --sysctl "net.ipv6.conf.all.disable_ipv6=0 \
        net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" \
        -p 8080:80 --dns=127.0.0.1 -it --volume \
        /dev/ttyACM0:/dev/ttyACM0 --privileged openthread/otbr \
        --ncp-path /dev/ttyACM0



Finally, anyone know where the setting file is located for wpantund config?


I am not really a beginner, but in this situation any suggestions would be appreciated, especially from people who have used the Fanstel USB Dongles.

If I can get these working, my next bit of confusion will be how to flash my own code to the Dongles.

I appreciate any help available.


On Monday, December 17, 2018 at 2:51:54 AM UTC-8, Rob Crouthamel wrote:

Jeremy Ellis

unread,
Jan 6, 2019, 2:09:07 AM1/6/19
to openthread-users
So I got JLINK installed on ubuntu by using 


sudo apt install gdebi-core


sudo gdebi JLink_Linux_x86_64.deb


I just want to transfer the NCP image to my USB Dongle, but JLINK doesn't seem to be enough. Looks like you need 
Nordic nrf command line tools    which have been deprecated and the download site is no longer available.

I tried to mount the USB Dongle but that did not work. Seems strange how difficult it is to transfer a hex file to a USB Dongle. Anyone have any suggestions?






Rob Crouthamel

unread,
Jan 6, 2019, 6:16:23 AM1/6/19
to openthread-users
Hi Jeremy,

Sorry for the delay. I flash the precompiled NCP image onto the Fanstel dongle using nrfutil, JLINK, and a Nordic NRF52840 EVK board with a Tag-Connect cable jumper wired to pins on the EVK.

Suprised to hear nrf command line tools would be deprecated ... most developers on Nordic use them constantly. I automate most tasks using shell scripts and nrf command line.

I'm traveling, but can send you pinout for the cable in Monday.

Rob

Jeremy Ellis

unread,
Jan 7, 2019, 12:24:15 AM1/7/19
to openthread-users
Rob:
I don't have the development boards or a jTAG connector, so no need for the pinout.


Suprised to hear nrf command line tools would be deprecated


Nordic nrf-Connect for Desktop seems to be working fine.  My purpose for this is to eventually connect my 30 http://partice.io dev boards (Called Argons and Xenons) to an OpenThread network, instead of the proprietary Particle Cloud Mesh Network, which is based on OpenThread.

Using nrfConnect, I can add a .hex file and it finds my device on com18, but the ability to write the information is never activated, it is there I just can't click on it.

nrf-connect.png

Everything seems to be working fine except the Fanstel USB dongles seem to be using the secure DFU mode which I think is stopping my ability to save to the device. Everything loads fine in nrf-Connect I just can't save.

Anyone have any simple steps for signing the .hex files. I assume I need to sign everything not just the application file. At least I have a few more dongles coming (seeedstudio and Nordic) which hopefully don't need this step.

Rob: Did your method use the secure signing?


Rob Crouthamel

unread,
Jan 8, 2019, 5:54:10 AM1/8/19
to openthread-users
I am familiar with the signing process and use it on my other Nordic designs. At the moment I'm running NCP on the Fanstel dongle without a bootloader, which is why flashing via JLINK is much easier.

I haven't used the Nordic Desktop programmer much, so can't comment on the problem you are experiencing. However, I believe the Nordic dongle has an IO pin that is used to reset the chip as part of the bootloader over USB process. The Fanstel dongle may not have this.

Learning the signing process and parameters is a bit onerous at first, but once you figure it out, you can integrate it with your toolchain with a script.

Rob

Jeff Tycz

unread,
Jan 20, 2019, 8:30:37 PM1/20/19
to openthread-users
To be able to flash the usb dongle you cannot use the prebuilt image and have to manually create one with the flags of "USB=1 BOOTLOADER=1" then the write option will be enabled in the nRF Connect program.

I am also exploring the process of interfacing the particle boards without being tied to their cloud service and interfacing with Android Things, not much luck so far though

Jeremy Ellis

unread,
Jan 21, 2019, 10:59:16 PM1/21/19
to openthread-users


Has anyone found any good documents about the firmware make command. Here is the most comprehensive list I have found, some are easy to understand others a bit confusing and no idea what needs to go with what. (Even the location in the github that makes decisions on this information would be useful.)


make -f examples/Makefile-nrf52840 COMMISSIONER=1 JOINER=1 COAP=1 DNS_CLIENT=1 MTD_NETDIAG=1 BORDER_ROUTER=1 MAC_FILTER=1 UDP_PROXY=1 BORDER_AGENT=1 LINK_RAW=1 SERVICE=1 USB=1 BOOTLOADER=1  CFLAGS+=-UCONFIG_GPIO_AS_PINRESET 




Jonathan Hui

unread,
Jan 21, 2019, 11:02:27 PM1/21/19
to Jeremy Ellis, openthread-users

On Mon, Jan 21, 2019 at 7:59 PM Jeremy Ellis <keyfre...@gmail.com> wrote:


Has anyone found any good documents about the firmware make command. Here is the most comprehensive list I have found, some are easy to understand others a bit confusing and no idea what needs to go with what. (Even the location in the github that makes decisions on this information would be useful.)


make -f examples/Makefile-nrf52840 COMMISSIONER=1 JOINER=1 COAP=1 DNS_CLIENT=1 MTD_NETDIAG=1 BORDER_ROUTER=1 MAC_FILTER=1 UDP_PROXY=1 BORDER_AGENT=1 LINK_RAW=1 SERVICE=1 USB=1 BOOTLOADER=1  CFLAGS+=-UCONFIG_GPIO_AS_PINRESET 




--
You received this message because you are subscribed to the Google Groups "openthread-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openthread-use...@googlegroups.com.
To post to this group, send email to openthre...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openthread-users/3abaa2c5-694b-48e1-8d9c-16c3aec64334%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jeremy Ellis

unread,
Jan 29, 2019, 11:11:35 AM1/29/19
to openthread-users




Jonathan Hui:

I have read all those links, I guess my question is: "If you were to make only 2 types of USB Dongles to test out your network, which options would you use?" Actually trying out every single combination is taking a long time. I just want the most stable basic setup to get things fully working. I don't even need end devices just a gateway and other routers.

Here is the enormous list:

make -f examples/Makefile-nrf52840 COMMISSIONER=1 JOINER=1 COAP=1 DNS_CLIENT=1 MTD_NETDIAG=1 BORDER_ROUTER=1 MAC_FILTER=1 UDP_PROXY=1 BORDER_AGENT=1 LINK_RAW=1 SERVICE=1 USB=1 BOOTLOADER=1  CFLAGS+=-UCONFIG_GPIO_AS_PINRESET 


So what would you try?

Main USB Dongle connected to border router:

make -f examples/Makefile-nrf52840 COMMISSIONER=1 COAP=1 DNS_CLIENT=1 BORDER_ROUTER=1  UDP_PROXY=1 BORDER_AGENT=1 USB=1 BOOTLOADER=1  


Other Dongles as just routers (REED Devices):

 make -f examples/Makefile-nrf52840 JOINER=1 USB=1 BOOTLOADER=1 

Jonathan Hui

unread,
Jan 30, 2019, 1:51:25 PM1/30/19
to Jeremy Ellis, openthread-users
For NCP, you can find the recommendation at our Border Router Build and Configuration guide.

For CLI, you can simply use `make -f examples/Makefile-nrf52840 JOINER=1`.

Note that the BOOTLOADER and USB options are specific to the nRF52840 platform. The BOOTLOADER is useful if you rely on the USB bootloader. The USB option is useful for native USB support.

--
Jonathan Hui

--
You received this message because you are subscribed to the Google Groups "openthread-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openthread-use...@googlegroups.com.
To post to this group, send email to openthre...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages