#!/bin/bash
echo "=== 1. enable BlueZ experimental (LEAdvertisingManager) ==="
if ! grep -q '^Experimental = true' /etc/bluetooth/main.conf 2>/dev/null; then
  if grep -qiE '^\[General\]' /etc/bluetooth/main.conf; then
    sudo sed -i '/^\[General\]/a Experimental = true' /etc/bluetooth/main.conf
  else
    printf '\n[General]\nExperimental = true\n' | sudo tee -a /etc/bluetooth/main.conf >/dev/null
  fi
fi
# bluetoothd с --experimental на всякий
sudo mkdir -p /etc/systemd/system/bluetooth.service.d
printf '[Service]\nExecStart=\nExecStart=/usr/libexec/bluetooth/bluetoothd --experimental\n' | sudo tee /etc/systemd/system/bluetooth.service.d/exp.conf >/dev/null
sudo systemctl daemon-reload
sudo systemctl restart bluetooth
sleep 3

echo "=== 2. restart improv (bless GATT) ==="
sudo systemctl restart mp-improv
sleep 4
echo "bless registered adv? ->"
sudo busctl tree org.bluez 2>/dev/null | grep -i advertis | head

echo "=== 3. force LE advertising via bluetoothctl ==="
sudo bluetoothctl --timeout 6 <<'EOF'
power on
menu advertise
name MP-Box
uuids 00467768-6228-2272-4663-277478268000
discoverable on
back
advertise on
EOF
sleep 2
echo "=== current settings (ожидаем advertising) ==="
sudo btmgmt info 2>/dev/null | grep -i 'current settings'
echo "=== advertised now? ==="
sudo busctl tree org.bluez 2>/dev/null | grep -i advertis | head
echo "=== improv active ==="
systemctl is-active mp-improv
