Merge branch 'OpenIPC:master' into master

pull/264/head
orlovsn 2022-07-14 12:24:23 +03:00 committed by GitHub
commit 7dc7f44057
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 2439 additions and 105 deletions

View File

@ -67,9 +67,9 @@ BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS=y
# BR2_PACKAGE_LIBEVENT_OPENIPC is not set
# BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT is not set
# BR2_PACKAGE_LIBOGG_OPENIPC is not set
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
# BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC is not set
BR2_PACKAGE_LIBYAML=y
BR2_PACKAGE_MAJESTIC_FONTS=y
# BR2_PACKAGE_MAJESTIC_FONTS is not set
BR2_PACKAGE_MBEDTLS_OPENIPC=y
# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set

View File

@ -93,14 +93,5 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
# BR2_PACKAGE_RTL8188EU is not set
# WIREGUARD
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
# For Facilitator "Vasiliy" ONLY
# BR2_PACKAGE_PHP is not set
# BR2_PACKAGE_PHP_EXT_JSON is not set
# BR2_PACKAGE_PHP_EXT_ZIP is not set
# BR2_PACKAGE_UHTTPD is not set
# NFS
BR2_PACKAGE_RSYNC=y
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set
# BR2_PACKAGE_WIREGUARD_TOOLS is not set

View File

@ -0,0 +1,108 @@
# Architecture
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_EABI=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_ARM_INSTRUCTIONS_THUMB2=y
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="4.9.37"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
# Toolchain
BR2_PER_PACKAGE_DIRECTORIES=y
BR2_GCC_VERSION_7_X=y
BR2_TOOLCHAIN_USES_UCLIBC=y
BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y
BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
# BR2_TOOLCHAIN_USES_MUSL is not set
# BR2_TOOLCHAIN_BUILDROOT_MUSL is not set
# BR2_TOOLCHAIN_BUILDROOT_LIBC="musl"
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.37"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HISILICON_PATH)/board/hi3536dv100/kernel/hi3536dv100.generic.config"
BR2_LINUX_KERNEL_UIMAGE=y
BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x80008000"
BR2_LINUX_KERNEL_XZ=y
BR2_LINUX_KERNEL_EXT_HISI_PATCHER=y
BR2_LINUX_KERNEL_EXT_HISI_PATCHER_LIST="$(BR2_EXTERNAL_HISILICON_PATH)/board/hi3536dv100/kernel/patches/ $(BR2_EXTERNAL_HISILICON_PATH)/board/hi3536dv100/kernel/overlay"
# Filesystem
# BR2_TARGET_TZ_INFO is not set
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="$(TOPDIR)/../scripts/executing_commands_for_$(BR2_TOOLCHAIN_BUILDROOT_LIBC).sh"
# OpenIPC configuration
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v2.2"
BR2_TARGET_GENERIC_HOSTNAME="vixand-hi3536dv100"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"
# OpenIPC packages
BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config"
BR2_PACKAGE_DROPBEAR_OPENIPC=y
# BR2_PACKAGE_FDK_AAC_OPENIPC is not set
BR2_PACKAGE_FWPRINTENV_OPENIPC=y
BR2_PACKAGE_HASERL=y
BR2_PACKAGE_HISI_GPIO is not set
BR2_PACKAGE_IPCTOOL=y
# BR2_PACKAGE_JSON_C is not set
# BR2_PACKAGE_LAME_OPENIPC is not set
BR2_PACKAGE_LIBCURL_OPENIPC=y
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
# BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set
# 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_LIBCURL_OPENIPC_MBEDTLS=y
# BR2_PACKAGE_LIBEVENT_OPENIPC is not set
# BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT is not set
# BR2_PACKAGE_LIBOGG_OPENIPC is not set
# BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC is not set
BR2_PACKAGE_LIBYAML=y
# BR2_PACKAGE_MAJESTIC_FONTS is not set
BR2_PACKAGE_MBEDTLS_OPENIPC=y
# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set
BR2_PACKAGE_MICROBE_WEB=y
# BR2_PACKAGE_MINI_SNMPD is not set
# BR2_PACKAGE_OPUS_OPENIPC is not set
# BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT is not set
# BR2_PACKAGE_SSHPASS is not set
# BR2_PACKAGE_UACME_OPENIPC is not set
BR2_PACKAGE_VTUND_OPENIPC=y
BR2_PACKAGE_YAML_CLI=y
# WiFi
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
# BR2_PACKAGE_RTL8188EU is not set
# WIREGUARD
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
# For Facilitator "Vasiliy" ONLY
BR2_PACKAGE_PHPy
BR2_PACKAGE_PHP_EXT_JSON=y
BR2_PACKAGE_PHP_EXT_ZIP=y
BR2_PACKAGE_UHTTPD=y
# Optional packages
BR2_PACKAGE_PPPD=y
BR2_PACKAGE_RSYNC=y

