Repository navigation
Wi-Fi Module v1 with Companion FW ch0 h0 and no error #27
Replies: 32 comments 8 replies
|
The Turned out to be the chip. The Wi-Fi Module v1 is an ESP32-S2, and the S2 has no Bluetooth radio, so the Arduino core ships no BLE library for it and the companion sketch did not compile for that target at all. It died on Fixed in v0.86. All the Bluetooth code now sits behind a capability flag, so the sketch builds Wi-Fi only on chips without the radio, and CI builds and releases One thing to be clear about before you flash it: that build is degraded on purpose. Probe and OUI camera detection work exactly as they do on any other board, but the BLE half of Flock detection is gone permanently, because the hardware cannot do Bluetooth. The app now shows "WiFi only" in its header when it sees that SoC, so you can tell which you are running. A classic ESP32 WROOM is around five dollars and does the whole job if you would rather have full coverage. Also worth grabbing v0.86 for another reason. It writes a per-session diagnostic to Reopen if the S2 build still sits at ch 0 and I will dig in. |
|
Seems like everything is working. I'll update this comment once I test it successfully against an ALPR. I was afraid I was doing something wrong at first, since I thought the Wi-Fi Module v1 was supported >.< Glad I mentioned something. I've bought a standalone ESP32-WROOM, that I guess I'll have to simply use dupont cables to connect to the flipper. Was looking for a slightly more elegant plug-in solution, like the original Wi-Fi dev board...oh well. Update: Drove past several active ALPR's, still no hit. Perhaps the tiny onboard antenna on the dev board isn't enough, or this app is more biased towards using BT for detection? Not sure. I was within 15ft for about a minute. I'll update this comment a second time if anything new happens...otherwise /shrug |
|
Working on this today and doing a deep dive. There could be a few things going on so the easiest way to help me since I don't have a v1 Wifi module is to send over the diagnostic CSV (reports take OPSEC into account and redact any personal identifiers, you can copy/paste it directly as a reply)
|
|
Is the v1 running marauder and what version? |
No, I was running the latest .86 nightly with the new s2 companion firmware flashed.
Sure, I'll update this post later. An ESP32-WROOM just arrived in the mail today, and I've successfully flashed the Edit1: Wanted to add - I've used the ESP32 wifi marauder app, and firmware successfully together to scan for AP's, and log information...so I guess that means the pinout is correct, and the device does work correctly. |
|
Thanks for confirming the Marauder bit, that was the useful detail. It rules out the pinout and the board, so whatever is wrong is on our side. Here is where I landed. Your board comes up healthy, counts a channel, throws no errors, and detects nothing. A promiscuous receive callback that never fires looks exactly like that from the outside. Our setup puts the radio in So there is an S2 build with that changed, in the nightly: https://github.com/ReconGrunt/FlipDeFlock/releases/tag/nightly Grab Being straight with you about what this is: nobody here owns an S2, so I could not test it. It is a hypothesis I could reason my way to but not verify, which is why it is a nightly with UNVERIFIED in the filename rather than a release. The change is gated to the S2 alone and I checked the classic image comes out byte for byte identical, so nobody else can be affected either way. Whether it works or not, the thing that actually answers this is one number. After a scan, grab
Those point in completely opposite directions and I cannot tell them apart from here. Counts only in that file, no MACs, no SSIDs, no positions, so it is safe to paste as is. No rush, and if you would rather just use the WROOM now that it has arrived, that is entirely fair. Even one diag row from the v1 before you shelve it would help, since you are the only person testing that board. |
|
Huh...well now I'm extra confused. I just did a quick drive past 2 ALPR's, doing at least 5 passes total...one of which I sat at a traffic light for 30s with the window open and the WROOM searching with FlipDeFlock running...and I never got a hit. I just loaded the 0.87 firmware on my v1 dev board, and here's the .csv info: I'm really confused now why the WROOM also didn't get any hits... Edit1: Side question - are there pros/cons to using 3.3v vs 5v for the WROOM? |
|
That CSV answered it, and it says I was wrong. Thank you for pulling it.
What the numbers actually say is narrower and more useful: the companion saw tens of thousands of management frames and not one of them scored above zero. There are two ways that happens, and this codebase already warns about the second one in its own comments:
Either way the detector cannot tell you, because it only ever reports what it already recognises. A camera we do not have a signature for and an empty street produce identical output. That is the actual bug here, and it is ours. So there is a survey mode in tonight's nightly: https://github.com/ReconGrunt/FlipDeFlock/releases/tag/nightly Flash The useful thing to do with it: park where you can SEE a camera, scan for a few minutes, then look at the file. A camera probes roughly every 125 ms and does not stop, so it shows up with a count in the hundreds while phones sit at 1 to 6. On my bench a known transmitter came out at count 124 while everything else was under 7, so the signal is not subtle. The fingerprint column is the one that matters most. It is computed from the probe body rather than the address, so it survives MAC randomisation. My first capture caught one fingerprint appearing on four different randomised MACs, which is a single device tracked straight through its own rotation. If your cameras are randomising, that column is what will catch them, and it is what would let us finally populate the fingerprint table.
If you get a row with a big count next to a camera you can see, paste it and we will have the signature we have been missing. |
|
Missed your side question, sorry. 3.3V vs 5V on the WROOM: feed 5V into the The And the one that actually kills hardware: never put 5V into Two Flipper-specific notes:
Worth adding, since it is relevant to your actual problem: your CSV already rules power out. |
Unless I've done something wrong, there's no Glad I checked right before wasting my time going out on a drive =\ Edit: Using the WROOM with matching companion firmware |
|
You did not do anything wrong. That was our bug, and thank you for checking before you drove. The survey only asked the companion for its table once when a scan opened, at which point the board has nothing yet, and then not again for thirty seconds. Then the save gave up early because there were no rows, so no file was created at all. Your sessions were 7, 14 and 26 seconds. Every one of them was under that interval, so every one produced nothing, and there was no way for you to tell a feature that had not run from one that was broken. I only ever tested it with one long scan, which is exactly why I did not catch it. Fixed in tonight's nightly: https://github.com/ReconGrunt/FlipDeFlock/releases/tag/nightly The survey is now pulled one last time before the link closes, which is the only moment the whole session exists and the link is still there to carry it. The periodic poll is down to ten seconds and no longer wastes its first request on an empty table. And the file is written even when nothing was seen, so you will always get a file, with a header and no rows if the air was quiet. Verified with a 7 second scan, which is shorter than any of yours. While testing that I found a second bug that mattered more, because it would have sent you after the wrong device. The counts live on the companion and it kept counting until it was power-cycled, so they were "since the board booted" rather than "this scan". On my bench a neighbour's device was sitting at 729 purely from accumulating over hours. That directly contradicts the advice I gave you, which was that a count in the hundreds is your camera -- an ordinary phone would have looked exactly like one. The board's table is now cleared at the start of every scan, so the numbers mean this outing and nothing else. With that fixed, here is what the method actually looks like on my bench with a known transmitter running: it comes out at 94 over a three minute scan while everything else nearby sits between 1 and 16. Over a 7 second scan it was 9 against 1. So it is the ratio to its neighbours that identifies it, not a fixed number, and you do not need a long scan for it to show. Grab the WROOM image and matching .fap from that nightly. Park where you can see a camera, scan for two or three minutes, then send the file. If a row stands well above the others, that is the signature we have been missing, and the fingerprint column is what would let us catch it even if the MAC is randomized. Sorry for the runaround on this one. You have now found two real bugs for us and neither of them should have reached you. |
|
There's a proper release now, so you can stop using the nightly: https://github.com/ReconGrunt/FlipDeFlock/releases/tag/v0.89 One thing that will look wrong. The nightly I pointed you at was built from code stamped 0.90, and this release is v0.89, so it looks like a downgrade. It isn't. I'd been bumping the version internally without ever cutting a tag, and the numbers had drifted five versions ahead of what was actually released. v0.87 was the last real tag, so this picks up from there. v0.89 is newer than anything you have. Grab While testing this I found a few more things that were biting you and I hadn't spotted: Every export was tagged as a Flock ALPR camera no matter what it actually was, so if you'd sent in a GeoJSON with an Axon pole or an acoustic sensor in it, it would have gone onto the map as a Flock camera. Fixed. Exports are also redacted by default now. The redacted version keeps the camera coordinates and replaces anything that isn't a Flock name with its shape, so you can attach one to an issue without thinking about it. There's a RAW option if you want the full thing for yourself, and it puts _RAW in the filename but still verify before sending it out. The companion firmware reports its own version now, and the ESP32 Firmware screen shows it. That was the thing I couldn't answer earlier when you asked what was on your board. If you get a chance to do that drive, the survey file is still what I'm most interested in but no pressure. I'll do a drive later myself today. Edit: I'll keep this issue open until it's been confirmed as resolved :) |
|
Just got back from being out, was able to grab a quick log before heading home. Didn't stop too long, but hopefully this info helps. I parked near (within 50ft) of a camera, sat for about a minute, then drove off and past a second camera. Turned the flipper off after leaving the range of the second camera. Assuming the This is with the nightly build (didn't get home before your latest post) not the proper release.
Edit: Potential future note for myself - |
|
This is the most useful thing anyone has sent me on this issue. It answers the original question. Look at the first octet of every MAC in your survey: Six of the seven have bit 1 set in the first byte, which means the address is locally administered. It's made up. There is no manufacturer behind it, so there is nothing for an OUI table to match. Every project doing this, including ours, is matching MAC prefixes against a list of vendors, and a randomised address defeats all of it before scoring even starts. So "no hits" wasn't a bug in the end. Your board was working the whole time. The cameras just aren't announcing a vendor any more. Which row is the camera
Your guess about
Don't chase the 7E:68:F0 groupFour addresses, all different, all carrying the same fingerprint If I'd added that to our tables on the strength of "four devices near a camera", it would have matched half the phones in any street. Worth saying out loud since it looked like the most interesting cluster in the file. The fingerprint is the way out
You can test that right now without waiting for a build. Make a file called {
"ie_fps": ["89c3debf", "ba9fafa0"]
}It's load-only and offline. A user fingerprint is capped at "Class?" and can never reach Confirmed, so it can't over-claim on you. Then go back to the same camera. If That one test is the whole thing. No rush on it, it could give us more valuable data. I'll release a build that does just that for this session if you feel hesitant towards getting a signatures.json on there. I might implement as a permanent features so everyone's individual version of FDF will have a "self learning feature". Your diag looks healthy268 lines, 0 dropped, 0 reboots, 319 management frames in 132 seconds. The board and the link are both fine, which is worth knowing given how much of this thread was spent wondering whether your hardware was the problem. It wasn't. Also grab v0.90 when you get a chance. Since the nightly you're on, there's a fix for the 5V rail never coming up when the Flipper is plugged in, which would leave a header board dead. Edit: Just to be sure that the cameras are spitting out randomized macs, have you gotten any hits using other Flipper apps or previously got hits from FDF on those cams? If they spit out random mac addresses, there might be a way to have FDF tag them depending on the way they rotate them. Very interesting. And thank you for the CSVs, any data helps me improve FlipDeFlock. |
|
In the meantime I'm going to mark this issue as closed since the original companion issue has been solved. If any issues persist or new ones arise, please let me know and it'll be taken care of pronto :) |
Oh - ok? I mean neither the v1 S2 or WROOM board is detecting cameras correctly...which I thought we were still figuring out...but I guess I'll open a new issue when I have some more time.
Been super busy, guess this will be the start of the new issue. Should have some time later today to sit near a camera. |
|
The Flock camera introduced a rotating mac address as mentioned above. If you pick that camera up with another app, then it'll be confirm an issue on my end but FDF is clearly picking the camera up, it's just not confirming it because the camera isn't announcing a vendor anymore. Not a board issue or app issue, most likely due to Flock trying to become harder to detect but thats where fingerprints come in. I'll gladly eat my words though if I'm wrong. |
Is this something new? Like...am I the first person to have found a camera with rotating MAC's? Is there just really few people who actually use this project? Figured with 77 stars, and the increasing public awareness...I couldn't possibly be the first person to use this app, and not have it detect over 8 different known ALPR's, from at least 2 different brands... |
|
I've noticed that flocks in the parking lot of one big brand/box store never show up. Their competitor has the same cameras and they do show up. Why? Unknown. I went to two different store locations a few hours driving apart and it was the same behavior, so likely not isolated. I've speculated in a different post that you'd need to bring a wifi card and dump traffic from every(?) chanel for a few minutes to try to determine if it was still using wifi still as I don't see a hardwire cable. As for using other apps, there is a similar app I originally compared this app to. However, I stuck around here because the PR and issues I brought up on the other app were ignored. Seems to be abandonware. As for people around, I'm here. As for wider spread adoption, it's tough. Not only would people need a flipper zero, but then another card on top of that. Maybe they bought the wifi card, but that's not as good. If they got the card I have, you also need a companion board for the card. That's 2 purchases from different vendors just to run this (and that other) app. Not as trivial as you'd hope. Maybe flipper one will be AIO for this purpose. |
|
Fixed in v0.93, and the fix turned out to be bigger than the fingerprint idea. Two things were wrong. First, you could never have seen that camera on the screen. The app drops anything scoring nothing before it reaches the list, and a randomised MAC scores nothing, so a camera with no vendor prefix was being binned silently. That is why ten cameras gave you an empty screen. The survey already had the answer in it, but it only existed as There is now an Air Survey screen on the main menu. Same data, on the device, ranked the way I read your CSV by hand: how hard a device is probing compared to everything else in that capture, how close it is, and whether one fingerprint is showing up on several addresses. It is not a detection list and nothing in it enters the hit table. It tells you where to point your eyes. Second, when I told you to use "Confirm: I saw it" on the row you thought was the camera, that would not have worked. That button only exists on detections, and your camera never became one. It works on a survey row now, so the loop I described is actually closed. A bug worth knowing about too: confirming a row wrote whatever fingerprint it carried, with no check. If you had picked one of the Your Grab v0.93 plus the companion |
Alright...I'll test that version later. I still have |
Worth ruling out the boring explanation before anything clever. I had a run of cameras near me that I could not get a hit on either, so I pointed a camera at them to see whether the IR illuminator fired on motion. It did not. They were not powered on at all. Two sites a few hours apart makes that less likely in your case, but it costs nothing to check and it would save you a lot of chasing.
That is roughly what v0.93 does now, without the laptop. There is an Air Survey screen that lists every wildcard-probe transmitter the board heard, matched or not, ranked by how persistently it probes compared to everything else in that capture, how close it is, and whether one fingerprint keeps turning up on different addresses. So the box store question is directly readable in the field: park, run a scan, open Air Survey. If nothing is sitting there probing, it is not talking wifi and no amount of signature work will ever find it. If something is there and we simply do not recognise it, you get a row instead of an empty screen. That distinction did not exist before, which is most of why this thread ran as long as it did. Rotating MACs are a much smaller problem now too. Confirming a row you have physically looked at teaches the app that unit's probe fingerprint, which hashes the shape of the request rather than the address, so it survives the MAC changing. Learned signatures stay capped at
Noted, and thanks for staying. Issues and PRs here get answered.
Agreed, and it is the thing I keep coming back to. I am working on a standalone version that runs entirely on one device, no Flipper and no companion board. It works as expected on the bench and I am waiting on supplier quotes before I put a date on it. The whole point is the gap you just described: someone who is never going to source two boards from two vendors and wire them together should still be able to use this. |
|
So I sat near that same camera again, glad I copied the Here's the Also, here's the info I got from a hit later on ( And the associated I forgot to update to v0.93 this time >=\ Annoyed with myself. Might go back out again later if this info is useful, and you come out with another quick update. |
|
v0.94 is up, that's the one to test that camera with. Grab the Park where you did last time and check Air Survey on the main menu. One other thing you'll like: Thanks for the dumps, they made this a lot easier. UPDATE: Quick update on Your own data has a better angle in it. v0.95 adds Pin addr in Air Survey for exactly this. Open that row, press Pin addr, restart the app. From then on it comes up as a hit instead of only a survey row. If you get another chance at it, what's actually worth knowing now is whether that same address is still there in a week. |
I'll drive out there this morning, start Air Survey, sit for a minute~ish (don't like being a bother), and then stop for the same camera I can't find. Then I'll go past a few other cameras and do the same using Air Survey to see what I can find. Hopefully all the log files won't overwrite now, so I can bring back a decent amount of info. Edit: Oh! Forgot to add...when a camera is identified, with a GPS location - and you click "Report" - the QR code brings you to the main flockmap site...not to the map. They must have changed their URL structure, so your QR code doesn't redirect properly. |
|
Okay. Thank you for the heads up. By the way, I will be closing this issue as the original error was fixed and converting it to a discussion as it better suits this. |
|
So uh...I went on a long drive tonight. Passed the set of flocks that we haven't been sure about...then continued surveying while driving. Passed another 4-6 flocks later on down the road. Then did the same drive back after a bit. Lot of data here...including the |
|
Well...I'm kinda at a loss right now. I'm no longer sure if I'm correctly finding cameras or not. Based on testing and moving around...I no longer think either Am I missing a method/way to exclude devices or signatures? The Air Survey list is just chock full of potentials, which isn't helping me "narrow down" much. Here's the logs I pulled tonight...but I'll be honest, this will probably be my last contribution...as I'm no longer sure the problem isn't sitting between the flipper and the computer =P Edit: Also - tried using the "Locator" function...it didn't work very well for me. The signal kept showing strong, then dropping out completely...and I noticed that when swapping from "Locator", back to the normal "Flock/ALPR Detect" mode - I had to reset the WROOM once or twice to get the app to talk to the companion again. |
|
I'm obviously an idiot, so I'll close this discussion for now and stop wasting your time =P I hope this project works out, because it's getting nearly impossible to spot and remember which shapes are which brands...which ones are just traffic sensors, and which ones aren't... One last set of ideas...you mentioned perhaps the cameras weren't active, and to grab a camera: is there a way to use the IR receiver on the flipper while scanning for a camera to correlate the two? Also; the relatively small/slow interface of a flipper is a little limiting...is there any way a flipper can be utilized similarly to an SDR, and act simply as a receiver, while a more powerful laptop does all the decoding and displaying? Either way, thanks for the fast responses, and good luck! |

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
So I'm using a Wi-Fi Module v1, which I bought with the flipper many years back. I'm able to successfully flash the wroom firmware, but when I launch the app and run the
Flock / ALPR Detect...thechstays0, and nothing on the screen changes. I also get no errors saying something isn't working =\How should I go about pulling some kind of error log or live debug?
Edit: adding info and picture (to verify I don't have some strange knockoff):
App: FlipDeFlock v0.83 Nightly
Unleashed FW: unlshd-092e [22-08-2026]
Originally posted by @wiilover22 in #20 (comment)
Well, the new changes and firmware "appear" to be working - however after driving past a few known ALPR's, the app didn't pick anything up. I'm not sure this is an issue related to the RPC GPS - so I'll probably have to start a new issue.
All reactions