Under certain circumstances, it is possible for a timer interrupt to fire while a DMA interrupt is being handled. Regardless of interrupt priority and subpriority between the DMA and timer interrupt, the timer interrupt will never be serviced. The LE sniffing code uses the timer interrupt to poll the CC2400's FS_LOCK status. If this bug is triggered, the FS_LOCK polling will not occur and the timer interrupt will not be rescheduled, causing capture to freeze. Curiously this only occurs after all DMA channels have been disabled, and the DMACIntStat register will indicate 0 on all channels. The interrupt fires 8 microseconds after the previous byte is received, when the next byte would be available from the radio had the DMA channel not be disabled. Perhaps it's an issue draining the FIFO? Regardless, if a timer interrupt fires during a DMA interrupt handler, it should be serviced either pre-emptively (if higher priority) or after the DMA interrupt handler finishes (same or lower priority). This may be a hardware issue with the chip. Closes #326, although this fix is a kludge
Ubertooth
Project Ubertooth is an open source wireless development platform suitable for Bluetooth experimentation. Ubertooth ships with a capable BLE (Bluetooth Smart) sniffer and can sniff some data from Basic Rate (BR) Bluetooth Classic connections.
The latest release is 2018-12-R1. The latest firmware build can be found on the release page.
This release is paired with libbtbb 2018-12-R1.
Instructions for flashing the firmware can be found on the corresponding Wiki page. Instructions for building libbrbb can be found on the corresponding Wiki page.
History
The first hardware revision is called Ubertooth Zero and was demonstrated at ToorCon 12 on October 24th, 2010. Ubertooth Zero has been superseded.
The current hardware revision is called Ubertooth One and was demonstrated at ShmooCon 7 on January 29th, 2011.
More Info
Additional documentation can be found in README files within the various subdirectories and on the web site in the web directory or at the URL below.
Contributors
- Michael Ossmann
- Dominic Spill
- Mike Ryan
- Will Code
- Jared Boone
- Many others