Failed to set attribute: Invalid input data or parameter 解决

arm64 swconfig 配置vlan 失败问题

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值