Workaround for KeeLoq with unknown manufacturers
Preface
Currently there are two types of KeeLoq signals:
- Known manufacturer key – Flipper is able to emulate it and increase rolling code counters.
- Unknown – Flipper just displays it as
KL Unknownwith????in counter.
There are two use-cases with KL Unknown.
One is simply some stupid barriers that are rolling code KeeLoqs, but also accept fixed codes. So just repeating the same signal works every time. No need for decoding and incrementing the counter. This case is fine, Flipper works well in this case. You can just transmit that KL Unknown signal and it works.
Another case is what I have just discovered (or maybe others did as well, but I haven't seen it anywhere). So there are some stupid (but not as stupid as previously described) barriers, that do not accept already received signals, HOWEVER, if you have two signals (both KL Unknown, but different counters), it's possible to use those two files to operate the barrier.
Let's say the original remote transmitted a signal with counter 5555. If you have two older signals from that remote, let's say counter 4000 and 4001 (Flipper will still display ???? counter for both), you can transmit first signal (4000), then the second one (4001) – the second signal will be accepted. Only thing that matters is that second signal has greater counter than the first, not necessarily the next one.
It doesn't de-sync the original remote, because the barrier is now rolled back to counter 4001, the remote will transmit 5556 – it will still be accepted, because 5556 > 4001.
It works with non-consecutive counters as well, so transmitting counter 2000 and then 4000 would also work.
Feature Request
It would be SUPER AWESOME, if there was a way to define a "before" signal in the KL Unknown case.
Example:
Filetype: Flipper SubGhz Key File
Version: 1
Frequency: 433920000
Preset: FuriHalSubGhzPresetOok650Async
Protocol: KeeLoq
Bit: 64
Before: 67 A0 D1 4B 7A F1 88 84 ← THIS
Key: A8 1C 02 1E 7A F1 88 84
Manufacture: UnknownResult: When you click "send" on this signal file, it will first transmit the Before key, and then the Key.
The Before key doesn't need to be saved automatically, just the ability to emulate such signal would be good enough if I add the Before key by editing file manually.
The better option would be to select two KL Unknown files and merge them. But at this point simply supporting the Before key will be good enough.
Additional parameters (optional)
BeforeDelay(ms) - Pause between first and second signals.BeforeCount- How many times shouldBeforesignal be repeated before transmitting theKeysignal.
Source: Next-Flip/Momentum-Firmware