[Buildroot] [PATCH v3 1/1] rtl8821au: new package
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Wed Jul 22 21:20:13 UTC 2015
Dear Christian Stewart,
On Wed, 22 Jul 2015 09:39:13 -0700, Christian Stewart wrote:
> Adding a kernel module based USB wifi driver. There is no official
> version of this driver that works properly on ARM and with newer USB
> WiFi cards. This driver version builds module 8821au and is based on a
> kernel module release from ASUS with various fixes integrated in.
>
> [Thomas, Yann, Luca:
> - Using the new kernel-module setup
> - Compacted endian flag define to one line]
This last paragraph has nothing to do in the commit log itself. The
changelog between the different versions of the patch should go...
>
> Signed-off-by: Christian Stewart <christian at paral.in>
> ---
here, i.e after the "---" line.
> diff --git a/package/rtl8821au/Config.in b/package/rtl8821au/Config.in
> new file mode 100644
> index 0000000..0a8cd74
> --- /dev/null
> +++ b/package/rtl8821au/Config.in
> @@ -0,0 +1,7 @@
> +config BR2_PACKAGE_RTL8821AU
> + bool "rtl8821au"
> + depends on BR2_LINUX_KERNEL
> + help
> + rtl8821au wifi driver
> +
> + https://github.com/paralin/rtl8821au
Indentation for the help text is one tab + two spaces. Also, it is
customary to add a comment like:
comment "rtl8821au needs a Linux kernel to be built"
depends on !BR2_LINUX_KERNEL
> diff --git a/package/rtl8821au/rtl8821au.mk b/package/rtl8821au/rtl8821au.mk
> new file mode 100644
> index 0000000..9c3d286
> --- /dev/null
> +++ b/package/rtl8821au/rtl8821au.mk
> @@ -0,0 +1,21 @@
> +################################################################################
> +#
> +# rtl8821au
> +#
> +################################################################################
> +
> +RTL8821AU_VERSION = 4.3.14
> +RTL8821AU_SITE = $(call github,paralin,rtl8821au,v$(RTL8821AU_VERSION))
> +RTL8821AU_CFLAGS_ENDIAN = -DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN
> +
> +define RTL8821AU_CONFIGURE_CMDS
> + $(SED) "s/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g" $(@D)/Makefile
> +endef
I think this $(SED) is probably unnecessary, you can probably just pass
CONFIG_PLATFORM_I386_PC=n on the command line, i.e
> +
> +RTL8821AU_MODULE_MAKE_OPTS = \
> + CONFIG_RTL8821AU=m \
> + KVER=$(LINUX_VERSION_PROBED) \
> + USER_EXTRA_CFLAGS=$(RTL8821AU_CFLAGS_ENDIAN)
CONFIG_PLATFORM_I386_PC=n
However, this driver doesn't build for me.
First because the usage of __DATE__ and __TIME__ is triggering the
following build error:
/home/thomas/projets/buildroot/output/build/rtl8821au-4.3.14/./core/rtw_debug.c:70:64: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
DBG_871X_SEL_NL(sel, "build time: %s %s\n", __DATE__, __TIME__);
^
Then, after patching the code to remove this useless debugging line,
the build fails with:
/home/thomas/projets/buildroot/output/build/rtl8821au-4.3.14/./os_dep/linux/rtw_android.c: In function ‘rtw_android_cmdstr_to_num’:
/home/thomas/projets/buildroot/output/build/rtl8821au-4.3.14/./os_dep/linux/rtw_android.c:346:3: error: implicit declaration of function ‘strnicmp’ [-Werror=implicit-function-declaration]
if(0 == strnicmp(cmdstr , android_wifi_cmd_str[cmd_num], strlen(android_wifi_cmd_str[cmd_num])) )
^
Here is the defconfig to reproduce the problem:
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2015.05-496-g85945aa.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.0"
BR2_LINUX_KERNEL_DEFCONFIG="sama5"
BR2_LINUX_KERNEL_ZIMAGE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_RTL8821AU=y
# BR2_TARGET_ROOTFS_TAR is not set
Can you rework your patch to fix those issues?
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
More information about the buildroot
mailing list