> For the complete documentation index, see [llms.txt](https://docs.morsemicro.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.morsemicro.com/application-notes/appnote-37-how-to-configure-virtual-wire.md).

# APPNOTE-37 How to Configure Virtual Wire

[Download as PDF](https://www.morsemicro.com/resources/appnotes/MM_APPNOTE-37_How_to_Configure_Virtual_Wire.pdf)

## 1 Scope

This application note provides a guide on configuring and verifying a Virtual Wire configuration on the Morse Micro HaLowLink 1.

The prerequisites for this application note are:

* 2 x [Morse Micro HalowLink 1](https://www.google.com/url?q=https://www.morsemicro.com/end-products/\&sa=D\&source=editors\&ust=1783415558201672\&usg=AOvVaw1xSRdoQBPGaqqfrSVNzZPI) devices with the latest software installed (this guide was written based on v2.7.4).
* 1 x Ethernet port which connects to a network (e.g. a port on your router or switch).
* For validation, we assume this network routes traffic to the internet.
* 1 x Laptop with USB-C and ping, traceroute and iperf3 installed.

By following this application note you will learn:

* How to configure HalowLink1 devices to setup Virtual Wire.
* How to validate this is operating correctly.

***

## 2 Theory of Operation

Virtual Wire is shorthand for any network appliance that looks like it replaces an Ethernet cable. That is, Layer 1 (Physical) and Layer 2 (Data) traffic is passed through it, and the device itself does not require an IP address. This makes it possible to seamlessly work in any existing network without any need for reconfiguration. The general network topology should look something like this:

![](/files/f4b07534bb99cd03ec46f471f2956cad68aa79c5))

If you use Wi-Fi HaLow to implement a ‘Virtual Wire’, this means you can extend any existing network over long distances without having to worry about integrating the HaLow devices into your network or giving them any special permissions.

## 3 How to Configure

### 3.1 Configuring the Access Point

By default, the HaLowLink 1 is configured as a router with an access point. To make sure it passes traffic directly, you will need to access its web interface so it acts only as an access point:

1. Connect your laptop via USB-C to the device.
2. Connect an Ethernet cable from the port marked WAN on the HaLowLink 1 to the Ethernet port you wish to extend.
3. Wait until the Status LED is solid green or aqua.
4. Make sure the device is reset by holding down the mode button on the bottom of the device until the Status LED starts flashing green.
5. Wait until it’s solid green.
6. Your laptop should detect the HaLowLink 1 as an Ethernet connection.
7. Go to [http://192.168.12.1](https://www.google.com/url?q=http://192.168.12.1\&sa=D\&source=editors\&ust=1783415558204456\&usg=AOvVaw2jX41ZP8y6P7HaJuu3ABmB), and login with the username root and the “Device Password” printed on the sticker.

![](/files/c4bcb8f8ad512e9a6fdccded6ee54e13b882b65c))

8. Confirm that the Ethernet Uplink is marked as ‘Connected’ on the home page.
9. Click on the Wizard option.
10. Select “HaLow Wi-Fi devices will get an IP on your existing router's network”.

![](/files/4a9a7098904df6b6e4a5528afc72ba6466b997eb))

11. Click “Save & Apply” and wait until it finishes “Applying Configuration Changes”.

Once you’ve configured the device, you can now disconnect it from your laptop, and use the provided power supply to power it.

### 3.2 Configuring the Extender

This device needs to function as a HaLowLink 1 Extender. To ensure it is reset into this mode:

1. Make sure the HalowLink 1 Access Point device  is no longer connected to your laptop.
2. Connect your laptop via USB-C to the other HaLowLink 1.
3. Wait until the Status LED is solid green or aqua.
4. Make sure the device is reset by holding down the mode button on the bottom of the device until the Status LED starts rapidly flashing aqua, then release the button.

* It will first start slowly flashing green. You must continue holding the button down until it flashes aqua. If you accidentally release it earlier, wait until it’s solid green again.

5. Wait until it’s solid aqua.
6. Leave the Extender connected to your laptop.

***

###

### 3.3 Pairing the two devices

After completing 3.1 and 3.2, your devices should be connected this way.

![](/files/53e5c54bdc3bce67d774056103386af89848ea15))

