当前位置 博文首页 > 想要去旅行:Failed to set attribute: Invalid input data or p
Failed to set attribute: Invalid input data or parameter 解决
内核版本:linux-5.20.26
现象:
root@OpenWrt:/usr/lib# swconfig dev switch0 vlan 2 set ports "1 2 3"
Failed to set attribute: Invalid input data or parameter
参考资料:
https://forum.openwrt.org/t/ath79-kernel-5-4-swconfig-libnl-tiny-issue/50689
https://github.com/MartB/openwrt/commit/df051318503ff41c6214fa845e447dcfc5d1a1d8
原因:libnl-tiny 的问题,改用 libnl-3可以解决
--- a/package/network/config/swconfig/Makefile
+++ b/package/network/config/swconfig/Makefile
@@ -14,27 +14,26 @@ PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=GPL-2.0
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/kernel.mk
define Package/swconfig
SECTION:=base
CATEGORY:=Base system
- DEPENDS:=+libuci +libnl-tiny
+ DEPENDS:=+libuci +libnl
TITLE:=Switch configuration utility
endef
TARGET_CPPFLAGS := \
-D_GNU_SOURCE \
- -I$(STAGING_DIR)/usr/include/libnl-tiny \
+ -I$(STAGING_DIR)/usr/include/libnl3\
+ -I$(LINUX_DIR)/include \
-I$(PKG_BUILD_DIR) \
- $(TARGET_CPPFLAGS) \
- -I$(LINUX_DIR)/user_headers/include
+ $(TARGET_CPPFLAGS)
define Build/Compile
CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
$(MAKE) -C $(PKG_BUILD_DIR) \
$(TARGET_CONFIGURE_OPTS) \
- LIBS="$(TARGET_LDFLAGS) -lnl-tiny -lm -luci -lubox"
+ LIBS="-L$(STAGING_DIR)/usr/lib -lnl-genl-3 -lnl-3 -lm -luci -lubox"
endef
cs