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?