Note that the Extender’s Wi-Fi HaLow status LED is not lit as it is not yet associated with any HaLow network. You are now ready to establish the HaLow connection.

1. On Device 1 (the Access Point), connected to the Ethernet port of the existing router, press and release the mode button on the bottom of the device. The Wi-Fi HaLow LED should start slowly flashing purple.
2. On Device 2 (the Extender), connected to your laptop via USB-C, press and release the mode button on the bottom of the device. The Wi-Fi HaLow LED will start slowly flashing purple.
3. Wait until both devices have a solid purple HaLow LED. This indicates they’re connected. This should usually happen within a minute.

If the pairing process fails, the Wi-Fi HaLow LED on Device 2 will eventually stop flashing and turn off. In this case, make sure no-one else is trying to pair a HaLowLink 1 nearby (as for security reasons this will fail), wait 60 seconds, and try again. Once you have successfully paired your devices the Extender’s Wi-Fi HaLow status LED should be solid purple:

![](/files/d639e2a30698671d507faaa45cbb9bafe31015a9))

### 3.4 Validating the connection

Your laptop should now act as if it’s physically connected to the Ethernet port, even though all traffic is transmitted over the HaLow Wi-Fi link. To confirm that this is working as you would expect:

1. Make sure that you only have a single Ethernet connection on your laptop (i.e. the one provided by the HaLowLink 1). Disconnect any other Ethernet cables.
2. Disable the Wi-Fi on your laptop.
3. If your normal network has a DHCP server, you may need to disable/enable the HaLowLink 1 network connection to get an address. This is because when it was initially connected to your laptop, the HaLowLinks did not have a connection established. Otherwise, configure your laptop as needed for the network (e.g. with a static IP).
4. Use your normal network; if this is connected to the internet, attempt to access [http://example.com](https://www.google.com/url?q=http://example.com\&sa=D\&source=editors\&ust=1783415558208942\&usg=AOvVaw2OSQD3eVzcPYNO1oZNF_i6)
5. Because your HaLowLink 1 devices are relatively close, you should achieve 18-22Mbps. Confirm this via [https://speed.cloudflare.com/](https://www.google.com/url?q=https://speed.cloudflare.com/\&sa=D\&source=editors\&ust=1783415558209207\&usg=AOvVaw1BG3sg2RasqBAr_DMLR-N5).
6. Validate that traffic is not routed via the HaLowLink 1 (i.e. that the first IP provided is one on your local network, the same as if you had connected directly to the Ethernet port):\
   ![](/files/de1a9c31c00ed3725bb01a0231362a2e56bcb3a7))

WARNING: this simple setup leaves the devices in DHCP client mode and with their 2.4GHz access points enabled. If you would like to ensure that no-one can connect to these devices directly without physical access, see the FAQ below.

## 4 How this works

When configured this way, Linux bridges on the devices are used to connect the physical interfaces. On the HaLowLink 1 Access Point side, the port labelled WAN is bridged with the HaLow access point, and on the Extender side all Ethernet ports are bridged with the HaLow client (or station). This means that any Layer 2 traffic is passed between the Ethernet ports.

![](/files/ab8e126c9d16e626f0e318806d0705a70d6b8630))

### 4.1 Technical details

If you SSH to a device (e.g. ssh root@\[deviceip] and use the password on your sticker), you can view this setup from the Linux command line using the brctl show command. On the AP side, it should show something like:

![](/files/076de556a32c69736d0e77303aa2e725234cb00c))

Note that the name of the bridge here is br-wlan. This is because the name of the ‘network’ in OpenWrt is a higher level abstraction defined in the UCI network file /etc/config/network:

config interface 'wlan'

&#x20;       option proto 'dhcp'

&#x20;       option device 'br-wlan'

config device

&#x20;       option name 'br-wlan'

&#x20;       option type 'bridge'

&#x20;       list ports 'wan’

Even though the wireless interface wlan0 is part of br-wlan, it is not specified here. Because wireless interfaces are dynamically constructed by hostapd or wpa\_supplicant, OpenWrt specifies the wlan network on the wireless side in /etc/config/wireless[\[a\]](#cmnt1)[\[b\]](#cmnt2):

config wifi-iface 'default\_radio1'

&#x20;       option mode 'ap'

&#x20;       option wds '1'

&#x20;       option device 'radio1'

&#x20;       option network 'wlan'

&#x20;       option ssid 'halowlink1-f4a1'

On the Extender side, where instead everything is on the lan network, this looks like:

![](/files/d87d420273f203d3c58e66112c16f10ffcb4db5d))

