Hey everyone, I think the HAT I got is defective. I’ve been trying to get it working for a while now and I can’t get it to show up at all. The LED on the board is lit so it’s definitely powered, but no matter what I do I can’t detect the HAT with v4l2-ctl. I’ve emailed support a few times already and never heard back, so I figured I’d try here too. Has anyone seen this before? I’m kind of stuck.
Hi, sorry you’ve had trouble reaching us — let’s get this sorted. First thing, could you fill out our technical support form (it asks about your setup, OS, and how you’re connecting everything)? That gives us the details we need to dig in. While you do that, one thing I want to understand up front: how exactly are you detecting the HAT? Walk me through the method you’re using, because depending on whether you’re going through v4l2-ctl, libcamera, or something else, the troubleshooting path is different.
Filled out the form (I attached it in my email reply). As for detecting it, I’ve only ever used v4l2-ctl. Basically I run it and look for the device nodes, but I’ve never once been able to get the HAT to show up that way. The board powers on fine — LED comes on immediately when I boot up. That’s the confusing part.
Thanks, that helps. So just to confirm: you’ve never successfully detected this HAT at all, not even once — correct? And the LED being on means it’s getting power, but that alone doesn’t tell us whether the driver/overlay side is working, so we’ll need to separate those two things. A few questions:
- What OS/version are you on?
- What exactly does v4l2-ctl output when you run it — does it list any devices at all, or only the built-in ones?
- How is the HAT physically connected — fully seated on the header, flex cables on the camera side?
If you can paste the command you’re running and the output, that’d be really useful.
Correct, never detected once, not even on a fresh boot.
OS is Raspberry Pi OS (Bookworm). The command I run is basically:
v4l2-ctl --list-devices
When I run it I just get the standard built-in devices, nothing that looks like the HAT or any OV9281 device shows up. The HAT is fully seated and the flex cables look connected correctly as far as I can tell. Here’s the thing though — I used a single ArduCam OV9281 on this exact same computer for a long time, with v4l2-ctl, and it worked great. That’s why I’m leaning toward the HAT being the problem.
Ok that’s actually a really useful detail — so on this same machine, a single OV9281 worked fine via v4l2-ctl, and now the HAT never appears. That tells me your basic v4l2 setup and tooling are fine, so the issue is specific to the HAT.
But before I go assuming it’s defective, I really need to know the detection method you’re using for the HAT specifically. When you were running the single OV9281, what did your detection/driver setup look like — did you have any dtoverlay configured? And for the HAT, is there a specific overlay you’re supposed to enable for it? The reason I ask: if the HAT needs its own overlay and that isn’t loaded, it would never enumerate under v4l2-ctl no matter how good the hardware is, and the LED would still light up just from power.
Hmm, honestly for the single OV9281 I just had it working with the standard setup, I don’t remember touching overlays. For the HAT I haven’t configured any overlay — I assumed it would just work like the single camera did since it’s the same computer. Is that maybe the problem? How do I check whether the HAT needs one?
That might well be it, but I want to confirm before we conclude anything. Let’s not change anything yet — I’d rather see the current state first.
Can you check your /boot/firmware/config.txt and see if there’s any dtoverlay line for the camera? Also, in your technical support form you mentioned you attached, could you tell me which HAT variant/model exactly you have (single vs multi-cam, and the model name)? The reason is each HAT can use a different overlay, and without confirming the detection method and the exact board, I can’t tell whether this is a driver/overlay config issue or genuinely a dead board.
Also useful: run dmesg | grep -i -E ‘camera|ov9281|i2c’ after a fresh boot and paste what shows up. If the HAT is being seen at the hardware level you’ll usually get an i2c probe or a driver line there.
Ok, checked config.txt — there’s no dtoverlay line at all for the camera, it’s basically stock. The HAT is a dual-cam HAT (two OV9281 sensors on the one board), if that matters. I’ll grab the dmesg output on next boot and post it here. So is the missing overlay likely why v4l2-ctl never sees it?
Possibly yes — a dual-cam HAT almost always needs its own dtoverlay enabled, and with a blank config.txt it would simply never enumerate, which matches your symptom exactly (LED on, no v4l2 device). But I don’t want to call it that yet, because the same symptom could also be a seating/cable issue or a genuinely faulty board, and I still need your dmesg output to tell those apart.
So here’s where we are: the key open question on my side is confirming exactly how you’re detecting the HAT and whether the correct overlay for the dual-cam board is present. Once you post the dmesg lines (or tell me there are zero camera/i2c lines at all), I can determine whether we’re chasing a config problem or a hardware fault. I’ve also sent you the overlay/config details privately for your specific HAT variant — check your messages and let me know what dmesg shows before you load anything.