firmware icon indicating copy to clipboard operation
firmware copied to clipboard

[Global] (RF) Implementation of support for parsed protocol .sub files

Open rouing opened this issue 1 year ago • 7 comments

Right now, we can only use RAW (And I think a few others.. maybe? Have to check) protocol in .sub files. This request comes in 2 parts, one is covered in another issue #192.

  1. The first part is processing of a .sub file to transmit that contains a parsed protocol option (Megacode as an example)
  2. The second part is capturing, identifying, parsing, and processing of a signal during capture/receive and then saving that signal in its parsed format as a .sub file.

This issue is a stub for now.

rouing avatar Dec 17 '24 00:12 rouing

@eadmaster Are you still around and are you still working on your port?

rouing avatar Dec 17 '24 00:12 rouing

There is also tons of room for improvement on signal capture all together. At the moment I have to be really close to the device to capture a signal and it is usually pretty mangled and unusable.

rouing avatar Dec 17 '24 03:12 rouing

I scanned the TX outputs from EvilCrow V2 and the protocols read using T-Embed CC1101 were like:

Rc-Switch Protocol
1 Princeton
11 CAME
11 Holtek HT12X
11 CAME
11 SMC5326
11 Nice FLO
11 GateTX

which I added here in this secction https://github.com/pr3y/Bruce/blob/7ba77cad1057cf3e38908caffe300b339bf03443/src/modules/rf/rf.cpp#L1144-L1155

I believe there might have differences between them and rc-switch lib couldn't be reading well.. but nothing that couldn't be enhanced

https://github.com/bmorcelli/rc-switch/blob/13c3aaf0da8d5fe2a568f1e0a38c69cb23c87ea0/RCSwitch.cpp#L80-L104

Other thing that must be enhanced, is the RAW capture, that is using the same logic of the decoder, but saving the signal even if it can´t decode:

https://github.com/bmorcelli/rc-switch/blob/13c3aaf0da8d5fe2a568f1e0a38c69cb23c87ea0/RCSwitch.cpp#L701-L762

I made this changes because it was detecting a lot of noise (signals with timings <25us, mostly from 3 to 15us), so I tried to ignore the first burst, waiting the first "RCSwitch::nSeparationLimit" (4300us) to validate the reading.. when using M5 RF433R module, we don´t have RSSI to validade it, so the noise triggers the interruptions quite often..

bmorcelli avatar Dec 17 '24 13:12 bmorcelli

This request comes in 2 parts, one is covered in another issue https://github.com/pr3y/Bruce/issues/192.

Sensors decoding with rtl_433_ESP is a completely different feature, not related to generic RF signals dumping/replaying.

At the moment I have to be really close to the device to capture a signal and it is usually pretty mangled and unusable.

If the signal gets decoded by the RCSwitch lib, it should be more reliable than a RAW capture. To get a better range you may need to replace the antenna, or reduce environment noise.

eadmaster avatar Dec 17 '24 21:12 eadmaster

This request comes in 2 parts, one is covered in another issue #192.

Sensors decoding with rtl_433_ESP is a completely different feature, not related to generic RF signals dumping/replaying.

I understand that and I sort of slipped something in there I am half hoping to achieve here at a later point. It would require generation of a sub file from a whole new process itself.

At the moment I have to be really close to the device to capture a signal and it is usually pretty mangled and unusable. If the signal gets decoded by the RCSwitch lib, it should be more reliable than a RAW capture. To get a better range you may need to replace the antenna, or reduce environment noise.

Alright. Ill adjust my testing accordingly. I did slap on a new antenna myself but have found the SMA connector has some loss. Ill play with that later.

Heres some funny results of my testing so far anyways. What it was vs what it shouldve been: image image

rouing avatar Dec 17 '24 22:12 rouing

These graphics are from what? HackRF? Rtl-SDR?

I want to buy one for me as a Christmas gift, need advices

bmorcelli avatar Dec 17 '24 22:12 bmorcelli

These screenshots are from universal radio hacker (urh) app. With URH you can record, decode, analyze signals. To be able to do this you also need SDR modul. Something like RTL-SDR, HackRF, Airspy. These modules usually only support Rx. I am using Airspy mini with URH sw and gqrx sw for analyzing RF data. If you need more features and mobility go with HackRF with portapack. If not, either RTLSDR or Airspy will be fine and also a lot cheaper. Such tools realy helps at learning and understanding actual RF transsmisions.

rustysun9 avatar Dec 17 '24 23:12 rustysun9