Excerpt from /etc/config/network:

config device

&#x20;       option name 'br-lan'

&#x20;       option type 'bridge'

&#x20;       list ports 'usblan'

&#x20;       list ports 'lan'

&#x20;       list ports 'wan'

config interface 'lan'

&#x20;       option device 'br-lan'

&#x20;       option proto 'dhcp'

Excerpt from /etc/config/wireless:

config wifi-iface 'default\_radio1'

&#x20;       option mode 'sta'

&#x20;       option wds '1'

&#x20;       option device 'radio1'

&#x20;       option network 'lan'

&#x20;       option ssid 'halowlink1-f4a1'

### 4.2 Wireless Distribution System (4-address mode)

You may have noticed the wds option that was set in the above configuration. A normal wireless client would not be capable of attaching to a bridge, whether using HaLow or any other 802.11 wireless interface, as a normal wireless client does not use 4-address mode (also known as WDS, “Wireless Distribution System”). Without 4-address mode, packets originating from or directed to the client/station side of a wireless link must share the MAC address of the wireless interface, whereas 4-address mode allows four distinct addresses: the TA (transmitter address - e.g. wlan0 AP), RA (receiver address - e.g. wlan0 client), a DA (destination address) and SA (source address).

For this to work correctly, both access point and client must be in WDS mode. In the setup in Section 3, this has been automatically selected for you. For more information about how to configure this manually, see Section 4.

### 4.3 DHCP client mode

The default configuration here leaves your HaLowLinks in DHCP client mode. This makes it easier to access their configuration interface or ssh to them, as if you have a DHCP server on your network they will get a DHCP lease. To discover their IP, refer to the DHCP lease table on your network.

However, if you wish them not to be accessible on your network at all, you should change the protocol to unmanaged. You can do this via the network interfaces page:

![](/files/30c7c52c06de1ee302c1db67b6341c5944aba8b9))

## 5 Manual Configuration

If you would like to better understand the configuration used for Virtual Wire and what settings are critical, you can configure it manually via the following steps. This will also be helpful if you wish to make small modifications to an existing setup (as developed in Section 3).

### 5.1 Configuring the Access Point

First, connect to the HalowLink 1 Access Point as in 3.1:

1. Connect your laptop via USB-C to the device.
2. Connect an Ethernet cable from the port marked WAN on the HaLowLink 1 to the Ethernet port you wish to extend.
3. Wait until the Status LED is solid green or aqua.
4. Make sure the device is reset by holding down the mode button on the bottom of the device until the Status LED starts flashing green.
5. Wait until it’s solid green.
6. Your laptop should detect the HaLowLink 1 as an Ethernet connection.
7. Go to [http://192.168.12.1](https://www.google.com/url?q=http://192.168.12.1\&sa=D\&source=editors\&ust=1783415558216121\&usg=AOvVaw2TC5Kfe6erGZ28t36lC9gq), and login with the username root and the “Device Password” printed on the sticker.
8. Confirm that the Ethernet Uplink is marked as ‘Connected’ on the Home page.

By default, the HaLow access point is bridged with the local network (192.168.12.x) provided by default. You can see this in the Network Interfaces card on the Home page (if you hover over ‘wlan0’ it will provide more information about this link, and highlight the related cards):

![](/files/8a569b6238cb9717b55bda74dd16cbd77624200c))

For Virtual Wire, we instead want to bridge the access point with the uplink connection, which is on the wan port. However, the wan interface (which contains the wan port) is by default configured with a firewall which blocks traffic, as a standard internet router would be. We could amend these firewall rules, but a simpler option is to create an entirely new network interface. To do this, make sure Advanced Config is enabled in the menu, and go to Network -> Interfaces:

![](/files/d6ef273b7cb2d1bd27203c1bd5f4884b1345b005))

Now you can Add new interface…, typing in wlan and selecting DHCP client, leaving Device unspecified:

