title: How to initialize Bluetooth in a startup script with Yocto Poky Linux
body: <p>I have a script that initializes my bluetooth setup on an Intel Edison.  It allows pairing and connecting to this headless machine running Yocto Poky Linux.  It was suggested that I put the startup script in /etc/init.d and run update-rc.d myscript.sh defaults.  The script ran but it didn't work (generated boot errors saying bluetooth device not found) because Bluetooth had not started yet.  I did some reasearch and after removing my links I did update-rc.d myscript.sh defaults 99 which was claimed to run the script last but it did't make any differrence -- it still ran in the same place in the boot sequence. I verified that the links had S99 on them so it seemed like they were set up correctly.  There is another post on SO asking a similar question but that was a Ubuntu system where mine is Poky Linux.  That solution suggested putting the startup script in a directory that does not exist on my system.  There were other suggestions, putting it in rc.local, which I did and got the same result, it runs before Bluetooth is initialized.</p>
  
  <p>Here is my script. My program is called nmea_thread and is run last.  Everything else is initializing Bluetooth.</p>
  
  <pre><code>#!/bin/sh
  /usr/sbin/rfkill unblock bluetooth
  /usr/bin/hciconfig hci0 up
  /usr/bin/hciconfig hci0 piscan 
  /usr/bin/hciconfig hic0 sspmode 0
  /home/root/simpleAgent/simple-agent &amp;
  /home/root/nmea_thread 
  </code></pre>