Skip to content

Commit b3a8884

Browse files
committed
Update install_gs.sh
1 parent 1613daf commit b3a8884

File tree

3 files changed

+81
-15
lines changed

3 files changed

+81
-15
lines changed

README.md

+3-5
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,10 @@ wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 2312
111111
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
112112
```
113113
- Run `$ ethtool -i wlan0` and ensure that it show right driver: `rtl88xxau_wfb` or `rtl8812eu`
114-
- Copy the name of the RTL8812AU/EU WiFi card.
115-
- Install wfb-ng. Replace `wlan0` with the previously copied name of the WiFi card.
114+
- Download and run [install_gs.sh](https://raw.githubusercontent.com/svpcom/wfb-ng/refs/heads/master/scripts/install_gs.sh):
116115
```
117-
git clone -b stable https://github.com/svpcom/wfb-ng.git
118-
cd wfb-ng
119-
sudo ./scripts/install_gs.sh
116+
curl -o install_gs.sh https://raw.githubusercontent.com/svpcom/wfb-ng/refs/heads/master/scripts/install_gs.sh
117+
sudo bash ./install_gs.sh
120118
```
121119
- Done! To monitor the link use the following command on the ground station:
122120
```

scripts/install_gs.sh

+77-9
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,33 @@ nics="$*"
55
auto_nics=0
66
release=master
77

8+
if [ $(id -u) != "0" ]
9+
then
10+
echo "Root access is required. Run: sudo $0 $*"
11+
exit 1
12+
fi
13+
14+
err_handler()
15+
{
16+
echo "--------------------------------------------------------------------------------"
17+
echo "WFB-ng setup failed"
18+
exit 1
19+
}
20+
21+
wfb_nics()
22+
{
23+
for i in $(find /sys/class/net/ -maxdepth 1 -type l | sort)
24+
do
25+
if udevadm info $i | grep -qE 'ID_NET_DRIVER=(rtl88xxau_wfb|rtl88x2eu)'
26+
then
27+
echo $(basename $i)
28+
fi
29+
done
30+
}
31+
832
if [ -z "$nics" ]
933
then
10-
nics="$($(dirname $0)/wfb-nics)"
34+
nics="$(wfb_nics)"
1135
auto_nics=1
1236
fi
1337

@@ -19,24 +43,31 @@ then
1943
exit 1
2044
fi
2145

46+
trap err_handler ERR
47+
2248
# Try to install prebuilt packages from wfb-ng apt repository
2349

24-
curl -s https://apt.wfb-ng.org/public.asc | sudo gpg --dearmor --yes -o /usr/share/keyrings/wfb-ng.gpg
25-
echo "deb [signed-by=/usr/share/keyrings/wfb-ng.gpg] https://apt.wfb-ng.org/ $(lsb_release -cs) $release" | sudo tee /etc/apt/sources.list.d/wfb-ng.list
26-
sudo apt update
50+
curl -s https://apt.wfb-ng.org/public.asc | gpg --dearmor --yes -o /usr/share/keyrings/wfb-ng.gpg
51+
echo "deb [signed-by=/usr/share/keyrings/wfb-ng.gpg] https://apt.wfb-ng.org/ $(lsb_release -cs) $release" > /etc/apt/sources.list.d/wfb-ng.list
2752

28-
if ! sudo apt -y install wfb-ng
53+
if ! apt update
54+
then
55+
rm -f /etc/apt/sources.list.d/wfb-ng.list /usr/share/keyrings/wfb-ng.gpg
56+
apt update
57+
fi
58+
59+
if ! apt -y install wfb-ng
2960
then
3061
# Install required packages for wfb-ng source build
3162

3263
apt -y install python3-all python3-all-dev libpcap-dev libsodium-dev libevent-dev python3-pip python3-pyroute2 python3-msgpack \
3364
python3-future python3-twisted python3-serial python3-jinja2 iw virtualenv debhelper dh-python fakeroot build-essential \
34-
libgstrtspserver-1.0-dev
65+
libgstrtspserver-1.0-dev socat git
3566

3667
tmpdir="$(mktemp -d)"
3768
git clone -b $release --depth 1 https://github.com/svpcom/wfb-ng.git "$tmpdir"
3869

