Coral M.2 Dual Edge TPU & HAOS

I got it working on a 13th gen NUC by doing exactly what you describe - remove the WiFi module, put in the Coral m.2.

There were two challenges/surprises however:

  • I bought the dual TPU module, but only one device (only /dev/apex_0 only) shows up, because at least some motherboards only connect one PCIe lane.
  • To make the TPU module work, in BIOS I had to “enable WLAN” - with it disabled, the m.2 slot was disabled and the device disappeared entirely. Enabling WLAN in BIOS, even though I don’t actually have WLAN hardware anymore, made the Coral PCIe device appear.

did you do anything else? I am having similar issues

sorry for the late reply. I think i had to turn off the protection mode for the Frigate Add On to allow the app to talk back to the hardware

my M900 Lenovo didnt have the wifi card in it, but that is all i did, plus what I mentioned below for the Frigate Add on

This thread was helpful in migrating from my separate Frigate Ubuntu server to built in Frigate (Full Access) running inside HAOS on my Intel NUC7 running HAOS v12.3.

I tested this with both the “M.2 Accelerator B+M key” and the “M.2 Accelerator with Dual Edge TPU” (using a “Dual Edge TPU Adapter - m.2 2280 B+M key” from Makerfabs). Both were installed using the M.2 slot of the NUC7 (the TPU will take the only available NVMe M.2 slot, so I went with 2.5" SSD for storage).

Here is the detectors section of frigate.yml that worked for me with the “M.2 Accelerator B+M key” in case it is helpful to others in the future:

detectors:
  coral:
    type: edgetpu
    device: pci

Here is the detectors section of frigate.yml that worked for me with the “M.2 Accelerator with Dual Edge TPU”:

detectors:
  coral1:
    type: edgetpu
    device: pci:0
  coral2:
    type: edgetpu
    device: pci:1

I’m running HA in Hyper-V on Windows 10. Trying to setup a Coral TPU PCIe for Frigate. I installed Makerfabs PCIe Dual Edge TPU Adapter + Coral TPU PCIe chip, installed both the Coral PCIe driver and the Edge TPU runtime (on Windows) all OK. I rebooted and Windows sees the PCIe Dual Edge TPU’s just fine in Windows device manager. HA does not. I have little knowledge of VM’s and do not know what PCIe passthru is, or if it is even my problem.

I spent 3 days reading and trying all sorts of different ways trying to figure this out, with the last post I read states that a Hyper-V VM on windows 10 will not work unless your running windows server as your host machine. I am not, and have no interest in going there. Im just wondering if I should abandon the pcie adapter/M.2 format, and would the USB version of the Coral Edge TPU be what I am looking for, as far as ease of use, plug and play ability? I looked in Hardware settings of HA and while I dont see anything “apex” related, I do see “usbmon0”. Could that be my easiest pathway to adding a TPU to my setup?

Got no takers on this one, so I’ll answer myself in hopes of helping the next poor soul who attempts this. Could not get the Coral TPU PCIe going, so I returned that and bought the Coral USB version. While Hyper-V does not support USB pass thru, I was able to get it thru using this, which has two parts to it. A windows host , and a home assistant add-on. Thank you Sean Cardus :clap:

Thx for providing this information @FuckInsteon
I am trying to make this work, but having issues at the final part of the setup.

I have shared the correct busid on my host server, installed the add-on to home assistant and started the add-on. The logs show no errors.

Now I am unsure what to do next. The following in my frigate.yml is still causing issues:

detectors:
  coral:
    type: edgetpu
    device: usb

Can you help me out?

Would you mind sharing which PC you used the adapter on so others can benefit from this. I find myself in a similar situation with a Dell Optiplex 7070 Micro that supposedly has a M.2: CNVio which is E-keyed. I bought an E-Key Dual TPU only to find out the CNVio interface may not support PCIe at all according to this Git page:

Rant ahead! I really need to vent here because I wasted money on a Dual TPU and a whole day trying to get the thing into Proxmox. The M.2 spec is a POS. There should be only one type of interface allowed for each key.

Its a pc I built from spare parts. Wifi slot would not work, I used the adapter I posted.