使用 licheerv 的 rtl8723ds wifi 时出现的问题,出现cfg80211: Unknown relocation type 57,lsmod是空的,修好后 8723ds.ko 又出现同样的问题,修好后nmcli又有问题,nmcli d s看到 wlan0 是 unavailable,执行systemctrl status NetworkManager看到Failed to D-Bus activate wpa_supplicant service,据查可能是 NetworkManager 依赖的 wpa_supplicant 有问题,执行which wpa_cli啥也没有,原来是我安装 NetworkManager 时的方法不对,不应用mmdebstarp ... -include=network-manager...,不会自动安装依赖,chroot进去手动安装可以
全志d1是riscv,Unknown relocation type 57 是 riscv 的,在 linux/arch/riscv/include/uapi/asm/elf.h 里的,或者readelf -r ./8723ds.ko | grep R_RISCV_32_PCREL也能看到。如果linux/arch/riscv/kernel/module.c里没有[R_RISCV_32_PCREL] = apply_r_riscv_32_pcrel_rela来处理这个就会有问题(新内核有),可以在编译 linux 时添加KCFLAGS='-fno-asynchronous-unwind-tables -fno-unwind-tables'来避免生成.eh_frame段解决,单独编译模块时则在其 Makefile 里添加KBUILD_CFLAGS += -fno-asynchronous-unwind-tables -fno-unwind-tables
