From bcb5d91386b0f6f2b87539678b4e347466d6cc69 Mon Sep 17 00:00:00 2001 From: Adam Boardman Date: Tue, 5 Jan 2021 15:22:28 +0000 Subject: [PATCH] Add firmware loader and wlan-assistant from droid-hal --- lib/systemd/system/wlan-assistant.service | 12 +++++++++ usr/bin/droid/droid-load-firmware.sh | 32 +++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 lib/systemd/system/wlan-assistant.service create mode 100755 usr/bin/droid/droid-load-firmware.sh diff --git a/lib/systemd/system/wlan-assistant.service b/lib/systemd/system/wlan-assistant.service new file mode 100644 index 0000000..13fa276 --- /dev/null +++ b/lib/systemd/system/wlan-assistant.service @@ -0,0 +1,12 @@ +[Unit] +Description=WLAN Assistant +After=lxc-android.service +Before=wlan-module.service + +[Service] +Type=basic +Restart=always +ExecStart=/vendor/bin/wlan_assistant + +[Install] +WantedBy=multi-user.target diff --git a/usr/bin/droid/droid-load-firmware.sh b/usr/bin/droid/droid-load-firmware.sh new file mode 100755 index 0000000..de81ef6 --- /dev/null +++ b/usr/bin/droid/droid-load-firmware.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +FIRMWARE_FOLDERS="/system/etc/firmware/ /odm/firmware/ /vendor/firmware/ /firmware/image/" + +log() { + logger -p daemon.info -t firmware "$@" +} + +log "Attempting to load firmware $FIRMWARE for $DEVPATH" + +if [ -e /sys$DEVPATH/loading ]; then + for folder in $FIRMWARE_FOLDERS; do + if [ -e "$folder/$FIRMWARE" ]; then + log "Loading firmware $folder/$FIRMWARE" + + echo 1 > /sys$DEVPATH/loading + cat "$folder/$FIRMWARE" > /sys$DEVPATH/data + echo 0 > /sys$DEVPATH/loading + + log "Loaded firmware $FIRMWARE" + exit 0 + fi + done + + log "Failed to find firmware $FIRMWARE for $DEVPATH" + echo "\-1" > /sys$DEVPATH/loading + exit 1 +else + log "Failed to find /sys$DEVPATH/loading, could not load $FIRMWARE." + exit 1 +fi +