Bluetooth Replayer

Anton Weber

Abstract

A tool to "replay" scenarios from real Bluetooth hardware on a virtual interface.

Additional Information

Bugs often only occur under specific circumstances or under particular system setups. Especially with low-level software such as drivers and protocol stacks it is very difficult or even impossible to reproduce these issues without the same hardware present.

The Virtual Host Controller Interface (VHCI) allows to create a virtual Bluetooth device and send HCI frames to the upper levels of the BlueZ protocol stack. The idea behind the Bluetooth Replayer is to use such a virtual device to mimic the behaviour of real Bluetooth hardware in a given scenario. This can be done by recording HCI traffic using the hcidump tool for the situation in which the problem occurs and using this log to replay the scenario on a virtual interface.

A tool like this allows bugfixes for specific Bluetooth hardware on any machine and also gives a new testing framework for future changes to the Bluetooth stack.

Code samples