File diff suppressed because it is too large Load Diff

View File

@ -98,5 +98,5 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
# BR2_PACKAGE_RTL8188EU is not set
# WIREGUARD
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
# BR2_PACKAGE_WIREGUARD_TOOLS=y
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set
# BR2_PACKAGE_WIREGUARD_TOOLS is not set

View File

@ -98,5 +98,5 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
# BR2_PACKAGE_RTL8188EU is not set
# WIREGUARD
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
# BR2_PACKAGE_WIREGUARD_TOOLS=y
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set
# BR2_PACKAGE_WIREGUARD_TOOLS is not set

View File

@ -98,5 +98,5 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
# BR2_PACKAGE_RTL8188EU is not set
# WIREGUARD
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
# BR2_PACKAGE_WIREGUARD_TOOLS=y
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set
# BR2_PACKAGE_WIREGUARD_TOOLS is not set

View File

@ -98,5 +98,5 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
# BR2_PACKAGE_RTL8188EU is not set
# WIREGUARD
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
# BR2_PACKAGE_WIREGUARD_TOOLS=y
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set
# BR2_PACKAGE_WIREGUARD_TOOLS is not set

View File

@ -98,5 +98,5 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
# BR2_PACKAGE_RTL8188EU is not set
# WIREGUARD
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
# BR2_PACKAGE_WIREGUARD_TOOLS=y
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set
# BR2_PACKAGE_WIREGUARD_TOOLS is not set

View File

@ -0,0 +1,111 @@
# Architecture
BR2_mipsel=y
BR2_mips_xburst=y
# BR2_MIPS_SOFT_FLOAT is not set
BR2_MIPS_FP32_MODE_32=y
# BR2_MIPS_FP32_MODE_XX is not set
BR2_MIPS_NAN_LEGACY=y
BR2_MIPS_OABI32=y
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="3.10.14"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y
# Toolchain
BR2_PER_PACKAGE_DIRECTORIES=y
BR2_GCC_VERSION_7_X=y
BR2_TOOLCHAIN_USES_UCLIBC=y
BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y
BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
BR2_EXTRA_GCC_CONFIG_OPTIONS="--with-float=hard"
# BR2_TOOLCHAIN_USES_MUSL is not set
# BR2_TOOLCHAIN_BUILDROOT_MUSL is not set
# BR2_TOOLCHAIN_BUILDROOT_LIBC="musl"
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.10.14"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_INGENIC_PATH)/board/t31/kernel/t31.generic.config.vixand"
BR2_LINUX_KERNEL_UIMAGE=y
BR2_LINUX_KERNEL_LZMA=y
BR2_LINUX_KERNEL_EXT_INGENIC_PATCHER=y
BR2_LINUX_KERNEL_EXT_INGENIC_PATCHER_LIST="$(BR2_EXTERNAL_INGENIC_PATH)/board/t31/kernel/patches/ $(BR2_EXTERNAL_INGENIC_PATH)/board/t31/kernel/overlay"
# Filesystem
# BR2_TARGET_TZ_INFO is not set
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="$(TOPDIR)/../scripts/executing_commands_for_$(BR2_TOOLCHAIN_BUILDROOT_LIBC).sh"
# OpenIPC configuration
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v2.2"
BR2_TARGET_GENERIC_HOSTNAME="vixand-t31"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"
# OpenIPC packages
BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config"
BR2_PACKAGE_DROPBEAR_OPENIPC=y
# BR2_PACKAGE_FDK_AAC_OPENIPC is not set
BR2_PACKAGE_FWPRINTENV_OPENIPC=y
BR2_PACKAGE_INGENIC_OSDRV_T31=y
BR2_PACKAGE_HASERL=y
BR2_PACKAGE_HISI_GPIO=y
BR2_PACKAGE_IPCTOOL=y
BR2_PACKAGE_JSON_C=y
BR2_PACKAGE_LAME_OPENIPC=y
BR2_PACKAGE_LIBCURL_OPENIPC=y
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
# BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set
# 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_LIBCURL_OPENIPC_MBEDTLS=y
BR2_PACKAGE_LIBEVENT_OPENIPC=y
BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT=y
BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LIBYAML=y
# BR2_PACKAGE_MAJESTIC_FONTS is not set
BR2_PACKAGE_MAJESTIC_T31=y
BR2_PACKAGE_MBEDTLS_OPENIPC=y
# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set
BR2_PACKAGE_MICROBE_WEB=y
# BR2_PACKAGE_MINI_SNMPD is not set
# BR2_PACKAGE_MOTORS is not set
BR2_PACKAGE_OPUS_OPENIPC=y
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
# BR2_PACKAGE_SSHPASS is not set
BR2_PACKAGE_UACME_OPENIPC=y
BR2_PACKAGE_VTUND_OPENIPC=y
BR2_PACKAGE_YAML_CLI=y
# WiFi
# BR2_PACKAGE_WIRELESS_TOOLS is not set
# BR2_PACKAGE_WPA_SUPPLICANT is not set
# BR2_PACKAGE_WPA_SUPPLICANT_CLI is not set
# BR2_PACKAGE_WPA_SUPPLICANT_NL80211 is not set
# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set
# BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC is not set
# BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U is not set
# BR2_PACKAGE_RTL8188EU is not set
# WIREGUARD
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set
# BR2_PACKAGE_WIREGUARD_TOOLS is not set
# For Facilitator "Vasiliy" ONLY
BR2_PACKAGE_PHP=y
BR2_PACKAGE_PHP_EXT_JSON=y
BR2_PACKAGE_PHP_EXT_ZIP=y
BR2_PACKAGE_UHTTPD=y
# Optional packages
BR2_PACKAGE_PPPD=y