![](/files/7d3839d4215894e544a4ee9037dfc92d1f8f766c))

Once you’ve clicked Create Interface, dismiss the dialog that comes up. You should now see UNSAVED CHANGES at the top of the page.

![](/files/0e3c05bd0c67926eb50621e086723e988f57bb08))

At any point when configuring, you can click on UNSAVED CHANGES to view the commands that you would need to use via the CLI:

![](/files/7121a8a3e357cb83d150e87157bbd534a8badf74))

You do not need to Save & Apply this yet, although it won’t hurt; the frontend allows you to accumulate a large changeset and apply it all at once.

Now go to the Quick Config page where we can see we have a new wlan interface (below lan and wan) which doesn’t have any Wireless or Ethernet devices:

![](/files/a91382bc05bcd321e8bb087482bb939a130b1ca3))

To set it up, we need to:

* click Create Zone to create a firewall zone (which will default to ACCEPT all)
* remove the wan port from the wan interface by unticking it
* add the wan port to the wlan interface by ticking it

It should now look like this:\
![](/files/ecf5cf8fb6dfb0148021d74ce1a6cb2a01a4e6e0))

Finally, go down to the ‘Wireless’, section, and change the network of your Morse Micro MM6108 device from lan to wlan:

![](/files/bfa334702134c7770aa9a57116ff58d29b35a5c8))

This change should be reflected in Wireless column of your Network Interfaces section:

![](/files/ccaf54be0db284c01470e90a3502a029911371d4))

If you now click Save only, you can again go to UNSAVED CHANGES:

![](/files/9651b9a867fa8aed4087da260a5a842587314eda))

Click Save & Apply to make these take effect.

Return to the Home page to confirm that the wan port and the wlan0 HaLow interface are bridged:

![](/files/ca3269a64a96b68ba5ae594b1e2f42ca532fabd1))

You have now finished configuring your access point.

### 5.2 Configuring the Client

First, reset the device and connect to it via Ethernet from your laptop:

1. Connect your laptop via USB-C to the device.
2. Wait until the Status LED is solid green or aqua.
3. Make sure the device is reset by holding down the mode button on the bottom of the device until the Status LED starts flashing green.
4. Wait until it’s solid green.
5. Your laptop should detect the HaLowLink 1 as an Ethernet connection.
6. Go to [http://192.168.12.1](https://www.google.com/url?q=http://192.168.12.1\&sa=D\&source=editors\&ust=1783415558220815\&usg=AOvVaw103db6VVkl72k0zpdgEw1x), and login with the username root and the “Device Password” printed on the sticker.

Navigate to the ‘Quick Config’ page. Under wireless you will see the Morse Micro device behaving as an Access Point (WDS) on the lan network.

![](/files/4077c7162acb9f8582cad773fd6b233a46067143))

Now change the mode to be Client (WDS) and search for the network of the corresponding HaLow access point which you would like to connect to. Once the network appears in the SSID/Mesh ID dropdown, you can select it and enter in the credentials from the sticker on that device, ensuring that you use WPA3-SAE encryption.

At this point the morse device is on the lan network, and we would like to remove its static IP. However, if we were to proceed with this change we would immediately lose access to the device, as the 192.168.12.1 IP would be removed.

The workaround to this is to move it to the wan network via the dropdown to test the client connection. The admin interface will temporarily remain accessible at [http://192.168.12.1](https://www.google.com/url?q=http://192.168.12.1\&sa=D\&source=editors\&ust=1783415558221978\&usg=AOvVaw0sGTqhHcu3_gnxehthuma_) on the lan network.

![](/files/cfc43e1ed24143c73122f4e7544507f8655a7c63))

Once the changes have been made to mimic the image above, you can now click Save only, you can again go to UNSAVED CHANGES at the top of the page to see something similar to this:

![](/files/4d2cb14ff89874edbca1f80001f3dd82281cc2ba))

Click Save & Apply to make these changes take effect.

After the changes have been applied and the page is reloaded, navigate to the ‘Home’ page. If you have entered the credentials correctly and the devices have associated you should be able to see the Uplink (HaLow) card indicating a connection with the newly assigned IP (which you should save somewhere accessible) like below:

