Skip to content

Commit fca6f97

Browse files
committed
various script fixes for bt tethering
1 parent a727a68 commit fca6f97

File tree

7 files changed

+510
-566
lines changed

7 files changed

+510
-566
lines changed

scripts/bt-expect.sh

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,48 @@
11
#!/usr/bin/expect -f
22

3-
set timeout 900
3+
set timeout 1200
44

55
set prompt "#"
66

77
spawn sudo bluetoothctl
88
expect -re $prompt
99
send "power on\r"
10-
sleep 1
10+
sleep 2
1111

1212
expect -re $prompt
1313
send "agent NoInputNoOutput\r"
14-
sleep 1
14+
sleep 2
1515

1616
expect -re $prompt
1717
send "default-agent\r"
18-
sleep 1
18+
sleep 2
1919

2020
expect -re $prompt
2121
send "agent DisplayOnly\r"
22-
sleep 1
22+
sleep 2
2323

2424
expect -re $prompt
2525
send "default-agent\r"
26-
sleep 1
26+
sleep 2
2727

2828
expect -re $prompt
29-
send "discoverable on\r"
30-
sleep 1
29+
send "pairable on\r"
30+
sleep 2
3131

3232
expect -re $prompt
33-
send "pairable on\r"
34-
sleep 1
33+
send "discoverable on\r"
34+
sleep 2
3535

3636
expect -re "Enter PIN code: "
3737
sleep 3
3838
send "3434\r"
3939

4040
expect -re "Connected: yes"
41-
sleep 10
41+
sleep 15
42+
4243
expect -re $prompt
4344
send "discoverable off\r"
44-
sleep 1
45+
sleep 3
4546

4647
expect -re $prompt
4748
send "pairable off\r"

scripts/bt-setup.sh

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,15 @@ sudo setcap 'cap_net_raw,cap_net_admin+eip' `which btmgmt`
55
sudo setcap 'cap_net_raw,cap_net_admin+eip' `which bt-agent`
66
sudo setcap 'cap_net_raw,cap_net_admin+eip' `which bt-network`
77
sudo setcap 'cap_net_raw,cap_net_admin+eip' `which bt-device`
8-
sudo find / -name bluepy-helper -exec setcap 'cap_net_raw,cap_net_admin+eip' {} \;
8+
sudo find /usr/lib -name bluepy-helper -exec setcap 'cap_net_raw,cap_net_admin+eip' {} \;
9+
sudo find /home/pi -name bluepy-helper -exec setcap 'cap_net_raw,cap_net_admin+eip' {} \;
910

1011
sudo systemctl stop omnipy-pan.service
1112
sudo systemctl disable omnipy-pan.service
12-
sudo rm /etc/systemd/system/omnipy-pan.service
13+
sudo rm -f /etc/systemd/system/omnipy-pan.service
1314
sudo systemctl reset-failed
14-
rm /home/pi/omnipy/scripts/btnap-custom.sh
15+
rm -f /home/pi/omnipy/scripts/btnap-custom.sh
1516

16-
echo
17-
echo "Removing existing bluetooth devices"
1817
sudo btmgmt power on
1918
sudo bt-device -l | grep -e \(.*\) --color=never -o| cut -d'(' -f2 | cut -d')' -f1 | while read -r mac
2019
do
@@ -24,10 +23,8 @@ do
2423
fi
2524
done
2625

27-
echo
28-
echo "Activating bluetooth pairing mode"
29-
3026
sudo hciconfig hci0 sspmode 0
27+
sudo btmgmt connectable on
3128

3229
/usr/bin/expect -f /home/pi/omnipy/scripts/bt-expect.sh
3330

@@ -36,10 +33,13 @@ sudo hciconfig hci0 sspmode 1
3633
btdevice=`sudo bt-device -l | grep -e \(.*\)`
3734
mac=`echo $btdevice | cut -d'(' -f2 | cut -d')' -f1`
3835

39-
echo
40-
41-
echo "addr=$mac" > /home/pi/omnipy/scripts/btnap-custom.sh
42-
cat /home/pi/omnipy/scripts/btnap.sh >> /home/pi/omnipy/scripts/btnap-custom.sh
43-
sudo cp /home/pi/omnipy/scripts/omnipy-pan.service /etc/systemd/system/
44-
sudo systemctl enable omnipy-pan.service
45-
sudo systemctl start omnipy-pan.service
36+
if [[ ! -z "$mac" ]]; then
37+
echo "Paired with $btdevice"
38+
echo "addr=$mac" > /home/pi/omnipy/scripts/btnap-custom.sh
39+
cat /home/pi/omnipy/scripts/btnap.sh >> /home/pi/omnipy/scripts/btnap-custom.sh
40+
sudo cp /home/pi/omnipy/scripts/omnipy-pan.service /etc/systemd/system/
41+
sudo systemctl enable omnipy-pan.service
42+
sudo systemctl start omnipy-pan.service
43+
else
44+
echo "bt pairing failed"
45+
fi

0 commit comments

Comments
 (0)