View File

@ -420,6 +420,11 @@ hi3536dv100() {
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3536dv100_vixand() {
soc="hi3536dv100"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_vixand all && rename
}
#################################################################################
msc313e() {
@ -572,6 +577,11 @@ t31() {
fresh && make PLATFORM=ingenic BOARD=unknown_unknown_${soc}_openipc all && rename
}
t31_vixand() {
soc="t31"
fresh && make PLATFORM=ingenic BOARD=unknown_unknown_${soc}_vixand all && rename
}
#################################################################################
xm510() {
@ -684,7 +694,9 @@ gk7205v200 # OpenIPC
# hi3516cv500 # testing..
# hi3516dv300 # testing..
#
# hi3536cv100 # OpenIPC
# hi3536dv100 # OpenIPC
# hi3536dv100_vixand # Vixand
#
#######
#
@ -728,10 +740,11 @@ gk7205v200 # OpenIPC
#
#######
#
# t10 # testing..
# t20 # testing..
# t30 # testing..
# t31 # testing..
# t10 # OpenIPC
# t20 # OpenIPC
# t30 # OpenIPC
# t31 # OpenIPC
# t31_vixand # Vixand partner
#
#######
#

View File

@ -5,8 +5,8 @@ on_exit()
mountpoint -q /proc && umount /proc
exec /sbin/init $*
}
trap on_exit 0
trap on_exit 0
mount -t proc proc /proc || exit
grep -q overlay /proc/filesystems || exit
@ -14,20 +14,30 @@ grep -q overlay /proc/filesystems || exit
if grep -q ubifs /proc/cmdline; then
mount -t ubifs ubi0:rootfs_data /overlay
else
mount -t jffs2 /dev/$(awk -F ':' '/rootfs_data/ {print $1}' /proc/mtd | sed 's/mtd/mtdblock/') /overlay || \
mount -t ubifs ubi0:rootfs_data /overlay || mount -t tmpfs tmpfs /overlay || exit
mtdblkdev=`awk -F ':' '/rootfs_data/ {print $1}' /proc/mtd | sed 's/mtd/mtdblock/'`
mtdchrdev=`grep 'rootfs_data' /proc/mtd | cut -d: -f1`
mount -t jffs2 /dev/${mtdblkdev} /overlay
if [ $? -ne 0 ] || { dmesg | grep "jffs2.*: Magic bitmask.*not found" > /dev/null 2>&1; } then
echo "jffs2 health check error, format required!"
flash_eraseall -j /dev/${mtdchrdev}
echo "Done! Remounting..."
mount -t jffs2 /dev/${mtdblkdev} /overlay || mount -t tmpfs tmpfs /overlay || exit
if ! cat /proc/mounts | grep ${mtdblkdev}; then
echo "--------------------------------"
echo "Crash - your flash in the trash!"
echo "--------------------------------"
fi
fi
fi
if grep -q overlayfs /proc/filesystems; then
mount -t overlayfs overlayfs -o lowerdir=/,upperdir=/overlay,ro /mnt \
|| { umount /overlay; exit; }
mount -t overlayfs overlayfs -o lowerdir=/,upperdir=/overlay,ro /mnt || { umount /overlay; exit; }
else
overlay_rootdir=/overlay/root
overlay_workdir=/overlay/work
mkdir -p ${overlay_rootdir} ${overlay_workdir}
mount -t overlay overlay \
-o lowerdir=/,upperdir=${overlay_rootdir},workdir=${overlay_workdir} /mnt \
|| { umount /overlay; exit; }
mount -t overlay overlay -o lowerdir=/,upperdir=${overlay_rootdir},workdir=${overlay_workdir} /mnt || { umount /overlay; exit; }
fi
pivot_root /mnt /mnt/rom

View File

@ -1,6 +1,6 @@
#!/bin/sh
#
# OpenIPC.org | v.20210508
# OpenIPC.org | v.20220712
# by Igor Zalatov, aka FlyRouter, aka ZigFisher
# Busybox applets: awk cat echo insmod ip modprobe sha1sum sleep tr tunctl udhcpc uptime
#
@ -10,13 +10,14 @@ vtund_enable="1"
vtund_port="5000"
vtund_server=$1
vtund_server=${vtund_server:=vtun.localhost}
vtund_source=$(ip r | awk '/default/ {print $5}' | head -n 1)
vtund_iface="tunnel"
device_name="IPC-VTUND"
working_dir="/tmp"
identity() {
identity_mac=$(cat /sys/class/net/eth0/address | tr 'a-z' 'A-Z')
identity_mac=$(cat /sys/class/net/${vtund_source}/address | tr 'a-z' 'A-Z')
identity_pas=$(echo ${identity_mac} | sha1sum | awk '{print $1}')
identity_tid=$(echo ${identity_mac} | tr -d ':')
identity_cfg=${working_dir}/vtund.conf

View File

@ -0,0 +1,91 @@
#!/bin/sh
#
# Start wifibroadcast
#
config="/etc/wfb.conf"
keydir="/etc"
wlan=`cat ${config} | grep wlan | cut -f 2 -d '='`
region=`cat ${config} | grep region | cut -f 2 -d '='`
channel=`cat ${config} | grep channel | cut -f 2 -d '='`
load_rtl() {
modprobe cfg80211
modprobe 88XXau
}
load_ath() {
modprobe cfg80211
modprobe mac80211
modprobe ath9k_htc
sleep 3 # need to load firmware
}
load_interface() {
if cat ${config} | grep "rtl" > /dev/null 2>&1; then
ifconfig ${wlan} up
iwconfig ${wlan} mode monitor
elif cat ${config} | grep "ath" > /dev/null 2>&1; then
iwconfig ${wlan} mode monitor
ifconfig ${wlan} up
fi
iw reg set ${region}
iwconfig ${wlan} channel ${channel}
}
start_wfb() {
wfb_tx -p 1 -u 5600 -K ${keydir}/drone.key ${wlan} &
}
case "$1" in
start)
if grep -q daemon=1 ${config}; then
echo "Loading modules for selected driver..."
if cat ${config} | grep "rtl"; then
if ! lsmod | grep "88XXau"; then
load_rtl
fi
elif cat ${config} | grep "ath"; then
if ! lsmod | grep "ath9k_htc"; then
load_ath
fi
fi
echo "Done."
echo "Preparing interface wlan..."
load_interface
echo "Done."
if ! cat ${keydir}/drone.key > /dev/null 2>&1; then
echo "Generating drone & ground station keys..."
cd ${keydir} ; wfb_keygen
echo "Done."
else
echo "Drone key exist... Done."
fi
echo "Starting Wifibroadcast service..."
start_wfb
echo "Done."
else
echo "Wifibroadcast service disabled in wfb.conf..."
fi
;;
stop)
echo "Stopping wifibroadcast service..."
kill -9 $(pidof wfb_tx)
ifconfig ${wlan} down
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac

View File

@ -1,11 +0,0 @@
#!/bin/sh
wlan=$1
chan="6"
ifconfig ${wlan} down
iwconfig ${wlan} mode monitor
ifconfig ${wlan} up
iwconfig ${wlan} channel ${chan}
wfb_rx -p 1 -u 5600 -K /tmp/gs.key ${wlan}

View File

@ -1,11 +0,0 @@
#!/bin/sh
wlan=$1
chan="6"
ifconfig ${wlan} down
iwconfig ${wlan} mode monitor
ifconfig ${wlan} up
iwconfig ${wlan} channel ${chan}
wfb_tx -p 1 -u 5600 -K /tmp/drone.key ${wlan}

View File

@ -0,0 +1,5 @@
daemon=0
driver=rtl
wlan=wlan0
region=BO
channel=6

View File

@ -1,61 +1,54 @@
# ATHEROS
# Настройка
1. Для сборки с драйверами Atheros включить опции ядра в соотвествующем плате конфиге:
В конфигурационном файле /etc/wfb.conf включить автозапуск сервиса:
```
br-ext-chip-goke/board/gk7205v200/kernel/gk7205v200.generic-fpv.config
br-ext-chip-goke/board/gk7205v200/kernel/gk7205v300.generic-fpv.config
CONFIG_WLAN_VENDOR_ATH=y
CONFIG_ATH9K_HTC=m
daemon=1
```
2. Выбрать необходимые пакеты в конфиге соответствующем плате:
указать используемый драйвер:
```
br-ext-chip-goke/configs/unknown_unknown_gk7205v200_fpv_defconfig
br-ext-chip-goke/configs/unknown_unknown_gk7205v300_fpv_defconfig
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_ATHEROS_9271=y
```
# REALTEK
1. Выбрать необходимые пакеты в конфиге соответствующем плате:
driver=rtl или driver=ath
```
br-ext-chip-goke/configs/unknown_unknown_gk7205v200_fpv_defconfig
br-ext-chip-goke/configs/unknown_unknown_gk7205v300_fpv_defconfig
BR2_PACKAGE_RTL8812AU_OPENIPC=y
```
!!!ВАЖНО!!! Оба драйвера с большой вероятностью не поместятся в сборку, потому собирать по принципу 1 прошивка 1 драйвер. Majestic не включен в стандартную сборку, после прошивки его необходимо загрузить отдельно.
# Загрузка модулей
## Realtek:
нужный wlan если их больше одного, если адаптер один, то оставить как есть:
```
modprobe cfg80211
modprobe 88XXau
```
## Atheros:
```
modprobe cfg80211
modprobe mac80211
modprobe ath9k_htc
wlan=wlan0
```
# Настройка интерфейса
страна:
```
iw set reg BO
ifconfig wlan0 up
iwconfig wlan0 mode monitor
iwconfig wlan0 channel 6
region=BO
```
канал:
```
channel=6
```
В конец /etc/majestic.yaml добавить секцию:
```
outgoing:
- udp://127.0.0.1:5600
```
Выполнить настройки majestic, отключить все лишнее кроме необходимого потока, выполнить настройки по битрейту и ключевым кадрам, после чего перезапустить камеру.
При первом запуске сгенерируются ключи drone.key и gs.key, ключ для наземной станции находится по пути /etc/gs.key, копируем его.
Изменить канал при необходимости можно стандартными командами из консоли:
```
iwconfig wlan0 channel X
```
Никаких дополнительных настроек для wfb_tx пока не вынесено в конфиг, для тестов их можно добавлять в функции start_wfb в скрипте инициализации /etc/init.d/S98wfb
P.S. Это минимальная обвязка, возможно что-то не учтено или сделано не так как хотелось бы, все предложения приветствуются в issues.

View File

@ -19,9 +19,14 @@ define WIFIBROADCAST_BUILD_CMDS
endef
define WIFIBROADCAST_INSTALL_TARGET_CMDS
$(INSTALL) -m 0755 -D $(@D)/wfb_rx $(TARGET_DIR)/usr/bin
$(INSTALL) -m 0755 -D $(@D)/wfb_tx $(TARGET_DIR)/usr/bin
$(INSTALL) -m 0755 -D $(@D)/wfb_keygen $(TARGET_DIR)/usr/bin
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc
cp ../general/package/wifibroadcast/files/wfb.conf $(TARGET_DIR)/etc
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d
cp ../general/package/wifibroadcast/files/S98wfb $(TARGET_DIR)/etc/init.d
endef
$(eval $(generic-package))