mirror of https://github.com/OpenIPC/firmware.git
add minimal script for init wfb
parent
9ee15b3696
commit
27554b8577
|
@ -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
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
|
@ -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}
|
|
|
@ -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}
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
daemon=0
|
||||||
|
driver=rtl
|
||||||
|
wlan=wlan0
|
||||||
|
region=BO
|
||||||
|
channel=6
|
|
@ -1,61 +1,54 @@
|
||||||
# ATHEROS
|
# Настройка
|
||||||
|
|
||||||
1. Для сборки с драйверами Atheros включить опции ядра в соотвествующем плате конфиге:
|
В конфигурационном файле /etc/wfb.conf включить автозапуск сервиса:
|
||||||
|
|
||||||
```
|
```
|
||||||
br-ext-chip-goke/board/gk7205v200/kernel/gk7205v200.generic-fpv.config
|
daemon=1
|
||||||
br-ext-chip-goke/board/gk7205v200/kernel/gk7205v300.generic-fpv.config
|
|
||||||
|
|
||||||
CONFIG_WLAN_VENDOR_ATH=y
|
|
||||||
CONFIG_ATH9K_HTC=m
|
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Выбрать необходимые пакеты в конфиге соответствующем плате:
|
указать используемый драйвер:
|
||||||
|
|
||||||
```
|
```
|
||||||
br-ext-chip-goke/configs/unknown_unknown_gk7205v200_fpv_defconfig
|
driver=rtl или driver=ath
|
||||||
br-ext-chip-goke/configs/unknown_unknown_gk7205v300_fpv_defconfig
|
|
||||||
|
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_ATHEROS_9271=y
|
|
||||||
```
|
|
||||||
|
|
||||||
# REALTEK
|
|
||||||
|
|
||||||
1. Выбрать необходимые пакеты в конфиге соответствующем плате:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
br-ext-chip-goke/configs/unknown_unknown_gk7205v200_fpv_defconfig
|
нужный wlan если их больше одного, если адаптер один, то оставить как есть:
|
||||||
br-ext-chip-goke/configs/unknown_unknown_gk7205v300_fpv_defconfig
|
|
||||||
|
|
||||||
|
|
||||||
BR2_PACKAGE_RTL8812AU_OPENIPC=y
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
!!!ВАЖНО!!! Оба драйвера с большой вероятностью не поместятся в сборку, потому собирать по принципу 1 прошивка 1 драйвер. Majestic не включен в стандартную сборку, после прошивки его необходимо загрузить отдельно.
|
|
||||||
|
|
||||||
|
|
||||||
# Загрузка модулей
|
|
||||||
|
|
||||||
## Realtek:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
modprobe cfg80211
|
wlan=wlan0
|
||||||
modprobe 88XXau
|
|
||||||
```
|
|
||||||
## Atheros:
|
|
||||||
|
|
||||||
```
|
|
||||||
modprobe cfg80211
|
|
||||||
modprobe mac80211
|
|
||||||
modprobe ath9k_htc
|
|
||||||
```
|
```
|
||||||
|
|
||||||
# Настройка интерфейса
|
страна:
|
||||||
|
|
||||||
```
|
```
|
||||||
iw set reg BO
|
region=BO
|
||||||
ifconfig wlan0 up
|
|
||||||
iwconfig wlan0 mode monitor
|
|
||||||
iwconfig wlan0 channel 6
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
канал:
|
||||||
|
|
||||||
|
```
|
||||||
|
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.
|
||||||
|
|
Loading…
Reference in New Issue