Frigate - No EdgeTPU was detected

I’m running Frigate as a HassOS addon, running as an ESXi VM on VMWare ESXi 6.7.
In ESXi the Coral USB shows up as “Global Unichip product 0x089a (Connected)”
My config is as per the documentation - single USB Coral: [(Detectors | Frigate)]

detectors:
  coral:
    type: edgetpu
    device: usb

However as soon as I start Frigate it throws this error message:

[2022-01-06 18:29:06] frigate.edgetpu                ERROR   : No EdgeTPU was detected. If you do not have a Coral device yet, you must configure CPU detectors.
Process detector:coral:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 160, in load_delegate
    delegate = Delegate(library, options)
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 119, in __init__
    raise ValueError(capture.message)
ValueError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/usr/lib/python3.8/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/opt/frigate/frigate/edgetpu.py", line 156, in run_detector
    object_detector = LocalObjectDetector(
  File "/opt/frigate/frigate/edgetpu.py", line 64, in __init__
    edge_tpu_delegate = load_delegate("libedgetpu.so.1.0", device_config)
  File "/usr/lib/python3/dist-packages/tflite_runtime/interpreter.py", line 162, in load_delegate
    raise ValueError('Failed to load delegate from {}\n{}'.format(
ValueError: Failed to load delegate from libedgetpu.so.1.0
[2022-01-06 18:29:22] frigate.watchdog               INFO    : Detection appears to have stopped. Exiting frigate...

I’ve done some more digging and I think I can see the problem:
ESXI lsusb output:
Bus 001 Device 002: ID 1a6e:089a Global Unichip Corp.

HassOS lsusb output:
Bus 001 Device 002: ID 1a6e:089a
I believe what frigate is expecting to see is this ID: 18d1:9302

Next I have connected my Coral USB directly into my linux PC and lsusb returned : 1a6e:089a
following this documentation: webcoral - Git at Google
I have cloned the repo:
git clone --recurse-submodules https://github.com/google-coral/webcoral
installed udev rules:
scripts/linux_device_rules.sh install
then setup the device by running:
make reset

and now when I run lsusb on my linux pc I get the correct ID: ID 18d1:9302 Google Inc.

I have teseted it also on a debian VM runnin on my ESIX 6.7 host - I have passed the Coral USB to that VM and it was reporting as 1a6e:089a
Once I have followed the above that got fixed and changed to correct google dev id.

My question is how to get that working on HassOS/Frigate?
Any suggestions?

1 Like

I am running in to the same problem. I had FrigateNVR running great as a container, then I converted to HAOS on my bare metal and installed the Frigate add-on. Now it never sees the Coral USB. Based on your post, I am wondering if this is an issue with HAOS not Frigate?

For anyone else coming here. I had the exact same issue, did the exact same things and now I can use frigate with the Coral USB

1 Like

make reset works for me also with KVM !

Please see this URL as an alternative fix for VMware ESXi 6.7 and 7.0. It may help some people out in future.

I ran into this after upgrading to ESXi 6.7 from ESXi 6. I knew the coral worked fine on ESXi6 so decided to disable the new USB driver after reading the link.

Log onto vmware host as root and run…
esxcli hardware usb passthrough device list -
The device should be listed as…

[root@esxi:~] esxcli hardware usb passthrough device list
Bus  Dev  VendorId  ProductId  Enabled  Can Connect to VM  Name
---  ---  --------  ---------  -------  -----------------  
1    3    1a6e      89a           true  yes                Global Unichip Corp.

Then run…

esxcli system module set -m=vmkusb -e=FALSE
Reboot

After the reboot the device will load as …

[root@vmware:~] esxcli hardware usb passthrough device list
Bus  Dev  VendorId  ProductId  Enabled  Can Connect to VM          Name
---  ---  --------  ---------  -------  -------------------------  -----------------------------------------------------------
5    9    18d1      9302          true  yes                        Google Inc.

After a host reboot it worked as expected and I could attach the coral as “Google USB Device” in the edit settings dialogue of VMware to my docker VM guest. From there it loaded as expected in Frigate.

Any way this procedure would work on VMWare player?

Hi

I’m having this issue, strangely, in a new Beelink U59, and not in my Intel NUC J3455 CPU.

I’m using proxmox and an LXC container in both, but only in the nuc it works.
I tried also backing up the container and restoring it in the new server, but no way.

I tried to follow the make reset found in the Google Coral page, but I get some errors in make reset and also in scripts/linux_device_rules.sh install

I have also tried creating a new container with Debian and docker where to do the make reset

What can I do or is there any other guide on how to do it?

Thanks

1 Like

Hi
I’m running HASSOS 9.3 on a Pi4.
I’ve recently bought a USB Google Coral to help with Frigate setup.

detectors:
coral:
type: edgetpu
device: usb

So far I’ve no joy since I get the following error: No EdgeTPU was detected.
Is there any workaround to fix this issue?
Isn’t the Hassos 9 supposed to have the coral drivers installed?

Thanks in advance for any guidance.

Did you ever get this resolved? In the same boat…sinking

yep - I dropped esxi and moved to Proxmox - no issues there

I resolved this in the end by changing the factory supplied usb type c cable. Worked straight away after that. Not sure if it has some kind of power threshold chip in the cable or something. Tried it with a powered USB 3.0 hub and again nothing.

I now have it plugged in to the top right of the Pi4 usb 3.0 slot directly with the new cable. Working fine.

Let me ask you all a pretty dumb question but did you disable “Protection mode” for the frigate add-on? This solved all my problems of “No Edge TPU detected”.

2 Likes

Disabling protection mode also fixed the issue for me.

2 Likes