diff --git a/napalm_openwrt/openwrt.py b/napalm_openwrt/openwrt.py index 87a60ee..dbc11f5 100644 --- a/napalm_openwrt/openwrt.py +++ b/napalm_openwrt/openwrt.py @@ -189,7 +189,13 @@ class OpenWrtDriver( release_out = self._send_command("cat /etc/openwrt_release") release = self._parse_openwrt_release(release_out) - facts["vendor"] = "OpenWrt" + # Hardware vendor from board_name (e.g. "sophos,ap100" → "Sophos") + # Fall back to "OpenWrt" when board_name is unavailable or has no comma. + board_name_raw = self._send_command("cat /tmp/sysinfo/board_name 2>/dev/null").strip() + if board_name_raw and "," in board_name_raw and not board_name_raw.startswith("cat:"): + facts["vendor"] = board_name_raw.split(",")[0].strip().title() + else: + facts["vendor"] = "OpenWrt" # Prefer the device-tree model (e.g. "Sophos AP100") over the SoC target model_raw = self._send_command("cat /tmp/sysinfo/model 2>/dev/null")