From b29ee41018266ff8fcccdce3e2a9cd23817f5393 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Wed, 6 May 2026 15:17:59 -0700 Subject: [PATCH] speedup wifi boot (#597) * speedup wifi boot * just a pre * bump kernel: * bump kernel --- agnos-kernel-sdm845 | 2 +- userspace/root/usr/comma/wlan-nm-init.sh | 29 +++++++++++++++++++ .../wlan-prestart.conf | 2 ++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100755 userspace/root/usr/comma/wlan-nm-init.sh create mode 100644 userspace/root/usr/lib/systemd/system/NetworkManager.service.d/wlan-prestart.conf diff --git a/agnos-kernel-sdm845 b/agnos-kernel-sdm845 index 9ddc465..c368754 160000 --- a/agnos-kernel-sdm845 +++ b/agnos-kernel-sdm845 @@ -1 +1 @@ -Subproject commit 9ddc4650a0872715cdc0a5a5dc294fc021ac7bd4 +Subproject commit c368754c26c7b9659de187addc6cccedc6cfb0a0 diff --git a/userspace/root/usr/comma/wlan-nm-init.sh b/userspace/root/usr/comma/wlan-nm-init.sh new file mode 100755 index 0000000..1fd214d --- /dev/null +++ b/userspace/root/usr/comma/wlan-nm-init.sh @@ -0,0 +1,29 @@ +#!/bin/bash +set -e + +PATH=/usr/sbin:/usr/bin:/sbin:/bin + +iface=wlan0 +timeout=300 + +for ((i = 0; i < timeout; i++)); do + [[ -r "/sys/class/net/$iface/ifindex" ]] && break + sleep 0.1 +done + +if [[ ! -r "/sys/class/net/$iface/ifindex" ]]; then + echo "timed out waiting for $iface" + exit 0 +fi + +ifindex=$(< "/sys/class/net/$iface/ifindex") +mkdir -p /run/udev/data +tmp=$(mktemp "/run/udev/data/n${ifindex}.XXXXXX") + +{ + printf 'I:%s\n' "$(($(date +%s%N) / 1000))" + printf 'E:NM_UNMANAGED=0\n' + printf 'V:1\n' +} > "$tmp" + +mv "$tmp" "/run/udev/data/n${ifindex}" diff --git a/userspace/root/usr/lib/systemd/system/NetworkManager.service.d/wlan-prestart.conf b/userspace/root/usr/lib/systemd/system/NetworkManager.service.d/wlan-prestart.conf new file mode 100644 index 0000000..8cdd14d --- /dev/null +++ b/userspace/root/usr/lib/systemd/system/NetworkManager.service.d/wlan-prestart.conf @@ -0,0 +1,2 @@ +[Service] +ExecStartPre=/usr/comma/wlan-nm-init.sh