From b19479e7df534736efcc91b43dacb2219024cbe2 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Fri, 19 Jan 2018 14:33:39 +0000 Subject: [PATCH] Revert "Use atheros wifi package" This reverts commit 5814c386c186c32a650c981c6213b8965f1cf720. --- src/freedombone-image-customise | 18 +++++++++++-- src/freedombone-utils-wifi | 46 ++++++++++++++++++++++++++++++++- 2 files changed, 61 insertions(+), 3 deletions(-) diff --git a/src/freedombone-image-customise b/src/freedombone-image-customise index 7595fec9..fa399cd8 100755 --- a/src/freedombone-image-customise +++ b/src/freedombone-image-customise @@ -492,7 +492,22 @@ continue_installation() { } atheros_wifi() { - chroot "$rootdir" apt-get -yq install open-ath9k-htc-firmware + if [[ "$MACHINE" == "beaglebonewifi" ]]; then + return + fi + + firmware_filename="open-ath9k-htc-firmware_1.3-1_all.deb" + firmware_hash='5fea58ffefdf0ef15b504db7fbe3bc078c03e0d927bba64085e4b6f2546102f5' + + firmware_url="http://us.archive.trisquel.info/trisquel/pool/main/o/open-ath9k-htc-firmware/$firmware_filename" + firmware_tempfile="/tmp/$firmware_filename" + wget "$firmware_url" -O "$rootdir$firmware_tempfile" + downloaded_firmware_hash=$(sha256sum "$rootdir$firmware_tempfile" | awk -F ' ' '{print $1}') + if [[ "$downloaded_firmware_hash" == "$firmware_hash" ]]; then + chroot "$rootdir" dpkg -i "$firmware_tempfile" + else + echo 'WARNING: Atheros Wifi firmware hash does not match. The driver has not been installed.' + fi } configure_wifi() { @@ -887,7 +902,6 @@ initialise_mesh() { # install proprietary wifi drivers # see https://wiki.debian.org/iwlwifi chroot "$rootdir" apt-get -yq install firmware-iwlwifi firmware-b43-installer firmware-brcm80211 firmware-realtek - chroot "$rootdir" apt-get -yq install firmware-atheros firmware-zd1211 fi INSTALLING_MESH=1 diff --git a/src/freedombone-utils-wifi b/src/freedombone-utils-wifi index 9b71587f..ea71c609 100755 --- a/src/freedombone-utils-wifi +++ b/src/freedombone-utils-wifi @@ -36,6 +36,9 @@ WIFI_PASSPHRASE= WIFI_HOTSPOT='no' WIFI_NETWORKS_FILE=~/${PROJECT_NAME}-wifi.cfg +# repo for atheros AR9271 wifi driver +ATHEROS_WIFI_REPO="https://github.com/qca/open-ath9k-htc-firmware.git" + function default_network_config { echo '# This file describes the network interfaces available on your system' > /etc/network/interfaces echo '# and how to activate them. For more information, see interfaces(5).' >> /etc/network/interfaces @@ -163,7 +166,48 @@ function install_atheros_wifi { if [[ $(is_completed $FUNCNAME) == "1" ]]; then return fi - apt-get -yq install open-ath9k-htc-firmware + if [ $INSTALLING_ON_BBB != "yes" ]; then + return + fi + if [[ $ENABLE_BATMAN != "yes" ]]; then + return + fi + if [ -d $INSTALL_DIR/open-ath9k-htc-firmware ]; then + return + fi + # have drivers already been installed ? + if [ -f /lib/firmware/htc_9271.fw ]; then + return + fi + apt-get -yq 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 + function_check git_clone + git_clone $ATHEROS_WIFI_REPO $INSTALL_DIR/open-ath9k-htc-firmware + 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 mark_completed $FUNCNAME }