Merge branch 'OpenIPC:master' into canaan_k230_01studio

pull/1823/head
wangjianxin-canaan 2025-08-13 18:04:00 +08:00 committed by GitHub
commit 02ef5e7d4a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
65 changed files with 2439 additions and 253 deletions

View File

@ -48,6 +48,9 @@ jobs:
- t21_lite
- t30_lite
# Ingenic [T23]
- t23_lite
# Ingenic [T31]
- t31_lite

File diff suppressed because it is too large Load Diff

View File

@ -17,7 +17,7 @@ BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_SOC_VENDOR)-t31.tar.gz"
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/ingenic-t31.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/t10.generic.config"
BR2_LINUX_KERNEL_LZMA=y

View File

@ -17,7 +17,7 @@ BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_SOC_VENDOR)-t31.tar.gz"
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/ingenic-t31.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/t20.generic.config"
BR2_LINUX_KERNEL_LZMA=y

View File

@ -17,7 +17,7 @@ BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_SOC_VENDOR)-t31.tar.gz"
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/ingenic-t31.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/t20.generic.config"
BR2_LINUX_KERNEL_LZMA=y

View File

@ -17,7 +17,7 @@ BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_SOC_VENDOR)-t31.tar.gz"
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/ingenic-t31.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/t21.generic.config"
BR2_LINUX_KERNEL_LZMA=y

View File

@ -17,7 +17,7 @@ BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_SOC_VENDOR)-t31.tar.gz"
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/ingenic-t31.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/t21.generic.config"
BR2_LINUX_KERNEL_LZMA=y

View File

@ -0,0 +1,66 @@
# Architecture
BR2_mipsel=y
BR2_mips_xburst=y
# BR2_MIPS_SOFT_FLOAT is not set
BR2_MIPS_FP32_MODE_32=y
# Toolchain
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/toolchain/toolchain.ingenic-t31.tgz"
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="mipsel-openipc-linux-musl"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/ingenic-t23.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/t23.generic.config"
BR2_LINUX_KERNEL_LZMA=y
# Filesystem
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config"
BR2_PACKAGE_UBOOT_TOOLS=y
BR2_PACKAGE_ZLIB=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
# OpenIPC
BR2_OPENIPC_SOC_VENDOR="ingenic"
BR2_OPENIPC_SOC_MODEL="t23"
BR2_OPENIPC_SOC_FAMILY="t23"
BR2_OPENIPC_VARIANT="lite"
BR2_OPENIPC_FLASH_SIZE="8"
# Packages
BR2_PACKAGE_DROPBEAR_OPENIPC=y
BR2_PACKAGE_INGENIC_OSDRV_T23=y
BR2_PACKAGE_IPCTOOL=y
BR2_PACKAGE_JSONFILTER=y
BR2_PACKAGE_LIBCURL_OPENIPC=y
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set
# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set
# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set
BR2_PACKAGE_LIBEVENT_OPENIPC=y
BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y
BR2_PACKAGE_MBEDTLS_OPENIPC=y
BR2_PACKAGE_OPUS_OPENIPC=y
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
BR2_PACKAGE_VTUND_OPENIPC=y
BR2_PACKAGE_YAML_CLI=y

View File

@ -17,7 +17,7 @@ BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_SOC_VENDOR)-t31.tar.gz"
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/ingenic-t31.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/t30.generic.config"
BR2_LINUX_KERNEL_LZMA=y

View File

@ -13,7 +13,7 @@ my_umount() {
my_mount() {
mkdir -p "${destdir}/$1" || exit 1
if ! mount -t auto -o sync "/dev/$1" "${destdir}/$1"; then
if ! mount -t auto "/dev/$1" "${destdir}/$1"; then
# failed to mount, clean up mountpoint
rmdir "${destdir}/$1"
exit 1

View File

@ -38,6 +38,7 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/i2c-telemetry/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-opensdk/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-osdrv-t20/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-osdrv-t21/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-osdrv-t23/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-osdrv-t30/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-osdrv-t31/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-osdrv-t40/Config.in"
@ -85,7 +86,6 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl8812au/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl88x2eu-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtw-hostapd/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rubyfpv/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-motors/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6b0/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6c/Config.in"
@ -102,7 +102,6 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/venc-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/vtund-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/w1-ds18b20/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/webrtc-audio-processing-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/wifibroadcast-ext/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/wifibroadcast-ng/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/xiongmai-opensdk-xm510/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/xiongmai-osdrv-xm510/Config.in"
@ -117,6 +116,7 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/ambarella-osdrv-s3l/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/autonight/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/capjpeg/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/datalink/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/gk7205v200-motors/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/gst1-plugins-bad-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/hisilicon-osdrv-serdes/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/hisilicon-osdrv1-sources/Config.in"
@ -126,6 +126,7 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/mavlink-router/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/microsnander/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/mini-snmpd-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/rcjoystick/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/sigmastar-motors/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/sigmastar-osdrv-msc313e/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/webui/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/wifibroadcast/Config.in"

View File

@ -5,7 +5,8 @@
################################################################################
ADAPTIVE_LINK_SITE = $(call github,openipc,adaptive-link,$(ADAPTIVE_LINK_VERSION))
ADAPTIVE_LINK_VERSION = '2c45d5fb0cac64c3654bc8d6043ed3d8c2e85f9e'
ADAPTIVE_LINK_VERSION = 'dca368dbaa025472e9836712c52d41bca1a9042b'
ADAPTIVE_LINK_DEPENDENCIES = yaml-cli-multi
ADAPTIVE_LINK_LICENSE = GPL-3.0
ADAPTIVE_LINK_LICENSE_FILES = LICENSE
@ -27,6 +28,7 @@ define ADAPTIVE_LINK_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc $(@D)/alink.conf
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc $(@D)/wlan_adapters.yaml
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc $(@D)/txprofiles/txprofiles.conf
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/alink_drone
endef

View File

@ -18,7 +18,11 @@ ATBM_WIFI_MODULE_MAKE_OPTS = KSRC=$(LINUX_DIR)
ATBM_WIFI_MODEL_NAME =
# Disable all models by default
ATBM_WIFI_MODULE_MAKE_OPTS += CONFIG_ATBM6012B_y=n CONFIG_ATBM603x=n CONFIG_ATBM6132=n
ATBM_WIFI_MODULE_MAKE_OPTS += \
CONFIG_ATBM6012B_y=n \
CONFIG_ATBM603x=n \
CONFIG_ATBM6132=n \
CONFIG_ATBM_USE_FIRMWARE_H=y
# Enable the selected model and set the interface type
ifeq ($(BR2_PACKAGE_ATBM_WIFI_MODEL_6012B),y)

View File

@ -0,0 +1,39 @@
## Introduction
This package is created and intended for unification and use in all firmware and on various processors where the method of connecting motors via GPIO is used.
## Configuring known devices
#### GK7205V200 (unknown model)
```
fw_setenv gpio_motors '52 53 56 57 69 70 59 58'
```
#### GM8136-faleemi
```
fw_setenv gpio_motors '51 52 53 54 55 28 29 30'
```
#### HI3516CV200-fdt
```
fw_setenv gpio_motors '60 61 37 38 54 55 56 57'
```
#### SSC337DE-foscam
```
fw_setenv gpio_motors '1 2 12 13 62 63 64 65'
```
We will add more information as soon as possible after testing.
## Using the utility
```
gpio-motors <pan steps> <tilt steps> <delay (ms)>
```
## More info
- [Our Wiki](https://github.com/OpenIPC/wiki/blob/master/en/motors.md)

View File

@ -0,0 +1,6 @@
config BR2_PACKAGE_INGENIC_OSDRV_T23
bool "ingenic-osdrv-t23"
select BR2_PACKAGE_INGENIC_OPENSDK
help
Ingenic T23 kernel modules and libraries
https://openipc.org

View File

@ -0,0 +1,85 @@
#!/bin/sh
KMOD_PATH=/lib/modules/$(uname -r)/ingenic
vendor=$(ipcinfo -v)
if [ ! -f /usr/sbin/sensor_cli ]; then
ln -s /usr/sbin/extutils /usr/sbin/sensor_cli
fi
echo 1 > /proc/sys/vm/overcommit_memory
log_vendor() {
logger -s -p daemon.info -t ${vendor} "$1"
}
check_return() {
if [ $? -ne 0 ]; then
echo err: $1
echo exit
exit
fi
}
lsmod | grep -q "sinfo"
if [ $? -ne 0 ]; then
modprobe sinfo.ko
check_return "modprobe sinfo"
fi
SENSOR=$(fw_printenv -n sensor)
if [ -n "$SENSOR" ]; then
export ${SENSOR}
log_vendor "Get data from environment and set SENSOR as ${SENSOR}"
else
echo 1 >/proc/jz/sinfo/info
check_return "start sinfo"
SENSOR_INFO=$(cat /proc/jz/sinfo/info)
check_return "get sensor type"
SENSOR=${SENSOR_INFO#*:}
if [ "sensor not found" = "$SENSOR" ]; then
unset SENSOR
fw_setenv sensor
else
log_vendor "Get data from sinfo and set SENSOR as ${SENSOR}"
fw_setenv sensor $SENSOR && log_vendor "Write detected ${SENSOR} to U-Boot ENV"
fi
fi
case ${SENSOR} in
"imx307"|"sc2135"|"sc2232")
ISP_PARAM="isp_clk=200000000"
;;
"gc2053"|"jxf23")
ISP_PARAM="isp_clk=200000000"
SENSOR_PARAM="sensor_max_fps=25 data_interface=1"
;;
*)
ISP_PARAM="isp_clk=125000000"
;;
esac
echo --------------------
echo "ISP_PARAM: ${ISP_PARAM}"
echo "SENSOR: ${SENSOR}"
echo "SENSOR_PARAM: ${SENSOR_PARAM}"
echo --------------------
lsmod | grep -q "tx_isp"
if [ $? -ne 0 ]; then
modprobe tx-isp-t23 ${ISP_PARAM}
check_return "modprobe isp drv"
fi
lsmod | grep -q ${SENSOR}
if [ $? -ne 0 ]; then
modprobe sensor_${SENSOR}_t23 ${SENSOR_PARAM}
check_return "modprobe sensor drv"
fi
lsmod | grep -q "audio"
if [ $? -ne 0 ]; then
modprobe audio spk_gpio=-1
check_return "modprobe audio"
fi

View File

@ -0,0 +1,6 @@
sensor:
name: gc2053
address: 0x37
width: 1920
height: 1080
bus: i2c

View File

@ -0,0 +1,6 @@
sensor:
name: imx327
address: 0x1a
width: 1920
height: 1080
bus: i2c

View File

@ -0,0 +1,6 @@
sensor:
name: jxf23
address: 0x40
width: 1920
height: 1080
bus: i2c

View File

@ -0,0 +1,6 @@
sensor:
name: jxf37pa
address: 0x40
width: 1920
height: 1080
bus: i2c

View File

@ -0,0 +1,6 @@
sensor:
name: jxh63p
address: 0x40
width: 1920
height: 1080
bus: i2c

View File

@ -0,0 +1,6 @@
sensor:
name: sc1346
address: 0x30
width: 1280
height: 720
bus: i2c

View File

@ -0,0 +1,6 @@
sensor:
name: sc1a4t
address: 0x30
width: 1280
height: 720
bus: i2c

View File

@ -0,0 +1,6 @@
sensor:
name: sc200ai
address: 0x30
width: 1920
height: 1080
bus: i2c

View File

@ -0,0 +1,6 @@
sensor:
name: sc2310
address: 0x30
width: 1920
height: 1080
bus: i2c

View File

@ -0,0 +1,6 @@
sensor:
name: sc2331
address: 0x30
width: 1920
height: 1080
bus: i2c

View File

@ -0,0 +1,6 @@
sensor:
name: sc301IoT
address: 0x30
width: 1920
height: 1080
bus: i2c

View File

@ -0,0 +1,38 @@
################################################################################
#
# ingenic-osdrv-t23
#
################################################################################
INGENIC_OSDRV_T23_VERSION =
INGENIC_OSDRV_T23_SITE =
INGENIC_OSDRV_T23_LICENSE = MIT
INGENIC_OSDRV_T23_LICENSE_FILES = LICENSE
ifeq ($(OPENIPC_SNS_MODEL),)
define INGENIC_OSDRV_T23_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/sensor
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensor $(INGENIC_OSDRV_T23_PKGDIR)/files/sensor/*.yaml
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensor $(INGENIC_OSDRV_T23_PKGDIR)/files/sensor/params/*.bin
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(INGENIC_OSDRV_T23_PKGDIR)/files/script/*
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(INGENIC_OSDRV_T23_PKGDIR)/files/lib/*
endef
else
define INGENIC_OSDRV_T23_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/sensor
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensor $(INGENIC_OSDRV_T23_PKGDIR)/files/sensor/$(OPENIPC_SNS_MODEL).yaml
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensor $(INGENIC_OSDRV_T23_PKGDIR)/files/sensor/params/$(OPENIPC_SNS_MODEL)-$(OPENIPC_SOC_MODEL).bin
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(INGENIC_OSDRV_T23_PKGDIR)/files/script/*
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(INGENIC_OSDRV_T23_PKGDIR)/files/lib/*
endef
endif
$(eval $(generic-package))

View File

@ -5,7 +5,7 @@
################################################################################
RTL8189ES_OPENIPC_SITE = $(call github,jwrdegoede,rtl8189es_linux,$(RTL8189ES_OPENIPC_VERSION))
RTL8189ES_OPENIPC_VERSION = HEAD
RTL8189ES_OPENIPC_VERSION = fcf2a5746e6fe11d9d71337ee5dac6cf43423a97
RTL8189ES_OPENIPC_LICENSE = GPL-2.0
RTL8189ES_OPENIPC_LICENSE_FILES = COPYING

View File

@ -1,41 +0,0 @@
--- a/Makefile 2024-08-27 14:13:17.943312156 +0300
+++ b/Makefile 2024-08-27 14:16:02.378077178 +0300
@@ -49,7 +49,7 @@
########################## WIFI IC ############################
CONFIG_RTL8812A = y
-CONFIG_RTL8821A = y
+CONFIG_RTL8821A = n
CONFIG_RTL8814A = n
######################### Interface ###########################
CONFIG_USB_HCI = y
@@ -216,9 +216,9 @@
EXTRA_CFLAGS += -DDBG=0
endif
-ifeq ($(CONFIG_RTL8812A)_$(CONFIG_RTL8821A), y_y)
+ifeq ($(CONFIG_RTL8812A)_$(CONFIG_RTL8821A), y_n)
-EXTRA_CFLAGS += -DDRV_NAME=\"rtl88xxau_wfb\"
+EXTRA_CFLAGS += -DDRV_NAME=\"rtl88xxau\"
ifeq ($(CONFIG_USB_HCI), y)
USER_MODULE_NAME = 88XXau
endif
@@ -301,7 +301,7 @@
hal/btc/halbtc8821c2ant.o
endif
-include $(TopDIR)/hal/phydm/phydm.mk
+include $(src)/hal/phydm/phydm.mk
########### HAL_RTL8812A_RTL8821A #################################
ifneq ($(CONFIG_RTL8812A)_$(CONFIG_RTL8821A), n_n)
@@ -1533,7 +1533,7 @@
USER_MODULE_NAME ?=
ifneq ($(USER_MODULE_NAME),)
-MODULE_NAME := $(USER_MODULE_NAME)_wfb
+MODULE_NAME := $(USER_MODULE_NAME)
endif
ifneq ($(KERNELRELEASE),)

View File

@ -1,36 +0,0 @@
diff -Naur a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c
--- a/os_dep/linux/ioctl_cfg80211.c 2024-08-27 14:35:02.331289685 +0300
+++ b/os_dep/linux/ioctl_cfg80211.c 2024-08-27 14:37:53.039690680 +0300
@@ -4937,6 +4937,7 @@
//RTW_INFO("%s dvobj null\n", __func__);
}
switch(pHalData->current_channel_bw){
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0))
case CHANNEL_WIDTH_5:
//RTW_INFO("%s width 5\n", __func__);
width = NL80211_CHAN_WIDTH_5;
@@ -4947,6 +4948,7 @@
width = NL80211_CHAN_WIDTH_10;
center_freq = control_freq;
break;
+#endif
case CHANNEL_WIDTH_20:
//RTW_INFO("%s width 20\n", __func__);
width = NL80211_CHAN_WIDTH_20;
diff -Naur a/os_dep/linux/wifi_regd.c b/os_dep/linux/wifi_regd.c
--- a/os_dep/linux/wifi_regd.c 2024-08-27 14:35:13.051313467 +0300
+++ b/os_dep/linux/wifi_regd.c 2024-08-27 14:38:18.297753594 +0300
@@ -334,11 +334,11 @@
if (ch)
ch->flags &= ~(IEEE80211_CHAN_DISABLED|IEEE80211_CHAN_NO_HT40PLUS|
IEEE80211_CHAN_NO_HT40MINUS|IEEE80211_CHAN_NO_80MHZ|
- IEEE80211_CHAN_NO_160MHZ);
+ IEEE80211_CHAN_NO_160MHZ |
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0))
IEEE80211_CHAN_NO_IBSS|IEEE80211_CHAN_PASSIVE_SCAN);
#else
- IEEE80211_CHAN_NO_IR;
+ IEEE80211_CHAN_NO_IR);
#endif
//ch->flags = IEEE80211_CHAN_DISABLED;
}

View File

@ -4,13 +4,14 @@
#
################################################################################
RTL8812AU_OPENIPC_SITE = $(call github,svpcom,rtl8812au,$(RTL8812AU_OPENIPC_VERSION))
RTL8812AU_OPENIPC_VERSION = f1f447e2e184167b70bed4884534a2c27f4aa16e
RTL8812AU_OPENIPC_SITE = $(call github,openipc,realtek-wlan,$(RTL8812AU_OPENIPC_VERSION))
RTL8812AU_OPENIPC_VERSION = rtl8812au_fpv
RTL8812AU_OPENIPC_LICENSE = GPL-2.0
RTL8812AU_OPENIPC_LICENSE_FILES = COPYING
RTL8812AU_OPENIPC_MODULE_MAKE_OPTS = CONFIG_RTL8812AU=m \
RTL8812AU_OPENIPC_MODULE_MAKE_OPTS = \
CONFIG_RTL8812AU=m \
KVER=$(LINUX_VERSION_PROBED) \
KSRC=$(LINUX_DIR)

View File

@ -12,8 +12,11 @@ detect_sensor() {
echo srcfg 0 1 0 0 0 0 > /dev/srcfg
rmmod sensor_config
fi
SENSOR=$(ipcinfo -s)
if ! grep -q fpv /etc/os-release; then
fw_setenv sensor "$SENSOR"
fi
}
set_sensor() {

View File

@ -5,7 +5,6 @@
MODULE=/lib/modules/4.9.84/sigmastar
SENSOR=$(fw_printenv -n sensor)
BUILD=$(grep BUILD_OPTION /etc/os-release | cut -d= -f2)
detect_sensor() {
insmod $MODULE/sensor_config.ko
@ -15,7 +14,7 @@ detect_sensor() {
fi
SENSOR=$(ipcinfo -s)
if [ "$BUILD" != "fpv" ]; then
if ! grep -q fpv /etc/os-release; then
fw_setenv sensor "$SENSOR"
fi
}

View File

@ -1,4 +0,0 @@
config BR2_PACKAGE_WIFIBROADCAST_EXT
bool "wifibroadcast-ext"
help
Additional scripts for wifibroadcast-ng

View File

@ -1,18 +0,0 @@
#!/bin/sh
case "$1" in
start)
echo "Starting temperature check..."
temp_monitor &>/dev/null &
;;
stop)
echo "Stopping temperature check..."
killall -q temp_monitor
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac

View File

@ -1,41 +0,0 @@
#!/bin/sh
case "$1" in
5)
echo "Channel5 change."
channel5.sh "$2"
;;
6)
echo "Channel6 change."
channel6.sh "$2"
;;
7)
echo "Channel7 change."
channel7.sh "$2"
;;
8)
echo "Channel8 change."
channel8.sh "$2"
;;
9)
echo "Channel9 change."
channel9.sh "$2"
;;
10)
echo "Channel10 change."
channel10.sh "$2"
;;
11)
echo "Channel11 change."
channel11.sh "$2"
;;
12)
echo "Channel12 change."
channel12.sh "$2"
;;
*)
echo "No valid channel specified."
;;
esac
exit 0

View File

@ -1,74 +0,0 @@
#!/bin/sh
# Define temperature thresholds:
NORMAL_THRESHOLD=85 # Normal if below 85°C
REBOOT_THRESHOLD=100 # Reboot if 100°C or higher
# --- Get Adapter info ---
for card in $(lsusb | awk '{print $6}' | sort | uniq); do
case "$card" in
"0bda:8812" | "0bda:881a" | "0b05:17d2" | "2357:0101" | "2604:0012")
driver=88XXau
;;
"0bda:a81a")
driver=8812eu
;;
"0bda:f72b" | "0bda:b733")
driver=8733bu
;;
esac
done
wifi_adapter=""$driver""
echo "Wifi adapter found: $driver"
while true; do
# --- Get VTX Temperature ---
# Example output from ipcinfo --temp: "39.00"
vtx_temp=$(ipcinfo --temp)
vtx_int=$(echo "$vtx_temp" | cut -d. -f1)
adapter_temp=0
if [ "$wifi_adapter" = "8733bu" ]; then
# Expected format: "rf_path: 0, thermal_value: 37, offset: 45, temperature: 20"
adapter_temp=$(grep -o 'temperature: [0-9]*' /proc/net/rtl8733bu/wlan0/thermal_state | awk '{print $2}')
elif [ "$wifi_adapter" = "88XXau" ]; then
echo "Adapter 88XXau temperature extraction not implemented yet."
adapter_temp=0
elif [ "$wifi_adapter" = "8812eu" ]; then
if [ -f /proc/net/rtl88x2eu/wlan0/thermal_state ]; then
# Extract both temperature values and choose the highest
adapter_temp=$(grep -o 'temperature: [0-9]*' /proc/net/rtl88x2eu/wlan0/thermal_state | awk '{print $2}' | sort -n | tail -1)
else
echo "Thermal state file for 8812eu not found."
adapter_temp=0
fi
else
echo "Unknown adapter type: $wifi_adapter"
fi
# Fallback if adapter_temp is empty
if [ -z "$adapter_temp" ]; then
adapter_temp=0
fi
echo "VTX temperature: ${vtx_temp}°C, Adapter temperature: ${adapter_temp}°C"
# --- Determine the Highest Temperature ---
if [ "$adapter_temp" -gt "$vtx_int" ]; then
max_temp=$adapter_temp
else
max_temp=$vtx_int
fi
# --- Determine the current state based on max_temp ---
if [ "$max_temp" -lt "$NORMAL_THRESHOLD" ]; then
echo "All is well... Nothing to do" > /dev/null
elif [ "$max_temp" -lt "$REBOOT_THRESHOLD" ]; then
echo "Warning: High temperature was detected.\nVTX Temp:&T WifiTemp:&W &L30 &G8 &F18" > /tmp/MSPOSD.msg
else
echo "VTX will reboot due to thermal state...\nVTX Temp:&T WifiTemp:&W &L30 &G8 &F18.\nRebooting in 15 seconds..." > /tmp/MSPOSD.msg
sleep 15
reboot
fi
sleep 5
done

View File

@ -1,16 +0,0 @@
################################################################################
#
# wifibroadcast-ext
#
################################################################################
define WIFIBROADCAST_EXT_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d
$(INSTALL) -m 755 -t $(TARGET_DIR)/etc/init.d $(WIFIBROADCAST_EXT_PKGDIR)/files/S991temp_monitor
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(WIFIBROADCAST_EXT_PKGDIR)/files/temp_monitor
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(WIFIBROADCAST_EXT_PKGDIR)/files/channels.sh
endef
$(eval $(generic-package))

View File

@ -24,6 +24,7 @@ load_config() {
}
load_modules() {
adapter_id=""
for card in $(lsusb | awk '{print $6}' | uniq); do
case "$card" in
"0bda:8812" | "0bda:881a" | "0b05:17d2" | "2357:0101" | "2604:0012")
@ -32,10 +33,12 @@ load_modules() {
"0bda:a81a")
driver=8812eu
adapter_id="bl-m8812eu2"
;;
"0bda:f72b" | "0bda:b733")
driver=8733bu
adapter_id="bl-m8731bu4"
;;
esac
done
@ -61,6 +64,11 @@ load_modules() {
echo_log "Wireless driver not found!"
exit 1
fi
# Set .wireless.wlan_adapter in /etc/wfb.yaml if adapter_id is set
if [ -n "$adapter_id" ]; then
yaml-cli-multi -i /etc/wfb.yaml -s .wireless.wlan_adapter "$adapter_id"
fi
}
load_mlink() {
@ -121,23 +129,64 @@ start_telemetry() {
fi
msposd -b 115200 -c 8 -r "$osd_fps" -m /dev/"$serial" \
-o 127.0.0.1:"$port_tx" -z "$size" > /dev/null &
sleep 5
echo "&L70&F28&G8CPU:&C TEMP:&T\n&B" >/tmp/MSPOSD.msg
fi
}
video_settings() {
for card in $(lsusb | awk '{print $6}' | uniq); do
case "$card" in
"0bda:8812" | "0bda:881a" | "0b05:17d2" | "2357:0101" | "2604:0012")
driver=88XXau
wifibroadcast cli -s .wireless.txpower 20
wifibroadcast cli -s .wireless.wlan_adapter bl-r8812af1
wifibroadcast cli -s .broadcast.stbc 1
wifibroadcast cli -s .broadcast.ldpc 1
;;
"0bda:a81a")
driver=8812eu
wifibroadcast cli -s .wireless.txpower 40
wifibroadcast cli -s .wireless.wlan_adapter bl-m8812eu2
wifibroadcast cli -s .broadcast.stbc 1
wifibroadcast cli -s .broadcast.ldpc 1
;;
"0bda:f72b" | "0bda:b733")
driver=8733bu
wifibroadcast cli -s .wireless.txpower 20
wifibroadcast cli -s .wireless.wlan_adapter bl-m8731bu4
wifibroadcast cli -s .broadcast.stbc 0
wifibroadcast cli -s .broadcast.ldpc 0
;;
esac
done
sensor=$(ipcinfo -s)
cli -s .isp.sensorConfig /etc/sensors/"$sensor"_fpv.bin
cli -s .isp.exposure 5
cli -s .isp.exposure 16
cli -s .video0.fps 60
cli -s .video0.bitrate 8192
cli -s .video0.bitrate 8000
cli -s .video0.codec h265
cli -s .video0.rcMode cbr
cli -s .outgoing.enabled true
cli -s .outgoing.wfb true
cli -s .fpv.enabled true
cli -s .fpv.noiseLevel 1
cli -s .records.split 1
cli -s .records.notime true
cli -s .fpv.enabled true
cli -s .fpv.noiseLevel 0
wifibroadcast cli -s .wireless.mlink 3994
wifibroadcast cli -s .wireless.link_control alink
sed -i '/alink_drone &/d' /etc/rc.local && sed -i -e '$i alink_drone &' /etc/rc.local
if [ "$sensor" = "imx335" ]; then
cli -s .video0.size 1920x1440
else
cli -s .video0.size 1920x1080
fi
}
start() {

View File

@ -4,7 +4,7 @@
#
################################################################################
WIFIBROADCAST_NG_VERSION = 3648da920699c75ae349a2627b8e27fa680be941
WIFIBROADCAST_NG_VERSION = 7ffc689e3f1194dca79dca4b5b56ee560c0cc3be
WIFIBROADCAST_NG_SITE = $(call github,svpcom,wfb-ng,$(WIFIBROADCAST_NG_VERSION))
WIFIBROADCAST_NG_LICENSE = GPL-3.0

View File

@ -0,0 +1,5 @@
config BR2_PACKAGE_YAML_CLI_MULTI
bool "Yaml parser"
help
Parses yaml files.
https://github.com/vertexodessa/yaml-cli-multi

View File

@ -0,0 +1,31 @@
################################################################################
#
# Adaptive Link
#
################################################################################
YAML_CLI_MULTI_SITE = $(call github,vertexodessa,yaml-cli-multi,$(YAML_CLI_MULTI_VERSION))
YAML_CLI_MULTI_VERSION = 'a633865b5202dcd1f4f548e8486d3a334c79c03c'
YAML_CLI_MULTI_LICENSE = GPL-3.0
YAML_CLI_MULTI_LICENSE_FILES = LICENSE
ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
YAML_CLI_MULTI_OPTIONS = "-rdynamic -s -Os -lm"
else
YAML_CLI_MULTI_OPTIONS = "-rdynamic -s -Os"
endif
define YAML_CLI_MULTI_BUILD_CMDS
@echo "Building yaml-cli-multi"
$(MAKE) CC=$(TARGET_CC) OPT=$(YAML_CLI_MULTI_OPTIONS) -C $(@D)
endef
define YAML_CLI_MULTI_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/yaml-cli-multi
endef
$(eval $(generic-package))