Mesh11sd truncates SSID

Hi folks,

I am using mesh11sd on a Xiaomi 4a gigabit edition , and a Cudy RE3000 range extender. I have the basic mesh set up between them, and now I’m trying to replicate my existing wifi network ssid for clients to connect to (so I don’t have to reconfigure them all). However, my existing network ssid has a space in it “My Wifi”, and the latter part is not being included. I only see a “My” network being broadcast. Am I doing something wrong?

The non-mesh SSID is configured in /etc/config/wireless, exactly as it is on the production AP (at a different physical location, so I know which SSID is being broadcast).

I followed the basic steps at https://github.com/openNDS/mesh11sd/?tab=readme-ov-file#1-the-mesh11sd-project, taking the “Firmware Selector” path. I initially used the SSID in “mesh11sd.setup.mesh_gate_base_ssid”, but that resulted in a bunch of node-specific “My-5g-xxxx” SSIDs being announced, and nothing resembling unsuffixed SSID. I then discovered the “ssid_suffix_enable” option, which eliminated the suffix, but still misses the full SSID.

I then tried setting up /etc/config/wireless as it is in the production device, and removed “mesh11sd.setup.mesh_gate_base_ssid” from /etc/config/mesh11sd, but it still only broadcasts “My” network, instead of “My Wifi”.

/etc/config/mesh11sd:

config mesh11sd 'setup'
        option auto_config '1'
        option auto_mesh_id 'XXXXX'
        option mesh_gate_encryption '2'
        option mesh_gate_key 'YYYYY'
        option debuglevel '3'
        option ssid_suffix_enable '0'
        option vtun_enable '0'

config mesh11sd 'mesh_params'
        option mesh_rssi_threshold '-65'

/etc/config/wireless:

config wifi-device 'radio0'
	option type 'mac80211'
	option path '1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0'
	option band '2g'
	option channel '1'
	option htmode 'HT20'
	option disabled '0'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'My WiFi'
        option key 'ZZZZZ'
        option disassoc_low_ack '0'
        option log_level '1'
        option encryption 'psk2'
        option ieee80211r '0'
        option ft_over_ds '0'
        option ft_psk_generate_local '0'

config wifi-device 'radio1'
	option type 'mac80211'
	option path '1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
	option band '5g'
	option channel '36'
	option htmode 'VHT80'
	option disabled '0'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'My WiFi'
        option key 'ZZZZZ'
        option disassoc_low_ack '0'
        option log_level '1'
        option encryption 'psk2'
        option ieee80211r '0'
        option ft_over_ds '0'
        option ft_psk_generate_local '0'

Any ideas?

Edit: Added wifi dev output:

root@meshnode-3710:~# iw dev
phy#1
	Interface phy1-ap1
		ifindex 14
		wdev 0x100000004
		addr 2a:d1:27:1d:37:10
		ssid My
		type AP
		channel 36 (5180 MHz), width: 80 MHz, center1: 5210 MHz
		txpower 23.00 dBm
		multicast TXQ:
			qsz-byt	qsz-pkt	flows	drops	marks	overlmt	hashcol	tx-bytes	tx-packets
			0	0	0	0	0	0	0	0		0
phy#0
	Interface m-11s-0
		ifindex 16
		wdev 0x5
		addr 2a:d1:27:1b:37:10
		type mesh point
		channel 1 (2412 MHz), width: 40 MHz, center1: 2422 MHz
		txpower 20.00 dBm
		multicast TXQ:
			qsz-byt	qsz-pkt	flows	drops	marks	overlmt	hashcol	tx-bytes	tx-packets
			0	0	201	0	0	0	0	17925		201
	Interface phy0-ap0
		ifindex 15
		wdev 0x4
		addr 2a:d1:27:1c:37:10
		ssid My
		type AP
		channel 1 (2412 MHz), width: 40 MHz, center1: 2422 MHz
		txpower 20.00 dBm
		multicast TXQ:
			qsz-byt	qsz-pkt	flows	drops	marks	overlmt	hashcol	tx-bytes	tx-packets
			0	0	0	0	0	0	0	0		0

Edit 2: Also, there seems to be an error in the docs, regarding mesh11sd read_log -f, as suggested in the Confidence Test commandline. This read_log option doesn’t seem to exist at all.

Another mesh11sd question: Why does the entire luci UI get replaced with a simple mesh11sd status page? How is one supposed to interface with apmond to get statistics about clients connected to various nodes?

(As an aside, I have been trying to come up with something like this for Home Assistant presence detection on a fully wired network with multiple APs, but I sit with the timing problem of the client connecting to one AP, then disconnecting from the original, and the result is that the “disconnected” message makes the solution think that the client is no longer connected at all. I’m hoping that apmond might be able to work in a fully wired setup as well, without mesh11sd?)

@bluewavenet could you take this one? (In case you miss this thread...)

2 Likes

@RoganDawes
The problems you are having are for the most part my fault as, due to lack of time for foss development (ie the paid job taking up my time) I have not had time to release the new version and submit it to the OpenWrt feeds.
You will be using the 5.x.x version from the feeds, but reading the version 6.2.0 documentation where there are MANY changes (as would be expected with a major version change from 5.x.x to 6.x.x).

There is a lot we can do to get this feeds version working for you, but perhaps it would be wasted effort if I can make time to do the new release :sweat_smile:

But first lets confirm a few things:

  1. You currently have your main router and a single "extender" ?
  2. You want to use 802.11s mesh between the main and extender?
  3. Do you want to extend your new mesh to more than 2 nodes (main acting as "node 1" and extender acting as "node 2", ie add nodes 3, 4 etc. ?
  4. Do you want "roaming" for your client devices? Note this has nothing to do with "mesh", in spite of what you might read in some manufacturer's advertising.

Here are some fundamental facts:

  1. LuCi understands ONLY STATIC configurations, ie configs that are written to flash memory and survive reboots.
  2. Mesh11sd, by the nature of 802.11s protocols, has to manage DYNAMIC configs that can constantly change ie cannot be written to flash memory as they would, sooner or later, destroy the flash.

As you can see, these two facts are mutually exclusive. So Mesh11sd disables LuCi.

Note: Mesh11sd v6+ has a mode, for those that need it, where a form of LuCi compatibility can be enabled post auto-config. In this mode LuCi becomes available again, although it might not show any of the actual mesh config - depends on the firmware of the device. Everything else is available as usual for LuCi, including the Mesh11sd extensions.

Apmond is a separate development that has been incorporated into Mesh11sd and it collects usage data from access points in a central database. The data can be read by means of a cli command, or alternatively via the LuCi extensions.

There is an example of the Apmond output in the documentation that you may have seen, but for convenience I will show the snippet here for others to see. The snippet shows the network usage of a particular client device attached to a remote access point:

"clients@94:83:c4:5c:25:6d": {
  "OpenWrt-5g-256d@phy0-ap0": {
    "7a:42:01:88:d1:84": {
      "rx_bytes": "29754",
      "tx_bytes": "30575",
      "signal_avg": "-32_dBm",
      "tx_bitrate": "433.3_MBit/s_VHT-MCS_9_80MHz_short_GI_VHT-NSS_1",
      "connected_time": "271_seconds",
      ...
    },
    "b4:8c:9d:ea:26:21": { ... }
  }
}

The full output shows a lot of information, not just about clients, but also about the remote node itself.

The output is in json format and can be quite long!
Here is an example snippet of the first part of the outut of a remote meshnode on my test network:

root@meshnode-8ecb:~# mesh11sd show_ap_data 9483c45c2a52
{
  "System@94:83:c4:5c:2a:51": {
    "Distribution": "OpenWrt",
    "Release": "SNAPSHOT",
    "Revision": "r29091-7aa3dfdbda",
    "Target": "qualcommax/ipq60xx",
    "Architecture": "aarch64_cortex-a53",
    "Description": "OpenWrt SNAPSHOT r29091-7aa3dfdbda",
    "Device": "GL.iNet GL-AXT1800",
    "phy": {
      "phy0": {
        "Chipset": "Qualcomm QCN9074",
        "Bands": [
          "5GHz"
        ],
        "Standards": [
          "802.11ac",
          "802.11ax",
          "802.11n"
        ],
        "MeshPoint": "802.11s",
        "Wi-FiGeneration": "Wi-Fi 6",
        "MIMO": "2x2",
        "MaxChannelWidth": "160 MHz",
        "ChannelWidthCap": false,
        "Antennas": "2x2",
        "TheoreticalMaxMbps": "2400",
        "TXQS": true,
        "AIRTIME_FAIRNESS": false,
        "AQL_Extended": false,
        "AQL_Runtime": true,
        "Driver": "ath11k"
      },
      "phy1": {
        "Chipset": "Qualcomm QCN9074",
        "Bands": [
          "2.4GHz"
        ],
        "Standards": [
          "802.11ax",
          "802.11n"
        ],
        "MeshPoint": "802.11s",
        "Wi-FiGeneration": "Wi-Fi 6",
        "MIMO": "2x2",
        "MaxChannelWidth": "40 MHz",
        "ChannelWidthCap": false,
        "Antennas": "2x2",
        "TheoreticalMaxMbps": "600",
        "TXQS": true,
        "AIRTIME_FAIRNESS": false,
        "AQL_Extended": false,
        "AQL_Runtime": true,
        "Driver": "ath11k"
      }
    },
    "node_status": {
      "factory_mac": "94:83:c4:5c:2a:51",
      "mesh_bridge_mac": "94:83:c4:5c:2a:52",
      "uptime_seconds": 38172,
      "load_average_1min": "0.39",
      "load_average_5min": "0.29",
      "load_average_15min": "0.22",
      "free_ram_kb": 186276,
      "free_flash_kb": 83112,
      "cpu_temperature_c": "49.1",
      "cpu_frequency_mhz": "864"
    },
    "clients@94:83:c4:5c:2a:52": {
      "VTunnel-2g-2a52@vxradio1": {
        "d2:2a:e2:9f:eb:72": {
          "rx_bytes": "275572",  { ... }

You can see it gives comprehensive details about the meshnode itself, all from the central database, detailing the actual hardware and its current status, such as uptime, cpu load, temperature, free ram and flash.

BUT, you only get this with v6+

As you can see I am, not so subtly, indicating you should use the new version.
While waiting for me to find time, you are welcome to try the pre-release version (I can push an apk or ipk to Github) if you, or anyone else, are interested.

But really, I need to get it submitted to the feeds....

1 Like

Of course, I should have realised that the version was not the same. My apologies for the mistake. And no need for you to apologise (and I hope my tone didn’t make you think you needed to!), I understand completely that this is free software, and that I get to keep both pieces if anything breaks. :smiley: I do appreciate all the effort that you have put into this (and other projects) immensely.

I am currently using a Xiaomi 4a as the portal (i.e. has Internet access), and plan to link the Cudy RE3000 to it via mesh11sd, as a wireless repeater. There is a third node on the network, being a Xiaomi 4A set up as a wired Access Point that could theoretically be added to the mesh if it will help in any way. The only reason to investigate mesh11sd is that running Ethernet to the point where I want to place the Cudy is non-trivial.

I do understand that roaming and meshing are distinct concepts. I’m not entirely sure how the distinction is maintained between the mesh backhaul and the “user facing” wireless networks, though, given what I have seen so far, but I probably need to go back and revisit it in the light of the mismatched documentation and software versions.

If there are instructions for building a package for 2024.10.x, I am quite happy to do so. There is no urgency to this, so when you have an opportunity is fine! Thanks for the quick response!

1 Like