Halow USB Stick

With a dongle like this, there should be no reason to apply kernel patches :slight_smile:

It will most likely present to the host as a USB-NCM ethernet device (or similar class of USB eth). Pairing to an AP via DPP, and looks like they have a web interface for configuration as well.

AsiaRF also have something similar Wi-Fi HaLow USB Dongle HaLowFly (Client only, STA only) - AsiaRF Wi-Fi Solutions, IoT Connectivity, and Antennas

1 Like

Hmmm. I guess I ordered the wrong USB dongle. I got the VT-USB-AH-8108 Wi-Fi HaLow USB Dongle, and it seems it requires special drivers to function. Is it possible to get it working with the stock Morse Micro drivers / firmware ? Hoping to make MorseMicro OpenWRT builds for pi 3b , zero 02w, pi 4 and eventually pi 5.

I would also like to get the USB dongle working on standard Debian Linux distros like Rasbian / DietPi OS

That’s the same dongle I purchased and it works great but yes does require some manual intervention for custom kernel and drivers. Going to order this latest standalone as well.

I owe you a good build guide for the -8108 usb dongle.

1 Like

@ajudge for the less educated, would you explain how the plug and play cards work and why they no longer require and of the kernel changes or drivers?

This should be very straightforward :slight_smile: as you’re intending to use the Morse Micro OpenWrt fork.

The Raspberry Pi 4 will be the easiest to start with, after cloning and sorting out any development dependencies, you can prepare a generic Raspberry Pi 4 target with all the Morse Micro drivers and supporting software with
./scripts/morse_setup.sh -i -b rpi-4-mmeval -E

and then compile with make -j8.

This will, eventually, build you a Raspberry Pi image that will accept the USB dongle.

The other boards will require some definition. Have a look at how the rpi-4-mmeval board is defined on line 193 of openwrt/target/linux/bcm27xx/image/Makefile at 2.11-dev · MorseMicro/openwrt · GitHub. You could do much the same for the RPi3 and the Zero 2W.

OpenWrt says the zero 2w is supported since OpenWrt 23 which the latest release remains based on. For the RPi 5, we do have an OpenWrt version based on OpenWrt 24 coming soon™️

In order to leverage all of the features (mesh, ecsa, access to all channels), you will need to patch kernels here. Have a look at the Build Thread in this forum showing how this was done for a Raspberry Pi 5.
Though the good news with 1.17, the driver will compile if those patches are not present. So this should make that whole process a little easier if you can forego some features :slight_smile:

Related, keep an eye on the wireless-next kernel patches where we are working on getting a very minimal driver (AP/Sta US only) in the kernel. Though there’s lots still to do here before this is useful to you.

1 Like

On the HaLowLink1 and 2, you can plug a laptop/device into the USB-C port to both power the HaLowLink, and establish an ethernet connection to it over USB.

Fundamentally the plug and play dongles work in much the same way, acting as a router/bridged interface between USB ethernet and HaLow. They’re just in a much smaller package.

These driverless dongles are built with a second chip on board (in the case of VT-USB-AH-SA, an iMX6), used to handle the USB Ethernet class drivers, and network packet forwarding/routing.
They’ll often present a web page as well, so you can manage the HaLow interface - e.g. scan and connect.

1 Like

I’m attempting to compile using a Pi5 as a base for the various board builds, or would it be better to compile it on an x86 Linux laptop ?

Thank you,

Use a beefy x86 machine. I followed this guide from Jeff for the proper command line arguments. Scroll down to the step called “Logging in and compiling.” The final Image file will be your kernel to move to your pi along with the modules. For the “Installing modules and copying the built Kernel” step I changed the path to /mnt/modules then I zipped them and moved to the pi and the extracted folder will go under /lib/modules

1 Like

Thank you I will check it out. I was also considering distcc between the 4 or 5 pi5’s.

I have Openwrt working on the PiZero2W. It works best to configure the SD Card on a PI 3 then move the SD Card to the PiZero2W. I bought a MM8108-EKH19-01 but have not had time yet to try on my setup. Also Sidetracked with a CTRL-EVENT-BEACON-LOSS issue when using the dongle on the GL.inet routers.

One concern I have with the web config and getting a network interface to interact with the card, is losing Batman-adv. Curious to see the web interface and what options are available. I’m guessing this may function similar to the Alfa Halow-U where all of the networking was happening on the card itself. If I lose too much control I may stick with their previous version and use the MM customized kernel. That process is so straight forward I no longer think of it as a hurdle.

1 Like

Okay much better footprint. I need to get my guide published because reproducing these is quite easy now.

1 Like

Glad that’s all working. And would love to see another guide :slight_smile: