Recon ·Wiki
Recon ·Wiki
com/portapack-mayhem/mayhem-firmware/wiki/Recon
Recon App
• Recon App
◦ Important note
◦ Introduction
▪ In AM/NFM/WFM mode
▪ In SPEC mode
◦ Limitations
• TODO first
◦ Common defaults options to set
• Main Screens
• CONFIG
◦ Main RECON settings page
◦ More CONFIG settings page
• Recon/Search/Manual
◦ RECON mode
◦ SCAN mode
◦ MANUAL-S
◦ Wait/lock Coloring conditions:
• Color meaning for main freq
• Wait modes
• Lock counts
2 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
• Matching modes
◦ Continuous
◦ Sparse
• Frequencies to scan
• Modulation Mode
• Persistant settings
• Freqman file format
• HamRadio type
• Repeater type
◦ In Recon, when current type is Repeater and repeater mode is DISABLED
◦ In Recon, when current type is Repeater and repeater mode is ENABLED
◦ Advanced Repeater configuration
▪ Repeater half duplex dual direction example
• Workflow and tips
◦ Classic workflow
◦ Repeater workflow:
◦ Tips:
• Troubleshooting
• Scan speed vs Chosen modulation mode
• Power consumption
Important note
Repeater and all associated repeat modes are under development. The documentations related
to it are for devs/nightly testers. You will not yet find it in stable.
Introduction
The Recon app is full rework of the Scanner app, offering different possibilities and
customisations.
Both are using all the frequencies in their hand and pause on a frequency when matching criteria
(like modulation, amplitude,...)
The Recon is using a different approach than the Scanner app it is originated from: it does not
use a thread for frequency shifting and else rely on the statistics update event message to do the
work.
3 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
This allow perfect matching between 'shifting to a new frequency' and 'waiting for the first
statistic update of that frequency'. The Recon app will stop into any frequency carrying a signal
strong enough. You can adjust the signal power threshold with the SQUELCH
In AM/NFM/WFM mode
The statistics only update once each 100ms, the minimum lock waiting time is also 100 ms, and
the quickest frequency scanned rate is 10/s.
In SPEC mode
The statistics are updated differently in regard of the bandwidth used.
The average locking times / scan rates are in the following the table (they may change when
there are baseband or record process modifications)
Limitations
The portapack hardware is limited, and so is the list of elements that you can load.
A maximum number of 115 elements is allowed. One more element is allowed to detect that the
file was truncated.
If a file was loaded and truncated, the displayed list name and current entry description are in
yellow instead of other colors.
TODO first
If you are launching the Recon app for the first time, chances are high that you do not have the
wanted options selected by default.
We highly encourage you to go and check what's under the "CONFIG" button and get yourself
used to the 'Main' and 'More' pages under it.
4 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
Go into "CONFIG":
Main:
• Check options under it. A lots are complaining that the search is not starting by itself, but
they do not have 'autostart recon' checked.
More:
• Check that 'input: load freqs' and 'input: load ranges' are checked
Main Screens
5 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
Buttons and information description, from top to bottom, and left to right. [NAME] is used to
mark a button / gui element that the user can change, else it's a description of an onscreen
information.
• Current input file name => will be in yellow if file contain too much lines or red if an error
description is shown, or follow mode colors
• Current entry description => input name, will be in yellow if file contain too much lines or
red if an error description is shown, or follow mode colors
• [RssiGraph], [MODE] => radio levels indication, jump to level app on click. Mode is one of
[RECON/SCAN/MANUAL] and show actual mode, and switch to next mode on click
• [XXX] / XXX , XX db, XX/XX value => index of the current frequency in the loaded list (move
with encoder, or set a value by clicking), number of frequencies in the list, actual DB value,
number of locks / number of needed locks for a match, button to the settings page. Will be
in red if file contain too much lines or if an error description is shown
• FREQ: XXXX , [LOOP] => Current frequency , [LOOP] button to control continuous mode or
not (green is on, white is off)
• TIMER, CTCSS, [CONFIG] => elapsed timer for current frequency lock (0 if no lock) , detected
tone if NFM is selected, and CONFIG button to set things like input/output files
• [START], [END], [SEARCH] => set the manual start and end of a range and launch a search on
it. These values will be updated by the search if auto update m-ranges is checked. If
highlighted, you can use the rotary encoder to adjust start or end
• [NBLocks] , [W] , [L] => NBLocks is the numbers of locks we need to have a match. [W] (wait
after match) is the time we will stay on the frequency if it's reaching nb_locks during
lock_wait (continuously or sparsely). If wait is a negative number, then it represent the time
we are staying on a matched frequency waiting for new activity, and a new lock during the
wait restart the counters (you keep staying on it until a full wait without a lock is reached). [L]
(lock duration) is the maximum time we stay on a freq waiting for all locks in SPARSE match
mode, and the time we are waiting for the first lock in CONTINUOUS match mode.
6 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
• [MODULATION] , [BW] , [SQUELCH] => actual modulation and bandwidth ,squelch is the
level of DB needed to start to lock on a signal
• [PAUSE] , [AUDIO] , [STORE] => pause or resume the search. If highlighted, you can use the
rotary encoder to manually step in the frequencies/ranges, jump to Audio App, store actual
frequency in output file. Audio button is becoming red in auto record modes to indicate that
a record in ongoing
• [FW], [RST], [MIC TX] , [REMOVE/DELETE] => forward/reverse , reset search (it's restarting
from the beginning of input file), jump to Mic app, Remove a frequency from active/loaded
list in RECON mode or Delete from both active/loaded list and output file in SCAN mode
CONFIG
• input file => File from which we will load frequencies or ranges to search (default
FREQMAN/RECON.TXT)
• output file => File into which we will save frequency using STORE button or autosave mode
(default FREQMAN/RECON_RESULTS.TXT)
• output file name => The name of the current output file. Can be edited when clicking on it
so you can set a new filename
• autosave freqs => During the search, matching frequencies will be saved without clicking on
STORE. No duplicates will be made
• auto start search => Search will start when entering the app, or when going in and out of
7 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
• auto start search => Search will start when entering the app, or when going in and out of
CONFIG
• continuous => If checked then the search will loop when reaching boundaries of the loaded
input file or the manual range search
• clear output at start => If checked then the output file is blanked at app start. If you're using
that feature and want to keep one of your search results, do not forgot to go into
filemanager to rename the file before starting the Recon app one more time
8 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
• amp => enable/disable amp when TX repeat is on. gain => gain to use when TX repeat is on
!! WARNING: BE CAUTIOUS WITH 'auto record locked period' OPTION. DON'T FORGET
CLEANING UP FROM TIMES TO TIMES, TOO MUCH FILES WILL CRASH THINGS !!
Recon/Search/Manual
When using the Recon app, 3 modes are accessibles.
You can switch from RECON to SEARCH using the GUI button, and to Manual search using the
Manual-S button (just under the RECON/SEARCH button).
RECON mode
Mode button is in blue, and the label is 'RECON'.
In that mode it takes what you choose in "CONFIG/select input file" and use it as the list to
search. The matched frequencies (if autosave is checked or 'add' is used) are put in what you
choose in "CONFIG/select output file".
REMOVE is removing current entry from active/loaded list. No files are touched.
In that mode you have an input search/recon list, and an output file. You can temporary 'disable'
some entries by a hit on REMOVE. Clicking on RST is reloading the fully populated list.
SCAN mode
Mode button is in red, and the label is 'SCAN'.
In that mode it takes what you choose in "CONFIG/select output file" and use it as the list to
search.
The matched frequencies (if autosave is checked or 'add' is used) are put in what you choose in
"CONFIG/select output file".
DELETE is removing current entry from active/loaded list and from output file.
9 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
In that mode you have the same file used as an input list and an output file.
MANUAL-S
In that mode RECON or SEARCH mode are invalidated. Values in GUI are used as a single range
entry.
The matched frequencies (if autosave is checked or 'add' is used) are put in what you choose in
"CONFIG/select output file".
STORE and REMOVE are working on the output file but changes are not reflected in the used list
since it's a loaded range.
In that mode you have a single range as an input list, and an output file.
Wait coloration:
• if wait is between [-500,500] ms and not 0, it's red because the audio will have hard time
start and stop that quick during consecutive matches
• if wait it > 500 it's the time we are staying on a matching freq before skipping, wait value is
in white
• if wait < -500 it's the time we are waiting for new activity before skipping. Any new activity
(db>squelch) is resetting the timer to 'abs(wait)', wait value is in green
• if wait == 0 it's recon mode. No wait after match. No audio start/stop. Matching freqs are
auto saved according to the options in CONFIG, wait value is in blue
10 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
yellow => got a lock, trying to achieve a match (when we have nb_locks counted during
lock_wait, continuously or sparsely)
• green => during a search : locked , during a pause: current freq is matching squelch level
and nb_locks have been reached
Wait modes
• wait is the timer started after a matched frequency
• wait > 0 : after a lock stay on freq for 'wait' msecs before skipping to next
• wait == 0 => immediately leave freq after a lock. Use in conjonction of autosave option to
make a quick map of matching frequencies
• wait < 0 : after a lock stay on freq for 'wait' msecs before skipping to next, each new lock
(db>squelch) reset the counter to 'wait'
Lock counts
Lock count is reset to 0 after using one of the following buttons:
• PAUSE
• FW,RW
• CONFIG
• SQUELCH
Matching modes
Continuous
• measurement is done in lock_wait msecs
• at each loop if the mean db is > squelch, it's a lock
• in that mode you need consecutive nb_locks to match a frequency
• it's quicker because we do not wait lock_wait to get nb_locks, it's matching as soon as the
counter is reached. It can also miss signals since it's rigorous and skip if there is a gap
between matches
Sparse
11 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
Frequencies to scan
The application parses FREQMAN\RECON.TXT by default. If you set something else in the CONFIG
menu under input, then the specified file will be used You can use the Frequency manager app
(Tools -> Freq manager) to add more entries to that list
Alternatively, you are able to manually input a search range "on the fly" by keying in START and
END frequencies. It will uses the selected step on screen
If highlighted you can also use the rotary encoder on start / end buttons to adjust the frequency
Modulation Mode
You can select between AM , NFM and WFM modulation modes
Step can also be changed, and is only used in range search (manual or not)
If a custom modulation/bandwidth/step is set on the actual freqman entry (from freqman file), it's
used as new defaults for next entries
Persistant settings
In the idea to be more user friendly the Recon app is keeping some settings in memory and on
the sd card. All the settings that you can set in CONFIG menus will be saved and restored upon
poweroff/on or app restart
12 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
HamRadio type
HamRadio type is special case.
It represents a Ham Radio relay: relay RX freq for frequency_a (r=) , relay TX freq for frequency_b
(t=)
• Both RX and TX frequencies are scanned for activity as two single frequencies
• When clicking 'MIC' while on one of the HamRadio entry frequencies, Mic TX frequency is set
to relay RX frequency, and Mic RX frequency is set to relay TX frequency
Repeater type
Repeater type is special case. It's an entry that allows the portapack to act as a half duplex
Repeater.
The frequency_a (l=) is the Repeater listening frequency, and frequency_b (t=) is the Repeater TX
frequency
!! WARNING: These functions are activating TX in Recon. You have to know what you do !!
13 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
Raw Record, when used in conjunction of Repeater, is using the same file to store the record: /
CAPTURES/RECON_REPEAT.C16
Here is a graph showing how Alice and Bob could talk using a Repeater list in Recon
Alice TX Bob TX
Repeater 2 Repeater 1
Repeater 2 RX Repeater 1 RX
Repeater 2 TX Repeater 1 TX
14 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
Alice RX Bob RX
In our example:
15 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
• as long as Alice and Bob are not talking simultaneously, they can use the Repeater as much
times each as they want
• you can add more Repeaters in the list. Keep in mind that it's 100ms more scan time for each
entry
Classic workflow
• Select an input an output file, adjust the settings in CONFIG while you're at it
• Start the RECON, match frequencies, add them to your output file using autosave or STORE
button
• Switch to SCAN mode to refine your results
Repeater workflow:
• Select a prepared input file / use the classic workflow to set the frequencies you want in the
scanner list
• In CONFIG/MORE, be sure that repeaters options are set (enable/disable, nb rep, tx amp, tx
gain, load repeater entries)
• For a repeater mode, Recon entries have to use SPEC mode. Set the bandwidth accordingly,
it's used as record/replay bandwidth
• Select the lowest lock time value (l) : 100
• Select a negative wait locked value, it means on freq as long as there no more than 'wait
locked' msec of inactivity. -1500 proved to be good for conversations, for signals you may
reduce the wait locked. It's also the minimum recorded time by the way.
16 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
reduce the wait locked. It's also the minimum recorded time by the way.
• Set a squelch level that allow to only catch what you want. As an example, here I have a
background noise of -40 db, when I hit the remote the level is going up to +5 db. To filter
sparse signals from my remote, I set squelch of -10db, and adjust it down to catch more, up
to catch less
• If you're not in 'autostart' you'll have to press 'RESUME' at start and after a record. Don't
forget to set it in 'CONFIG' if needed
• Having 'LOOP' enabled is a good idea whatever your list is (it will allow you to avoid pressing
RESUME each time too)
• Set number of matching packet from 1 to 3 as you want to quickly start recording and not
wait for precisely long signal
• Set match type to continuous match
• Let it run
• Hit the remote / Make a MicTX com / whatever you're allowed to record and repeat
• auto record should start (RAW button should go red)
• at the end of record, progress bar of replay is shown / played / hidden
Tips:
• When a file is loaded and checkbox 'autostart searching' have been checked, the search is
starting as soon as the apps open up, using last launch settings
• If 'autostart searching' is not used, then at the app start the last input list is loaded and the
search is set in pause on the first frequency of the list
• To start a search using the input file, use the PAUSE/CONTINUE/RESTART or RST button
• To start a search using the manual entry fields on the main screen, fill START/END and use
the SEARCH button
• The rotary encoder can be used on the PAUSE/CONTINUE/RESTART and START/END buttons
to adjust the frequencies values
• On a frequency match, if the focus is given to the PAUSE/CONTINUE/RESTART button, press
the button or use the rotary encoder to allow you to continue the search. It allows you to go
to next freq, and trough both direction, changing the search direction on the fly. Pressing the
button while in frequency match (locked mode continue the search using actual direction
• Recon app is doing it's best when using ranges
• Use a low squelch value and step down little by little to start to catch stronger frequencies
first. If you're using a too low squelch value then the search will stop on a lot of unwanted
but matching criteria frequencies
• Input and output file should not be the same files. While it's not advised it's working but you
17 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
Input and output file should not be the same files. While it's not advised it's working but you
loose the ability to delete while in recon mode
• Both STORE and autosave will save frequency with current searched frequency or range
description, or "ADD FQ" if no description
Troubleshooting
Most of the time if the Recon app is not working as you expected it's coming from a SDCARD
problem. You need a SDCARD for the Recon app to save settings between runs and between
settings menu / main gui
If not you will not be able to load a file from FREQMAN directory / save settings
if no frequencies are loading, check that by default the 'input: load X' fields in 'Recon app ->
CONFIG -> More' are all checked. And yes, you HAVE to click save in ordre to save the settings
If by some magic you somewhat trashed the configuration and the app isn't starting anymore, try
to delete the SETTINGS/recon.ini and SETTINGS/recon.cfg and SETTINGS/recon.ini files using the
tools/file manager app
If you're not having your frequencies searched in both direction, maybe you miswrote 'a=' for a
single frequency entry
Using the same input and output file is not going to pause a problem until you forgot to uncheck
'clear output at start'. Yeah, you've just clear what you wanted to scan
In SPEC mode it's somewhat consistent around 100ms from 12.5k up to 1500k included, from
which the statistics updates are taking longer, from 300ms to a bit under 5000ms the wider the
bandwidth
Power consumption
A continuous search of 63H41M43S was run by user @vag3d, using the default antenna. Settings
18 of 23 1/3/2025, 2:31 AM
Recon · portapack-mayhem/mayhem-firmware Wiki · GitHub https://github.com/portapack-mayhem/mayhem-firmware/wiki/Recon
A continuous search of 63H41M43S was run by user @vag3d, using the default antenna. Settings
were a range from 10MHz to 6GHz, WFM, 5kHz steps, 1s wait
Results: 8002 matching frequencies in the output list, and a consumption as following: 63:41:43
4.8659V 0.4191A 120.448Wh 24.796Ah
The search results were having this form: f=14670000,d=R 10.0000>6000.0000 S 0.0050
Pages
Note
168
Important
How to collaborate
How to ask questions correctly
• This is a public wiki. Everything is visible to everyone. Don't use it for personal notes.
• Avoid linking to external tutorials/articles; they may become outdated or contain false information.
User manual
• First steps
◦ About firmwares
◦ Redirections on this manual/project
• Usage cautions
• Intended use and Legality
• Features
• PortaPack Versions (which one to buy)
• HackRF Versions
◦ Original GSG HackRF One
◦ Clifford's-version
• Firmware update procedure
◦ Updating the Xilinx CPLD on hackrf board
• Description of the hardware
◦ Enclosure/cases
▪ 3d printed enclosure
◦ Internal speaker
◦ SMD buttons and caps
◦ Encoder knob
◦ SMA Connector replacement or removal
• User interface
19 of 23 1/3/2025, 2:31 AM