From cbcfbee2c407b92766498fbf82d62bbaaff50623 Mon Sep 17 00:00:00 2001 From: Jani Juvan <jani.juvan@iopsys.eu> Date: Thu, 22 Oct 2020 14:46:48 +0200 Subject: [PATCH] wifi: adding bringup script for disc --- .../disc/base-files/etc/init.d/wifi_bringup | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 iopsys-brcm63xx-arm/disc/base-files/etc/init.d/wifi_bringup diff --git a/iopsys-brcm63xx-arm/disc/base-files/etc/init.d/wifi_bringup b/iopsys-brcm63xx-arm/disc/base-files/etc/init.d/wifi_bringup new file mode 100755 index 000000000..ea56ca70f --- /dev/null +++ b/iopsys-brcm63xx-arm/disc/base-files/etc/init.d/wifi_bringup @@ -0,0 +1,38 @@ +#!/bin/sh /etc/rc.common +# +# Load broadcom wifi drivers + + +START=18 + +# wl.ko taskset thread pid workaround (wl.ko thread gets pid 0 ???) +taskset_hack() { + [ -h /usr/bin/taskset ] && { + # since disc uses ro fs, we do an overlay workaround for the workaround for now... + mkdir -p /tmp/overlay/bin /tmp/overlay/sbin /tmp/overlay/work + mount -t overlay overlay -o lowerdir=/usr/bin,upperdir=/tmp/overlay/bin,workdir=/tmp/overlay/work /usr/bin + mount -t overlay overlay -o lowerdir=/usr/sbin,upperdir=/tmp/overlay/sbin,workdir=/tmp/overlay/work /usr/sbin + + mv /usr/bin/taskset /usr/sbin/taskset + cat << 'EOT' >> /tmp/overlay/bin/taskset +#!/bin/sh + +[ "$3" -eq "0" ] && set -- "$1" "$2" "$(pgrep -n kthrd)" +/usr/sbin/taskset $@ || echo "failed to set affinity. rc: $? pid: $(pgrep -n kthrd)" +return 0 +EOT + chmod +x /tmp/overlay/bin/taskset + } +} + +boot() { + taskset_hack + + # always use the data partition as data + mountpoint -q /data || mount -t ubifs ubi:data /data + + /etc/init.d/hndnvram.sh start && \ + [ -s /data/.kernel_nvram.setting ] && \ + /etc/init.d/bcm-wlan-drivers.sh start || \ + echo "Failed to bring up wifi - fix and load wifi drivers manually" +} -- GitLab