esb_scan ======== Presentation ------------ **esb_scan** allows to identify Enhanced ShockBurst devices thanks to the promiscuous mode provided by the `RFStorm Device `_. It allows to provide a specific range of channels to scan using the *START_CHANNEL* and *END_CHANNEL* parameters. There is a possiblity to limit the execution time with the *TIME* parameter (execution duration in seconds). If this parameter is set to an empty string (""), the execution doesn't automatically stop. .. warning:: Please note the fact that in promiscuous mode, only a subset of frames are received by the device. It may require multiple executions in order to identify your target. Compatible devices ------------------ * `RFStorm Device `_ Input parameters ----------------- +----------------------------------------+---------------------------------------+-------------------------------------------------------------+-------------------------------------------------------------------------------------------+ | Name | Default value | Possible values | Description | +========================================+=======================================+=============================================================+===========================================================================================+ | INTERFACE | rfstorm0 | rfstormX | Interface to use | +----------------------------------------+---------------------------------------+-------------------------------------------------------------+-------------------------------------------------------------------------------------------+ | START_CHANNEL | 0 | | First channel of the range to scan | +----------------------------------------+---------------------------------------+-------------------------------------------------------------+-------------------------------------------------------------------------------------------+ | END_CHANNEL | 99 | | Last channel of the range to scan | +----------------------------------------+---------------------------------------+-------------------------------------------------------------+-------------------------------------------------------------------------------------------+ | TIME | 10 | | Execution duration | +----------------------------------------+---------------------------------------+-------------------------------------------------------------+-------------------------------------------------------------------------------------------+ Output parameters ------------------ If no devices have been identified, no output parameters are generated. If there is only one device identified, the output parameters are listed in the following table : +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | Name | Possible values | Description | +========================================+=============================================================+======================================================================+ | TARGET | | ESB address of the identified device | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | PROTOCOL | logitech\|microsoft\|chicony\|generic | Applicative protocol of the identified device | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ If multiple devices have been identified, the same output parameters are generated, but are suffixed by the number of the device : +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | Name | Possible values | Description | +========================================+=============================================================+======================================================================+ | TARGET1 | | ESB address of the first identified device | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | PROTOCOL1 | logitech\|microsoft\|chicony\|generic | Applicative protocol of the first identified device | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | TARGET2 | | ESB address of the second identified device | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | PROTOCOL2 | logitech\|microsoft\|chicony\|generic | Applicative protocol of the second identified device | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | \.\.\. | \.\.\. | \.\.\. | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ Usage ------ If you want to list the devices during 10 seconds : :: $ mirage esb_scan [INFO] Module esb_scan loaded ! ┌────────────────┬──────────┬──────────┐ │ Address │ Channels │ Protocol │ ├────────────────┼──────────┼──────────┤ │ E8:46:F9:2F:A4 │ 74 │ logitech │ └────────────────┴──────────┴──────────┘ [INFO] Mirage process terminated ! If you want to list the devices using the interface *rfstorm1* without stopping the module after 10 seconds, use the following input parameters: :: $ mirage esb_scan INTERFACE=rfstorm1 TIME="" [INFO] Module esb_scan loaded ! ┌────────────────┬──────────┬──────────┐ │ Address │ Channels │ Protocol │ ├────────────────┼──────────┼──────────┤ │ E8:46:F9:2F:A4 │ 74 │ logitech │ └────────────────┴──────────┴──────────┘ [...] Finally, you can provide a range of channels to scan using the *END_CHANNEL* and *START_CHANNEL* parameters: :: $ mirage esb_scan START_CHANNEL=10 END_CHANNEL=50 [INFO] Module esb_scan loaded ! ┌────────────────┬──────────┬──────────┐ │ Address │ Channels │ Protocol │ ├────────────────┼──────────┼──────────┤ │ E8:46:F9:2F:A4 │ 48,44 │ logitech │ └────────────────┴──────────┴──────────┘ [INFO] Mirage process terminated !