Jetson Nano用にBUFFALO WI-U3-1200AX2(rtl8852au)ドライバをクロスコンパイルする
本ページでは、Jetson Nano用にBUFFALO WI-U3-1200AX2(rtl8852au)ドライバをクロスコンパイルする手順を紹介する。
ホスト環境:
Ubuntu 18.04 LTS
・Jetpack導入済み ・Kernelのクロスコンパイル済み
ターゲットボード:
当然のことながらJetson nano
リンク
クロスコンパイル手順:
git clone http://github.com/lwfinger/rtl8852au.git
ドライバソースコードの取得
cd rtl8852au/platform/
vi jetson_nano.mk
ディレクトリを移動し、Jetson Nano用にクロスコンパイルするように.mkファイルを作成する。
+ifeq ($(CONFIG_PLATFORM_JETSON_NANO), y)
+EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
+EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
+ARCH ?= arm64
+CROSS_COMPILE := $(HOME)/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
+KSRC := $(HOME)/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/source/public/build
+MODULE_NAME = wlan
+endif
クロスコンパイラ、カーネルソースのディレクトリ等を設定。
cd ../
vi Makefile
先ほど作成した.mkファイルを読みとってコンパイルするようにMakefileを修正。
###################### Platform Related #######################
-CONFIG_PLATFORM_I386_PC = y
+CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_RTL8198D = n
CONFIG_PLATFORM_ANDROID_X86 = n
CONFIG_PLATFORM_ANDROID_INTEL_X86 = n
@@ -154,6 +154,7 @@ CONFIG_PLATFORM_NV_TK1_UBUNTU = n
CONFIG_PLATFORM_ARM_SUNxI = n
CONFIG_PLATFORM_RTK1319 = n
CONFIG_PLATFORM_AML_S905 = n
+CONFIG_PLATFORM_JETSON_NANO = y
make
クロスコンパイル開始。
ドライバロード
コンパイルが完了するとwlan.koが生成される。
Jetson nanoにwlan.koをSSHやTFTP等で移す。
WI-U3-1200AX2をJetson nanoにUSB接続すると以下のように見える。
無線ドライバロード
sudo insmod wlan.ko
wlan0が生成された。