39-
(cd "$tmpdir" && make deb && sudo apt -y install ./deb_dist/*.deb)
70+
(cd "$tmpdir" && make deb && apt -y install ./deb_dist/*.deb)
4071
rm -rf "$tmpdir"
4172
fi
4273

@@ -52,7 +83,7 @@ else
5283
fi
5384

5485
# Setup config
55-
cat <<EOF >> /etc/wifibroadcast.cfg
86+
cat <<EOF > /etc/wifibroadcast.cfg
5687
[common]
5788
wifi_channel = 165 # 165 -- radio channel @5825 MHz, range: 5815–5835 MHz, width 20MHz
5889
# 1 -- radio channel @2412 Mhz,
@@ -82,13 +113,50 @@ options 8812eu rtw_tx_pwr_by_rate=0 rtw_tx_pwr_lmt_enable=0
82113
EOF
83114

84115
if [ -f /etc/dhcpcd.conf ]; then
85-
echo "denyinterfaces $(nics)" >> /etc/dhcpcd.conf
116+
echo "denyinterfaces $nics" >> /etc/dhcpcd.conf
86117
fi
87118

119+
cat > /etc/motd <<__EOF__
120+
WFB-ng: http://wfb-ng.org
121+
Setup HOWTO: https://github.com/svpcom/wfb-ng/wiki/Setup-HOWTO
122+
Community chat: (wfb-ng support) https://t.me/wfb_ng
123+
124+
Version: $release
125+
126+
Quickstart (x86 laptop):
127+
1. Run "wfb-cli gs" to monitor link state
128+
2. Run QGroundControl
129+
130+
Quickstart (SBC + RTP video):
131+
1. Run "wfb-cli gs" to monitor link state
132+
2. Edit /etc/wifibroadcast.cfg and in section [gs_video] set peer to ip address of your laptop with QGC
133+
3. Edit /etc/wifibroadcast.cfg and in section [gs_mavlink] set peer to ip address of your laptop with QGC
134+
4. Reboot SBC.
135+
5. Run QGroundControl on your laptop
136+
137+
Quickstart (SBC + RTSP video):
138+
1. Run "wfb-cli gs" to monitor link state
139+
2. Run "sudo systemctl enable rtsp@h264" or "sudo systemctl enable rtsp@h265" (according to your video codec)
140+
3. Edit /etc/wifibroadcast.cfg and in section [gs_mavlink] set peer to ip address of your laptop with QGC
141+
4. Reboot SBC.
142+
5. Run QGroundControl on your laptop. Set video QGC source to rtsp://x.x.x.x:8554/wfb , where x.x.x.x is GS IP address.
143+
6. (optional) Run any other RTSP video player(s) for rtsp://x.x.x.x:8554/wfb
144+
145+
To set TX power edit /etc/modprobe.d/wfb.conf and reboot.
146+
147+
In case of any failures check "sudo systemctl status wifibroadcast@gs" service status.
148+
See full logs via: "sudo journalctl -xu wifibroadcast@gs"
149+
__EOF__
150+
88151
# Start gs service
89152
systemctl daemon-reload
90153
systemctl start wifibroadcast@gs
91154
systemctl status wifibroadcast@gs
92155
systemctl enable wifibroadcast@gs
93156

157+
echo "--------------------------------------------------------------------------------"
158+
echo
159+
cat /etc/motd
160+
echo
161+
echo "--------------------------------------------------------------------------------"
94162
echo "GS setup successfully finished"

stdeb.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[DEFAULT]
2-
Depends3: python3-twisted, libpcap-dev, libsodium-dev, libevent-dev, python3-pyroute2, python3-future, python3-serial, python3-msgpack, python3-jinja2, python3-yaml, socat, libgstrtspserver-1.0-dev
2+
Depends3: python3-twisted, libpcap-dev, libsodium-dev, libevent-dev, python3-pyroute2, python3-future, python3-serial, python3-msgpack, python3-jinja2, python3-yaml, socat, iw, libgstrtspserver-1.0-dev
33
Package3: wfb-ng
44
Replaces3: wifibroadcast
55
Maintainer: Vasily Evseenko <[email protected]>

0 commit comments

Comments
 (0)