uvjim/linksys_velop

Backhaul state unknown

matthewhadley opened this issue · 3 comments

I have 4 Linksys Velop nodes. The primary is connected to each of the 3 secondary nodes via ethernet. I am able to verify this by viewing the sysinfo.cgi page on the primary node:

bh_report
  Node (MAC)  NODE IP          PARENT IP        Intf.  Chan.   RSSI(AP/STA)      Speed  State Timestamp   
------------  ---------------  ---------------  -----  -----   ------------  ---------  ----- ------------
C4411E9433CF  192.168.1.3      192.168.1.2       ethX  wired              0   1024.000     up 1671754336  
C4411E9433E3  192.168.1.5      192.168.1.2       ethX  wired              0   1024.000     up 1671754322  
C4411E9EAE4E  192.168.1.4      192.168.1.2       ethX  wired              0   1024.000     up 1671754329  

The Backhaul entity for each of the secondary nodes is showing Unknown - is that expected? The attributes for that entity does have some Backhaul info:

Connection        Wired
Last checked      December 22, 2022, 6:22:02 PM
Speed mbps        1,024
Signal strength   —

Here is the diagnostic information (which does seem to indicate some backhaul info) (custom_components and _Node__connected_devices data removed):

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2022.12.8",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.7",
    "docker": true,
    "arch": "aarch64",
    "timezone": "America/Chicago",
    "os_name": "Linux",
    "os_version": "5.15.76-v8",
    "supervisor": "2022.11.2",
    "host_os": "Home Assistant OS 9.4",
    "docker_version": "20.10.19",
    "chassis": "embedded",
    "run_as_root": true
  },
  "integration_manifest": {
    "codeowners": [
      "@uvjim"
    ],
    "config_flow": true,
    "dependencies": [
      "ssdp"
    ],
    "domain": "linksys_velop",
    "documentation": "https://github.com/uvjim/linksys_velop",
    "iot_class": "local_polling",
    "issue_tracker": "https://github.com/uvjim/linksys_velop/issues",
    "loggers": [
      "pyvelop"
    ],
    "name": "Linksys Velop",
    "requirements": [
      "pyvelop==2022.12.2"
    ],
    "ssdp": [
      {
        "st": "urn:schemas-upnp-org:device:InternetGatewayDevice:2",
        "manufacturer": "Linksys"
      }
    ],
    "version": "2022.12.1",
    "is_built_in": false
  },
  "data": {
    "device_entry": {
      "area_id": "living_room",
      "config_entries": [
        "3d286c7a324f498b8244ce455e209ced"
      ],
      "configuration_url": "http://192.168.1.5/ca",
      "connections": [],
      "disabled": false,
      "disabled_by": null,
      "entry_type": null,
      "hw_version": "1",
      "id": "7e2437ea15cdc4fe653bcdb84cec5053",
      "identifiers": "**REDACTED**",
      "is_new": false,
      "manufacturer": "Linksys",
      "model": "MX5300",
      "name": "Living Room",
      "name_by_user": "Living Room Linksys Velop",
      "suggested_area": null,
      "sw_version": "1.1.12.210066",
      "via_device_id": null
    },
    "node": {
      "_attribs": {
        "deviceID": "116928a1-715d-daec-6ccf-c4411e9433e3",
        "lastChangeRevision": 1325,
        "model": {
          "deviceType": "Infrastructure",
          "manufacturer": "Linksys",
          "modelNumber": "MX5300",
          "hardwareVersion": "1",
          "description": "Velop"
        },
        "unit": {
          "serialNumber": "**REDACTED**",
          "firmwareVersion": "1.1.12.210066",
          "firmwareDate": "2020-03-05T04:54:12Z"
        },
        "isAuthority": false,
        "nodeType": "Slave",
        "friendlyName": "LINKSYS00883",
        "knownInterfaces": [
          {
            "macAddress": "**REDACTED**",
            "interfaceType": "Unknown"
          },
          {
            "macAddress": "**REDACTED**",
            "interfaceType": "Unknown"
          },
          {
            "macAddress": "**REDACTED**",
            "interfaceType": "Unknown"
          },
          {
            "macAddress": "**REDACTED**",
            "interfaceType": "Wired"
          }
        ],
        "connections": [
          {
            "macAddress": "**REDACTED**",
            "ipAddress": "192.168.1.5"
          }
        ],
        "properties": [
          {
            "name": "userDeviceLocation",
            "value": "Living Room"
          },
          {
            "name": "userDeviceName",
            "value": "Living Room"
          }
        ],
        "maxAllowedProperties": 16,
        "results_time": 1671755085,
        "backhaul": {
          "deviceUUID": "116928a1-715d-daec-6ccf-c4411e9433e3",
          "ipAddress": "192.168.1.5",
          "parentIPAddress": "192.168.1.2",
          "connectionType": "Wired",
          "speedMbps": "1024",
          "timestamp": "2022-12-23T00:22:02Z"
        },
        "updates": {
          "deviceUUID": "116928a1-715d-daec-6ccf-c4411e9433e3",
          "lastSuccessfulCheckTime": "2022-12-23T00:17:56Z"
        }
      },
      "_MeshDevice__device_id": "116928a1-715d-daec-6ccf-c4411e9433e3",
      "_Node__parent_name": "Far Garage"
    }
  }
}

If it's relevant, the nodes are running in Bridge mode as there is another device upstream that handles DHCP.

I see now in the docs for Backhaul:

Node: Backhaul (RSSI value in dBm)

Seeing as these are connected via ethernet I guess this has no value 🙃 I assume if the attributes on that entity say Connection Wired then the ethernet backhaul is in-tact and working (ie not unplugged!).

Feel free to close this issue!

uvjim commented

To be honest they should probably be separate entities rather than attributes of an entity.

Yes if it is unknown and the attributes have values then it is connected. However, if that's what you're trying to determine the status entity for the node should tell you that.

I have seen nodes get into a funny state where they report no IP address, so aren't considered connected but, still report backhaul values and have devices connected to them etc. The Linksys app also shows this word state as well. The only way to recover from that seems to be to restart the node using the power switch.

I'll close this but might consider splitting the attributes to their own entities.

uvjim commented

Just an FYI... The latest beta (2023.1.1b0) has split the attributes into individual sensors. The signal strength sensor is now only available for wireless backhaul connections.