mirror of https://github.com/OpenIPC/firmware.git
Merge branch 'master' of github:OpenIPC/firmware
commit
bcd903fdb4
|
@ -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
|
|
@ -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
|
||||
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.
|
||||
|
|
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue