求助大神,有遇到过吗,感谢!
SDK 中Linux内核版本:5.4.61
RTL8723驱动版本:rtl8723BU_WiFi_linux_v4.4.2_18635.20161006_BTCOEX20151228-664a
Makefile修改点:
1.增加
EXTRA_CFLAGS += -Wno-error=date-time # Fix compile error on gcc 4.9 and later
2.修改platform relate
###################### Platform Related #######################
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_SUNxI = y
3.指定kernel路径和交叉编译器
ifeq ($(CONFIG_PLATFORM_ARM_SUNxI), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
EXTRA_CFLAGS += -DCONFIG_PLATFORM_ARM_SUNxI
# default setting for Android 4.1, 4.2
EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
EXTRA_CFLAGS += -DCONFIG_PLATFORM_OPS
ifeq ($(CONFIG_USB_HCI), y)
EXTRA_CFLAGS += -DCONFIG_USE_USB_BUFFER_ALLOC_TX
_PLATFORM_FILES += platform/platform_ARM_SUNxI_usb.o
endif
ifeq ($(CONFIG_SDIO_HCI), y)
# default setting for A10-EVB mmc0
#EXTRA_CFLAGS += -DCONFIG_WITS_EVB_V13
_PLATFORM_FILES += platform/platform_ARM_SUNxI_sdio.o
endif
ARCH := arm
CROSS_COMPILE=/home/develop/t113/02_xxx_T113/t113-s3_linux-sdk-v1.1/out/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
KSRC=/home/develop/t113/02_xxx_T113/t113-s3_linux-sdk-v1.1/out/kernel/build
endif
4.
export CONFIG_RTL8723BU = m
obj-$(CONFIG_RTL8723BU) := $(MODULE_NAME).o
else
#export CONFIG_RTL8723BU = m
编译报错:rtl8723bu/include/osdep_service_linux.h:273:8: error:
evelop@develop-VirtualBox:~/t113/02_xxx_T113/t113-s3_linux-sdk-v1.1$ ./build.sh kernel
ACTION List: mkkernel;========
Execute command: mkkernel
INFO: build kernel ...
INFO: prepare_buildserver
INFO: Prepare toolchain ...
toolchain_archivedir=/home/develop/t113/02_xxx_T113/t113-s3_linux-sdk-v1.1/build/toolchain/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf.tar.xz
buildserver start already!
(cd /home/develop/t113/02_xxx_T113/t113-s3_linux-sdk-v1.1/build && [ -x mkkernel.sh ] && ./mkkernel.sh)
Building kernel
make[1]: Entering directory '/home/develop/t113/02_xxx_T113/t113-s3_linux-sdk-v1.1/out/kernel/build'
GEN Makefile
CALL /home/develop/t113/02_xxx_T113/t113-s3_linux-sdk-v1.1/kernel/linux-5.4/scripts/atomic/check-atomics.sh
CALL /home/develop/t113/02_xxx_T113/t113-s3_linux-sdk-v1.1/kernel/linux-5.4/scripts/checksyscalls.sh
CHK include/generated/compile.h
CC [M] drivers/net/wireless/rtl8723bu/core/rtw_cmd.o
CC [M] drivers/net/wireless/rtl8723bu/core/rtw_security.o
CC [M] drivers/net/wireless/rtl8723bu/core/rtw_debug.o
In file included from drivers/net/wireless/rtl8723bu/include/osdep_service.h:41:0,
from drivers/net/wireless/rtl8723bu/include/drv_types.h:32,
from drivers/net/wireless/rtl8723bu/core/rtw_security.c:22:
drivers/net/wireless/rtl8723bu/include/osdep_service_linux.h: In function '_init_timer':
drivers/net/wireless/rtl8723bu/include/osdep_service_linux.h:273:8: error: '_timer {aka struct timer_list}' has no member named 'data'
ptimer->data = (unsigned long)cntx;
^
drivers/net/wireless/rtl8723bu/include/osdep_service_linux.h:274:2: error: implicit declaration of function 'init_timer' [-Werror=implicit-function-declaration]
init_timer(ptimer);
^
In file included from drivers/net/wireless/rtl8723bu/include/drv_types.h:35:0,
from drivers/net/wireless/rtl8723bu/core/rtw_security.c:22:
drivers/net/wireless/rtl8723bu/include/wifi.h: At top level:
drivers/net/wireless/rtl8723bu/include/wifi.h:1009:0: warning: "IEEE80211_MAX_AMPDU_BUF" redefined
#define IEEE80211_MAX_AMPDU_BUF 0x40
^
In file included from drivers/net/wireless/rtl8723bu/include/osdep_service_linux.h:84:0,
from drivers/net/wireless/rtl8723bu/include/osdep_service.h:41,
from drivers/net/wireless/rtl8723bu/include/drv_types.h:32,
from drivers/net/wireless/rtl8723bu/core/rtw_security.c:22:
/home/develop/t113/02_xxx_T113/t113-s3_linux-sdk-v1.1/kernel/linux-5.4/include/linux/ieee80211.h:1460:0: note: this is the location of the previous definition
#define IEEE80211_MAX_AMPDU_BUF 0x100
离线
顶一下,还没解决
离线
20161006
这个版本驱动太老,去找更新的。
太感谢了![强强强]
找了个更新的版本,编译通过了,生成可8723bu.ko,然后拷贝到开发板,insmod 8723bu.ko,打印输出这个:
# insmod 8723bu.ko
[ 721.953019] 8723bu: loading out-of-tree module taints kernel.
[ 722.002339] RTW: module init start
[ 722.006175] RTW: rtl8723bu v5.8.4_33660.20190516_COEX20181129-7272
[ 722.016779] RTW: rtl8723bu BT-Coex version = COEX20181129-7272
[ 722.028481] platform_wifi_power_on(), usb_index: -22
[ 722.138392] RTW: rtw_inetaddr_notifier_register
[ 722.143705] usbcore: registered new interface driver rtl8723bu
[ 722.154359] RTW: module init ret=0
# ls /lib/firmware/rtlwifi/
rtl8723b_config.bin rtl8723bu_ap_wowlan.bin rtl8723bu_wowlan.bin
rtl8723b_fw rtl8723bu_bt.bin
rtl8723b_fw.bin rtl8723bu_nic.bin
# ls /lib/firmware/rtl_bt/
rtl8723b_config.bin rtl8723d_config rtl8821c_config
rtl8723b_fw.bin rtl8723d_fw rtl8821c_fw
#
但是ifconfig -a,没有看到wlanx,请教是什么问题?谢谢
离线
@SakeSilence
问题已解决,USB接口影响。
离线