Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
freedombone
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Context Sensitive Group
freedombone
Commits
9e39aa67
Commit
9e39aa67
authored
9 years ago
by
Bob Mottram
Browse files
Options
Downloads
Patches
Plain Diff
Install atheros wifi driver for use with mesh
parent
15f736be
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/freedombone
+80
-43
80 additions, 43 deletions
src/freedombone
with
80 additions
and
43 deletions
src/freedombone
+
80
−
43
View file @
9e39aa67
...
...
@@ -1576,6 +1576,67 @@ function get_batman_ipv6_address {
fi
}
function install_vpn_tunnel {
if ! grep -q "repo.universe-factory.net" /etc/apt/sources.list; then
echo 'deb http://repo.universe-factory.net/debian/ sid main' >> /etc/apt/sources.list
gpg --keyserver pgpkeys.mit.edu --recv-key 16EF3F64CB201D9C
if [ ! "$?" = "0" ]; then
exit 76272
fi
gpg -a --export 16EF3F64CB201D9C | sudo apt-key add -
apt-get update
apt-get -y install fastd
if [ ! "$?" = "0" ]; then
exit 52026
fi
fi
}
# ath9k_htc driver
function install_atheros_wifi {
if grep -Fxq "install_atheros_wifi" $COMPLETION_FILE; then
return
fi
if [ $INSTALLING_ON_BBB != "yes" ]; then
return
fi
if [[ $ENABLE_BABEL != "yes" && $ENABLE_BATMAN != "yes" && $ENABLE_CJDNS != "yes" ]]; then
return
fi
if [ -d $INSTALL_DIR/open-ath9k-htc-firmware ]; then
return
fi
apt-get -y install build-essential cmake git m4 texinfo
if [ ! -d $INSTALL_DIR ]; then
mkdir -p $INSTALL_DIR
fi
cd $INSTALL_DIR
if [ ! -d $INSTALL_DIR/open-ath9k-htc-firmware ]; then
git clone https://github.com/qca/open-ath9k-htc-firmware.git
if [ ! "$?" = "0" ]; then
rm -rf $INSTALL_DIR/open-ath9k-htc-firmware
exit 74283
fi
fi
cd $INSTALL_DIR/open-ath9k-htc-firmware
git checkout 1.4.0
make toolchain
if [ ! "$?" = "0" ]; then
rm -rf $INSTALL_DIR/open-ath9k-htc-firmware
exit 24820
fi
make firmware
if [ ! "$?" = "0" ]; then
rm -rf $INSTALL_DIR/open-ath9k-htc-firmware
exit 63412
fi
cp target_firmware/*.fw /lib/firmware/
if [ ! "$?" = "0" ]; then
exit 74681
fi
echo 'install_atheros_wifi' >> $COMPLETION_FILE
}
function mesh_babel {
if grep -Fxq "mesh_babel" $COMPLETION_FILE; then
return
...
...
@@ -1617,7 +1678,10 @@ function mesh_batman_bridge {
apt-get -y install iproute bridge-utils libnetfilter-conntrack3 batctl
apt-get -y install python-dev libevent-dev ebtables python-pip git
apt-get -y install avahi-utils avahi-autoipd wireless-tools
install_vpn_tunnel
modprobe batman-adv
[ $? -ne 0 ] && echo "B.A.T.M.A.N module not available" && exit 76482
if ! grep -q "batman_adv" /etc/modules; then
...
...
@@ -1640,51 +1704,23 @@ function mesh_batman_bridge {
if ! grep -q "# Mesh Networking (B.A.T.M.A.N)" /etc/network/interfaces; then
echo '' >> /etc/network/interfaces
echo '# Mesh Networking (B.A.T.M.A.N)' >> /etc/network/interfaces
echo 'iface bat0 inet6 static' >> /etc/network/interfaces
echo ' pre-up modprobe ipv6' >> /etc/network/interfaces
echo " address $BATMAN_IPV6" >> /etc/network/interfaces
echo ' netmask 64' >> /etc/network/interfaces
service networking restart
if [ ! "$?" = "0" ]; then
systemctl status networking.service
exit 6949
fi
echo 'auto wlan0' >> /etc/network/interfaces
echo 'iface wlan0 inet static' >> /etc/network/interfaces
echo ' pre-up modprobe batman_adv' >> /etc/network/interfaces
echo ' post-down modprobe -rf batman_adv' >> /etc/network/interfaces
echo ' address 0.0.0.0' >> /etc/network/interfaces
echo ' mtu 1532' >> /etc/network/interfaces
echo ' wireless-mode ad-hoc' >> /etc/network/interfaces
echo " wireless-essid mesh" >> /etc/network/interfaces
echo " wireless-channel 2" >> /etc/network/interfaces
echo " wireless-ap 02:12:34:56:78:9A" >> /etc/network/interfaces
fi
systemctl restart networking.service
if [ ! "$?" = "0" ]; then
systemctl status networking.service
exit 6949
fi
echo '#!/bin/bash' > /usr/bin/mesh
echo '' > /usr/bin/mesh
echo '# stop network manager to make the mesh network work' >> /usr/bin/mesh
echo 'systemctl stop networking' >> /usr/bin/mesh
echo '' >> /usr/bin/mesh
echo -n '# configure the wlan interface to operate with ' >> /usr/bin/mesh
echo 'mtus of 1532(batman requires it) and turn enc off ' >> /usr/bin/mesh
echo 'to ensure it works' >> /usr/bin/mesh
echo 'ifconfig wlan0 down' >> /usr/bin/mesh
echo 'ifconfig wlan0 mtu 1532' >> /usr/bin/mesh
echo 'iwconfig wlan0 enc off' >> /usr/bin/mesh
echo '' >> /usr/bin/mesh
echo '# add the interface to the ad-hoc network - or create it.' >> /usr/bin/mesh
echo -n "iwconfig wlan0 mode ad-hoc essid mesh ap " >> /usr/bin/mesh
echo "$BATMAN_IPV6 channel 2" >> /usr/bin/mesh
echo '' >> /usr/bin/mesh
echo -n '# add wlan0 to the batman-adv virtual interface(so it can ' >> /usr/bin/mesh
echo 'communicate with other batman-adv nodes)' >> /usr/bin/mesh
echo 'batctl if add wlan0' >> /usr/bin/mesh
echo 'ifconfig wlan0 up' >> /usr/bin/mesh
echo 'ifconfig bat0 up' >> /usr/bin/mesh
echo '' >> /usr/bin/mesh
echo -n '# make the bridge linking the batman-adv virtual ' >> /usr/bin/mesh
echo 'interface to the ethernet port' >> /usr/bin/mesh
echo 'brctl addbr bridge-link' >> /usr/bin/mesh
echo 'brctl addif bridge-link bat0' >> /usr/bin/mesh
echo '#brctl addif bridge-link eth0' >> /usr/bin/mesh
echo '' >> /usr/bin/mesh
echo '# get the ip address for the bridge from the dhcp server' >> /usr/bin/mesh
echo 'dhclient bridge-link' >> /usr/bin/mesh
echo '' >> /usr/bin/mesh
echo 'exit 0' >> /usr/bin/mesh
chmod +x /usr/bin/mesh
if ! grep -q "Mesh Networking (B.A.T.M.A.N)" /home/$MY_USERNAME/README; then
echo '' >> /home/$MY_USERNAME/README
echo '' >> /home/$MY_USERNAME/README
...
...
@@ -9813,6 +9849,7 @@ set_your_domain_name
time_synchronisation
configure_internet_protocol
create_git_project
install_atheros_wifi
mesh_cjdns
mesh_cjdns_tools
mesh_batman_bridge
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment