36 lines
791 B
Bash
36 lines
791 B
Bash
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Copyright (c) 2026 AMLOGIC
|
|
|
|
echo "$(date +%Y-%m-%d\ %H:%M:%S): trying to check hci0...."
|
|
|
|
function hci0_rfkill()
|
|
{
|
|
for f in $(ls /sys/class/rfkill/rfkill*/name 2> /dev/null); do
|
|
rfk_name=$(cat $f)
|
|
if [ $rfk_name = "hci0" ];then
|
|
rfkill unblock ${f//[^0-9]/}
|
|
fi
|
|
done
|
|
}
|
|
|
|
cnt=20
|
|
while [ $cnt -gt 0 ]; do
|
|
if ! hciconfig hci0 2>&1 > /dev/null;then
|
|
echo "checking hci0 $cnt......."
|
|
usleep 200000
|
|
cnt=$((cnt - 1))
|
|
if [ $cnt -eq 0 ];then
|
|
echo "hci0 bring up failed!!!"
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "$(date +%Y-%m-%d\ %H:%M:%S): hci0 ready, try to load bluetoothd"
|
|
hci0_rfkill
|
|
usleep 200000
|
|
exit 0
|
|
fi
|
|
done
|
|
|