![](/files/9023c55a3087d69a5899f91ab41c64831fd534b2))

The HaLow connection has been made, but the Virtual Wire configuration is incomplete. In the final steps we will consolidate all the available devices onto the lan network and set it up to receive an IP from the HaLow access point.

Return to ‘Quick Config’ and modify the Morse Micro wireless device to use the lan network.

![](/files/70002268c9dc72be048b917f11be11128576b258))

The ‘Network Interfaces’ subsection should now show both your 2.4 GHz and HaLow networks colocated on the lan row under the ‘Wireless’ column.

![](/files/b7025881a44363f104a473dc99896e2f84fbc2dc))

Unset the DHCP Server slider and select DHCP Client under the protocol drop down to ensure that the Extender will correctly receive an IP from the AP. Then, using the ‘Ethernet’ dropdown options, remove the wan Ethernet device from the wan network to the lan one:

![](/files/0cd00b5257808dc23a3f7496cb74f19fdbf22d4d))![](/files/3c0aaee9c428bd12f299d5d3a7b89017b535a5af))

After clicking Save you should be able to see the following UNSAVED CHANGES:

![](/files/9bfd46bff37b0cbb1c7904a41f1f2498fa291204))

From here click Save & Apply where you will be warned about losing your access to [http://192.168.12.1](https://www.google.com/url?q=http://192.168.12.1\&sa=D\&source=editors\&ust=1783415558224573\&usg=AOvVaw0gbQlqoT7Y9URXJP7qa3il). Select 'Apply and Keep Settings’ to persist your changes.

![](/files/ae221c43edc541f800007d4b63353a5c3ce99a5a))

You have now configured your Virtual Wire Extender! It will remain accessible at the IP you recorded earlier when the HaLow Wi-Fi was on the lan network.

## 6 FAQ

Can I access the HaLowLink 1 admin interface once I’m in this mode?

You can access the admin interface on the AP by either:

* connecting to the LAN or USB port, and accessing 192.168.12.1 as before. This is because only the HaLow and WAN ports are bridged.
* connecting to the AP from your existing network by determining its IP from the DHCP lease table on your DHCP server.

You can access the admin interface on the Extender by either:

* connecting to the Extender from your existing network by determining its IP from the DHCP lease table on your DHCP server.
* connecting to the LAN or USB port, and setting your network connection to have a static IP of 10.22.121.110 and a netmask of 255.255.255.254. You can then access the admin interface at <http://10.22.121.111>

Why do these devices have IPs? I thought Virtual Wire didn’t require any Layer 3 configuration?

The default configuration leaves them in DHCP client mode (so the admin interface can still be easily accessed) as above. If you do not want this behaviour, set the protocol on the network interface to unmanaged, as described in 4.3 DHCP client mode.

I’ve noticed that the Wi-Fi 2.4GHz LED is on. What is this about?

HaLowLink 1s have a 2.4 access point enabled by default for ease of setup. If you do not want this, you should disable the 2.4 AP by going to the Quick Config page and clicking the slider in the ‘Enabled’ column so that it looks like this:

![](/files/ecaee5a379b15487eb1349365ad3bc1b8bb85357))

***

How can I make sure the HaLowLink 1 devices are not accessible without physical access?

By default, HaLowLink 1 devices provide an HTTP admin interface and SSH access with username root and the password printed on the device. If you do not want them to be accessible over the 2.4 AP or via the network they’re connected to, you should set all appropriate interfaces to ‘unmanaged’ and disable the 2.4GHz AP as described above.

For additional hardening, you may want to disable dropbear (the ssh service) or uhttpd (the http service), restrict them to listening on particular interfaces or IPs, or institute appropriate firewall rules. This will make it harder - or impossible - to reconfigure the device without resetting it. To disable services, you can run the commands service dropbear disable and service uhttpd disable or do so via the System -> Startup page in the user interface. Here changes will take effect immediately, so make sure you ‘Stop’ the uhttpd service as your last action. It is safe to disable services initially, as this will just block them on startup:

![](/files/556606aa0ebe42cc5f072196b86c06671cbfffb4))

## 7 Revision History

| Release Number | Release Date | Release Notes   |
| -------------- | ------------ | --------------- |
| 1              | 11/04/2025   | Initial release |
