January 18, 20251 yr Hi Unraid Community, TL;DR: USB Coral Edge TPU is detected on Unraid 7.0.0 but fails to initialize in the Scrypted Docker container (libedgetpu.so.1 error). Falls back to CPU inference. Tried USB passthrough, drivers, and privileged mode—still no luck. Any advice? I recently updated my server to Unraid 7.0.0 (from 6.12.4) and am encountering issues with setting up a USB Coral Edge TPU for TensorFlow Lite Object Detection in the Scrypted Docker container. While the Coral TPU is detected by the host, it fails to initialize within the container, resulting in fallback to CPU inference. System and Setup Details Unraid Host: Version: Unraid 7.0.0 Plugins Installed: Coral Accelerator Module Drivers by ich777 not needed for USB based Coral TPUs Relevant lsusb Output: Bus 002 Device 010: ID 18d1:9302 Google Inc. The Coral Edge TPU device is detected by the host. Scrypted Docker Container: Repository: koush/scrypted Network Type: Custom br0 (Internal 10G NIC, IP: 192.168.1.212) Volume Bindings: /mnt/disks/Scrypted/ -> /Volumes/Scrypted/ /dev/bus/usb -> /dev/bus/usb /dev/dri -> /dev/dri Privileged Mode: Enabled Error Details Scrypted Container Logs: unable to use Coral Edge TPU Failed to load delegate from libedgetpu.so.1 model: scrypted_yolov8n_320 /server/volume/plugins/@scrypted/tensorflow-lite/files/v14/scrypted_yolov8n_320/best_full_integer_quant.tflite /server/volume/plugins/@scrypted/tensorflow-lite/files/v14/scrypted_labels.txt i Tensorflow Lite Object Detection loaded @scrypted/tensorflow-lite and Coral edge tpu library loaded successfully edge tpus [{'type': 'usb', 'path': '/sys/bus/usb/devices/2-2'}] unable to use Coral Edge TPU Failed to load delegate from libedgetpu.so.1 The Coral Edge TPU is detected (via /sys/bus/usb/devices/2-2), but the TensorFlow Lite Object Detection plugin fails to load the required delegate library libedgetpu.so.1. Steps Taken Updated to Unraid 7.0.0 from 6.12.4. Installed the Coral Accelerator Module Drivers plugin by ich777. not needed for USB based Coral TPUs Verified USB passthrough setup: Mapped /dev/bus/usb and /dev/dri from the Unraid host to the container. Confirmed the Coral Edge TPU appears in the host's lsusb output. Enabled privileged mode for the Scrypted Docker container. Confirmed the Coral device is detected by TensorFlow Lite but fails to load the delegate library. Questions Has anyone successfully set up a USB Coral Edge TPU with the Scrypted Docker container on Unraid? Are there additional steps required for the USB version to work correctly? Is additional configuration needed to ensure the container can access the TPU’s delegate library (libedgetpu.so.1)? Are there compatibility concerns between TensorFlow Lite, the Coral Edge TPU runtime, and the Scrypted container? Please see attached logs. Let me know if additional logs or details are required. Thank you for your time and help! Any guidance or advice would be greatly appreciated. tower-diagnostics-20250117-2303.zip Edited April 23, 20251 yr by ich777 clarify that Coral TPU is not needed for USB Based TPUs
January 22, 20251 yr I have USB Coral and am getting the same errors after updating to Unraid 7.0 - Failed to load delegate from libedgetpu.so.1.0 It was not being detected as being plugged in, "lsusb" wouldn't show it being plugged in After unplugging a USB Bluetooth Dongle i had passthrough to a VM it seemed to show up and is now being detected by Frigate. Not sure if that helps but took me a couple hours of troubleshooting to fix it
January 22, 20251 yr On 1/18/2025 at 7:06 AM, generalkenobi said: Coral Accelerator Module Drivers by ich777 If you are using the USB version you don't need the plugin since the plugin is only for PCI based Coral modules. On 1/18/2025 at 7:06 AM, generalkenobi said: Repository: koush/scrypted I would recommend that you create a post in the support thread from that container if there is any or create an Issue on GitHub, since this library is shipped with the Docker container and maybe needs to be updated.
April 22, 20251 yr Hi has anyone had anyone made any progress with this? I am still unable to get Frigate to detect my USB Coral after upgrading to Unraid 7
July 10, 20251 yr Author topherino, your post caused me to take a look at this again.Not sure if this will work for everyone, but I was able to get it working and no longer get the “Failed to load delegate from libedgetpu.so.1” errors. Here's what fixed it for me:Plug the Coral directly into a motherboard USB-C/USB-A port. Mine was on a front-panel hub. May not be the fix, but moving it off the hub eliminated one failure point.I needed to tell the kernel to keep the USB link awake. So, edit /boot/syslinux/syslinux.cfg and add these parameters to every append line you boot with:usbcore.quirks=1a6e:089a:k,18d1:9302:k usbcore.autosuspend=-1 Those are the Coral’s pre- and post-firmware USB IDs corresponding to Global Unichip Corp and Google Inc.My /boot/syslinux/syslinux.cfg file in full reads:default menu.c32 menu title Lime Technology, Inc. prompt 0 timeout 50 label Unraid OS menu default kernel /bzimage append initrd=/bzroot transparent_hugepage=never usbcore.quirks=1a6e:089a:k,18d1:9302:k usbcore.autosuspend=-1 label Unraid OS GUI Mode kernel /bzimage append initrd=/bzroot,/bzroot-gui usbcore.quirks=1a6e:089a:k,18d1:9302:k usbcore.autosuspend=-1 label Unraid OS Safe Mode (no plugins, no GUI) kernel /bzimage append initrd=/bzroot unraidsafemode label Unraid OS GUI Safe Mode (no plugins) kernel /bzimage append initrd=/bzroot,/bzroot-gui unraidsafemode label Memtest86+ kernel /memtest Reboot. When I run:dmesg | grep -i 1a6e I can see confirmation that the kernel commands persisted.I switched to the plain koush/scrypted image (not :nvidia) and drop --runtime=nvidia.While my Coral was not working, I was running on an RTX 3090, but obviously this isn't needed with the Coral.Check inside Scrypted: I checked inside the TENSORFLOW LITE OBJECT DETECTION plugin. Hit "Restart Plugin" to generate logs, and I see the following:coral edge tpu library loaded successfully edge tpus [{'type': 'usb', 'path': '/sys/bus/usb/devices/2-5'}] model: scrypted_yolov9s_relu_sep_320 Tensorflow Lite Object Detection: loaded @scrypted/tensorflow-lite Interpreter initialized on thread tflite_0 The Scrypted docker container also shows this in the logs:coral edge tpu library loaded successfullyBasically, I needed these syslinux quirks because without them the TPU seems to drop out, generating that "Failed to load delegate from libedgetpu.so.1" error.Note that I am still on Unraid 7.0.0.
August 18, 2025Aug 18 Hi @generalkenobi and thank's, I was struggling a bit since I try to pass my NVidia GPU to the Scrypted container, dropping --runtime=nvidia was the key to make Scrypted my Coral TPU again !So, it means that I have to choose between my GPU ou my Coral...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.