portapack-mayhem / mayhem-firmware

Custom firmware for the HackRF+PortaPack H1/H2
GNU General Public License v3.0
3.02k stars 519 forks source link

[Bounty Offered] FLEX pager message decoding #2000

Open sa7mon opened 3 months ago

sa7mon commented 3 months ago

Description of the feature you're suggesting.

This is basically a resurrection of #318 which was closed seemingly because bountysource went under.

I am offering $100 to anyone who gets FLEX message decoding for 2FSK (1600/3200 bps) and 4FSK merged into the POCSAG app.

I can provide sample recordings of messages from my area to aide in development.

Note:

@ArjanOnwezen: As mentioned in https://github.com/portapack-mayhem/mayhem-firmware/issues/483. https://github.com/craigshelley/multimon-ng/blob/master/demod_flex.c might be a good start.

@notpike Are you interested in working on this? We chatted briefly on twitter a while ago but about doing this on the Flipper Zero. The HackRF platform is a much better tool for the job!

@micha-123 Do you want to match my bounty?

Anything else?

No response

htotoo commented 3 months ago

Maybe not in the near future, but when I'll finish my current project I may take a look into it. But If anybody else wanna do it, feel free to do!

If you could attach some recordings here, that would help everyone. (be sure, if you play it back from PP you can receive and decode it with a computer before upload)

sa7mon commented 3 months ago

Maybe not in the near future, but when I'll finish my current project I may take a look into it. But If anybody else wanna do it, feel free to do!

If you could attach some recordings here, that would help everyone. (be sure, if you play it back from PP you can receive and decode it with a computer before upload)

Yep, I'll get sample recorded and post a link here. Just gotta set up an SD card.

sa7mon commented 3 months ago

Here is a small sample of a FLEX recording from today.

sample.wav.zip

It can be decoded using multimon-ng as long as you re-sample from 48kHz (what the PortaPack records at) to 22.05kHz (what multimon-ng expects).

$ sox -t wav recording2.wav -r 22050 -t raw - | multimon-ng -t raw -a FLEX -
multimon-ng 1.3.0
  (C) 1996/1997 by Tom Sailer HB9JNX/AE4WA
  (C) 2012-2023 by Elias Oenal
Available demodulators: POCSAG512 POCSAG1200 POCSAG2400 FLEX FLEX_NEXT EAS UFSK1200 CLIPFSK FMSFSK AFSK1200 AFSK2400 AFSK2400_2 AFSK2400_3 HAPN4800 FSK9600 DTMF ZVEI1 ZVEI2 ZVEI3 DZVEI PZVEI EEA EIA CCIR MORSE_CW DUMPCSV X10 SCOPE
Enabled demodulators: FLEX
FLEX: 2024-03-20 01:43:07 3200/4/A 04.093 [002051625] NUM 482
FLEX|2024-03-20 01:43:07|3200/4/K/C|04.100|4294961771|ALN|7120
FLEX: 2024-03-20 01:43:07 3200/4/C 04.100 [002051625] NUM 5 67
htotoo commented 3 months ago

Thanks; maybe you got a c16 recording with it's txt part? I would like to replay it with portapack to an other portapack to test :)

sa7mon commented 3 months ago

How do I create one of those? Still learning my way around this firmware.

On Wed, Mar 20, 2024 at 1:41 AM, Totoo @.***(mailto:On Wed, Mar 20, 2024 at 1:41 AM, Totoo < wrote:

Thanks; maybe you got a c16 recording with it's txt part? I would like to replay it with portapack to an other portapack to test :)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

htotoo commented 3 months ago

If you got a device that sends flex messages, before send, start the recorder app on pp, and hit record (with freq set). When the sending finished, hit stop, and that's all.

If you are learning, the Wiki can help find a lot of interesting functions!