From b9350e0133a4b586f0d82dd324b50ff2abbcb9c5 Mon Sep 17 00:00:00 2001 From: Sven-Ola Tuecke Date: Sat, 17 Jan 2026 21:04:09 +0100 Subject: [PATCH] OrangePi-RV2: wlan driver for edge Added with new extension named bcmdhd-spacemit (hosted on Codeberg.org) Signed-off-by: Sven-Ola Tuecke --- config/boards/orangepirv2.wip | 6 +++++ extensions/bcmdhd-spacemit.sh | 46 +++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 extensions/bcmdhd-spacemit.sh diff --git a/config/boards/orangepirv2.wip b/config/boards/orangepirv2.wip index bd6d2704e4..0af75740c0 100644 --- a/config/boards/orangepirv2.wip +++ b/config/boards/orangepirv2.wip @@ -10,6 +10,12 @@ SRC_EXTLINUX="yes" SRC_CMDLINE="earlycon=sbi console=tty1 console=ttyS0,115200 loglevel=1" PACKAGE_LIST_BOARD="rfkill bluetooth bluez bluez-tools pciutils" +case "${BRANCH}" in edge) + BCMDHD_SPACEMIT_TYPE="sdio" + BCMDHD_SPACEMIT_TAG="v101.10.591.84.37-4" + enable_extension "bcmdhd-spacemit" +;;esac + write_uboot_platform_mtd() { if [ -b /dev/mtdblock0 ]; then dd if="${1}/bootinfo_spinor.bin" of=/dev/mtdblock0 bs=65536 status=none; diff --git a/extensions/bcmdhd-spacemit.sh b/extensions/bcmdhd-spacemit.sh new file mode 100644 index 0000000000..1687c4f005 --- /dev/null +++ b/extensions/bcmdhd-spacemit.sh @@ -0,0 +1,46 @@ +# shellcheck shell=bash + +function extension_finish_config__install_kernel_headers_for_bcmdhd_spacemit_dkms() { + + if [[ "${KERNEL_HAS_WORKING_HEADERS}" != "yes" ]]; then + display_alert "Kernel version has no working headers package" "skipping bcmdhd-spacemit dkms for kernel v${KERNEL_MAJOR_MINOR}" "warn" + return 0 + fi + declare -g INSTALL_HEADERS="yes" + display_alert "Forcing INSTALL_HEADERS=yes; for use with bcmdhd-spacemit dkms" "${EXTENSION}" "debug" +} + +function post_install_kernel_debs__install_bcmdhd_spacemit_dkms_package() { + + [[ "${INSTALL_HEADERS}" != "yes" ]] || [[ "${KERNEL_HAS_WORKING_HEADERS}" != "yes" ]] && return 0 + [[ -z ${BCMDHD_SPACEMIT_TAG} ]] && return 0 + [[ -z ${BCMDHD_SPACEMIT_TYPE} ]] && return 0 + + local file_name= + local pcie_url="https://codeberg.org/sven-ola/bcmdhd-spacemit-dkms/releases/download/${BCMDHD_SPACEMIT_TAG}/bcmdhd-spacemit-pcie-dkms_${BCMDHD_SPACEMIT_TAG#v}_all.deb" + local sdio_url="https://codeberg.org/sven-ola/bcmdhd-spacemit-dkms/releases/download/${BCMDHD_SPACEMIT_TAG}/bcmdhd-spacemit-sdio-dkms_${BCMDHD_SPACEMIT_TAG#v}_all.deb" + local usb_url="https://codeberg.org/sven-ola/bcmdhd-spacemit-dkms/releases/download/${BCMDHD_SPACEMIT_TAG}/bcmdhd-spacemit-usb-dkms_${BCMDHD_SPACEMIT_TAG#v}_all.deb" + + case "${BCMDHD_SPACEMIT_TYPE}" in + "pcie") + file_name=bcmdhd-spacemit-pcie-dkms_${BCMDHD_SPACEMIT_TAG#v}_all.deb + use_clean_environment="yes" chroot_sdcard "wget ${pcie_url} -P /tmp" + ;; + "sdio") + file_name=bcmdhd-spacemit-sdio-dkms_${BCMDHD_SPACEMIT_TAG#v}_all.deb + use_clean_environment="yes" chroot_sdcard "wget ${sdio_url} -P /tmp" + ;; + "usb") + file_name=bcmdhd-spacemit-usb-dkms_${BCMDHD_SPACEMIT_TAG#v}_all.deb + use_clean_environment="yes" chroot_sdcard "wget ${usb_url} -P /tmp" + ;; + *) + return 0 + ;; + esac + display_alert "Install bcmdhd-spacemit packages, will build kernel module in chroot" "${EXTENSION}" "info" + # shellcheck disable=SC2034 + declare -ag if_error_find_files_sdcard=("/var/lib/dkms/bcmdhd*/*/build/*.log") + use_clean_environment="yes" chroot_sdcard_apt_get_install /tmp/"${file_name}" + use_clean_environment="yes" chroot_sdcard "rm -f /tmp/bcmdhd*.deb" +}