add configurable listen timeout
use custom commands throughout (doesn't require recent hciconfig)