cross compile openwrt
Opened this issue · 4 comments
Hi,
i am a end user.
I tried several hours to do a cross compile for my router (Archer C7), without success.
Is it possible to make the driver available to the openwrt project ?
regards
currently working on this issue #8
but you should read here
https://github.com/ulli-kroll/rtl8821au
If you build openwrt from "source" you should adapt
KSRC and CROSS_COMPILE to your needs
If you use -stable binaries you are out of luck
or install the SDK
also it may be possible this is also true for -development
I know this is hard for a true beginner/end user
I have sucessfully got this to compile on Openwrt. You be able to check out the source for openwrt as defined here, create a folder in package/kernel called rtw88-usb-new and then put the file below in it. After that simply type make menuconfig, select this package from the kernel modules > wireless devices menu.
You will need to manually copy across the firmware and place in /lib/firmware/rtw88/.
include $(TOPDIR)/rules.mk
PKG_NAME:=rtw88-usb-new
PKG_RELEASE:=2
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=
PKG_SOURCE_URL:=https://github.com/ulli-kroll/rtw88-usb.git
PKG_SOURCE_PROTO:=git
#PKG_SOURCE_DATE:=2020-10-17
#PKG_SOURCE_VERSION:=f9f4ee862b3e1f9e6a543d503a08d8de9b18b8f9
PKG_SOURCE_VERSION:=d6b859eed430c24cb74301cafaa1eab25f103dab
#PKG_MIRROR_HASH:=60359df8b49fa433d38b968b0df7eaddaca10f13cdd57471394bac1f6e5a162e
# PKG_MAINTAINER:=
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
define KernelPackage/rtw88-usb-new
SUBMENU:=Wireless Drivers
TITLE:=Realtek rtw88-usb new version testing
DEPENDS:=+kmod-cfg80211 +kmod-mac80211 +kmod-usb-core +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT
FILES:=\
$(PKG_BUILD_DIR)/rtw88_pci.ko \
$(PKG_BUILD_DIR)/rtw88_usb.ko \
$(PKG_BUILD_DIR)/rtw88_core.ko \
$(PKG_BUILD_DIR)/rtw88_8822cu.ko \
$(PKG_BUILD_DIR)/rtw88_8822ce.ko \
$(PKG_BUILD_DIR)/rtw88_8822c.ko \
$(PKG_BUILD_DIR)/rtw88_8822b.ko \
$(PKG_BUILD_DIR)/rtw88_8822be.ko \
$(PKG_BUILD_DIR)/rtw88_8822bu.ko \
$(PKG_BUILD_DIR)/rtw88_8723d.ko \
$(PKG_BUILD_DIR)/rtw88_8723de.ko \
$(PKG_BUILD_DIR)/rtw88_8821c.ko \
$(PKG_BUILD_DIR)/rtw88_8821cu.ko
AUTOLOAD:=$(call AutoProbe, rtw88_8821cu)
endef
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
$(KERNEL_MAKE_FLAGS) \
M="$(PKG_BUILD_DIR)" \
modules
endef
$(eval $(call KernelPackage,rtw88-usb-new))
You forgot there is (currently) no master branch with all USB-ID's here.
I hope I sort this out after reading some other phy_init/mac_init code
and compare this with 8723d
;-)
I have sucessfully got this to compile on Openwrt. You be able to check out the source for openwrt as defined here, create a folder in package/kernel called rtw88-usb-new and then put the file below in it. After that simply type make menuconfig, select this package from the kernel modules > wireless devices menu.
You will need to manually copy across the firmware and place in /lib/firmware/rtw88/.
include $(TOPDIR)/rules.mk PKG_NAME:=rtw88-usb-new PKG_RELEASE:=2 PKG_LICENSE:=GPLv2 PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/ulli-kroll/rtw88-usb.git PKG_SOURCE_PROTO:=git #PKG_SOURCE_DATE:=2020-10-17 #PKG_SOURCE_VERSION:=f9f4ee862b3e1f9e6a543d503a08d8de9b18b8f9 PKG_SOURCE_VERSION:=d6b859eed430c24cb74301cafaa1eab25f103dab #PKG_MIRROR_HASH:=60359df8b49fa433d38b968b0df7eaddaca10f13cdd57471394bac1f6e5a162e # PKG_MAINTAINER:= PKG_BUILD_PARALLEL:=1 include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/package.mk define KernelPackage/rtw88-usb-new SUBMENU:=Wireless Drivers TITLE:=Realtek rtw88-usb new version testing DEPENDS:=+kmod-cfg80211 +kmod-mac80211 +kmod-usb-core +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT FILES:=\ $(PKG_BUILD_DIR)/rtw88_pci.ko \ $(PKG_BUILD_DIR)/rtw88_usb.ko \ $(PKG_BUILD_DIR)/rtw88_core.ko \ $(PKG_BUILD_DIR)/rtw88_8822cu.ko \ $(PKG_BUILD_DIR)/rtw88_8822ce.ko \ $(PKG_BUILD_DIR)/rtw88_8822c.ko \ $(PKG_BUILD_DIR)/rtw88_8822b.ko \ $(PKG_BUILD_DIR)/rtw88_8822be.ko \ $(PKG_BUILD_DIR)/rtw88_8822bu.ko \ $(PKG_BUILD_DIR)/rtw88_8723d.ko \ $(PKG_BUILD_DIR)/rtw88_8723de.ko \ $(PKG_BUILD_DIR)/rtw88_8821c.ko \ $(PKG_BUILD_DIR)/rtw88_8821cu.ko AUTOLOAD:=$(call AutoProbe, rtw88_8821cu) endef define Build/Compile +$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \ $(KERNEL_MAKE_FLAGS) \ M="$(PKG_BUILD_DIR)" \ modules endef $(eval $(call KernelPackage,rtw88-usb-new))
Thanks for your instruction, but it doesn't work for me
not even detect my TP-Link Archer T4U V3 (RTL8812BU) on Raspberry Pi 3 Model B Rev 1.2 with OpenWrt 22.03.5
do you have any suggestion for me?