mikeryan / ice9-bluetooth-sniffer

Wireshark-compatible all-channel BLE sniffer for bladeRF, with wideband Bluetooth sniffing for HackRF and USRP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bug: ice9-bluetooth doesn't actually allow a value of 4 for -C

jsmif opened this issue · comments

Per the help, -C should take a value >= 4:

./ice9-bluetooth --help                                                
Usage: ice9-bluetooth <-f <file.fc32> | -l> <-a | -c <center-freq> -C <chan>>
Captures Bluetooth packets using a HackRF, bladeRF, or USRP SDR.

Mandatory arguments:
    -f, --file=FILE         read input from fc32 file (cfile)
    -l, --capture           capture live (cannot combine with -f)

    -a, --all-channels      all-channel sniffing (requires bladeRF 2.0)
            or
    -c, --center-freq=FREQ  center frequency (in MHz)
    -C, --channels=CHAN     number of channels to capture (>= 4, divisible by 4)
snip

This is also indicated when choosing a value not divisible by 4:

./ice9-bluetooth -l -i bladerf0 -w channel_39_only.pcap -s -c 2480 -C 1
ice9-bluetooth: invalid channels, must be between 4 and 96 and divisible by 

However, in practice, it does not accept the value of 4, and the lowest value possible is therefore 8.

user@asdf build % sudo ./ice9-bluetooth -l -i bladerf0 -w channel_39_only.pcap -s -c 2480 -C 4
[WARNING @ /privatehost/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:165] FPGA v0.15.0 was detected, which requires firmware v2.5.0 or later. The device firmware is currently v2.4.0. Please upgrade the device firmware before continuing.

[WARNING @ /privatehost/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:916] Oversample feature gain limit reached. RF Gain clamped to 11.
[ERROR @ /privatehost/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:1057] Sample rate outside of OVERSAMPLE feature range
[ERROR @ /privatehost/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:1002] bladerf2_set_rational_sample_rate: dev->board->set_sample_rate(dev, ch, integer_rate, &actual_integer_rate) failed: Provided parameter was out of the allowable range
ice9-bluetooth: Unable to set bladeRF sample rate: Provided parameter was out of the allowable range
user@asdf build % sudo ./ice9-bluetooth -l -i bladerf0 -w channel_39_only.pcap -s -c 2480 -C 8
[WARNING @ /privatehost/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:165] FPGA v0.15.0 was detected, which requires firmware v2.5.0 or later. The device firmware is currently v2.4.0. Please upgrade the device firmware before continuing.

[WARNING @ /privatehost/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:916] Oversample feature gain limit reached. RF Gain clamped to 11.
ch   0.9  samp/sec (  0% realtime); agc  65.1 Msamp/sec (543% realtime)
Channelizer too slow, use fewer channels
ch   8.0 Msamp/sec (100% realtime); agc  63.4 Msamp/sec (528% realtime)
ch   8.0 Msamp/sec (100% realtime); agc  64.9 Msamp/sec (541% realtime)
ch   8.0 Msamp/sec (100% realtime); agc  68.5 Msamp/sec (571% realtime)
snip

Perhaps update to the latest version of ice9 and libbladeRF. I confirmed your command of sudo ./ice9-bluetooth -l -i bladerf0 -w channel_39_only.pcap -s -c 2480 -C 4 works for me in the latest (since I used -C 4 in #24 debugging)