Coral just won’t work

I got a coral USB yesterday, I was expecting to add it to the frigate configuration and it work, nope. I’ve had to hash it out so I can continue to use frigate.
Ive tried other ports and cables, restarts, reboots, unplugged other usb devices. I’ve done lots of searching but can’t get any further forward. Its not showing in hardware either.
I’m running a Dell 3050 with 500gb NVME AND 20gb ram.
HAOS is bare metal
Frigate was installed through add-ons and is full access with protection disabled.
Should a windows PC recognise it being plugged in? It doesn’t.

I was going to ask how you know it isn’t working, but this…

The Coral TPU can draw up to 900mA, which might be too much for your USB port. (USB2 port spec is 500mA). Try using a powered USB hub.

I find the Hardware tab in the UI pretty useless.
Run lsusb on your host computer terminal. The ID for the Coral TPU is “18d1:9302”, which is the second USB device in my list.


➜ ~ lsusb
Bus 001 Device 015: ID 10c4:ea60 ITead Sonoff Zigbee 3.0 USB Dongle Plus
Bus 002 Device 002: ID 18d1:9302
Bus 001 Device 001: ID 1d6b:0002 Linux 6.12.23-haos xhci-hcd xHCI Host Controller
Bus 001 Device 008: ID 8087:0aaa
Bus 001 Device 004: ID 1a86:e050 USB Keyboard-Mouse USB Keyboard-Mouse_V1.7
Bus 001 Device 002: ID 1a40:0101 USB 2.0 Hub
Bus 002 Device 001: ID 1d6b:0003 Linux 6.12.23-haos xhci-hcd xHCI Host Controller
Bus 001 Device 019: ID 0658:0200
Bus 001 Device 016: ID 32c2:0012 HS6209 2.4G Wireless Receiver
Bus 001 Device 014: ID 214b:7250 USB2.0 HUB

1 Like

I’ve got a usb ports tester, it’s not drawing much at all.
I’ll check in shell tomorrow

I’ll repeat the question. How do you know it isn’t working?
Did you run lsusb to see if the host computer sees the device?

How does the system metric menu in the Frigate webinterface looks like when you re-enable the below?

detectors:
  coral:
    type: edgetpu
    device: usb

Mine looks like;

This is what mine says:
Frigate UI → settings → System Metrics

My inference speed seems high, but I have nine cameras.

Then it is working :slight_smile:

I am not the OP.
Just showing the OP what to look for.

Whoops :joy:

Sorry, the log says it can’t find the coral and frigate isn’t displaying any images

With the coral plugged in and the config set, the metrics won’t load

Coral has nothing to do with the images- only the detection. If you aren’t seeing any images from the camera, you have something else wrong.

Post your frigate.yml file.

This is what im getting in lsusb
Bus 001 Device 004: ID 8087:0a2a
Bus 001 Device 001: ID 1d6b:0002 Linux 6.12.23-haos xhci-hcd xHCI Host Controller
Bus 001 Device 002: ID 10c4:ea60 ITead Sonoff Zigbee 3.0 USB Dongle Plus
Bus 002 Device 001: ID 1d6b:0003 Linux 6.12.23-haos xhci-hcd xHCI Host Controller
Bus 001 Device 005: ID 0658:0200
Bus 001 Device 006: ID 0bc2:ab24 Seagate BACKUP+

Device 004 is the wifi/BT adapter
Device 005 is the z wave dongle

And this is what I’m getting when coral is added to the config


################################
#           MQTT               #
################################
mqtt:
  host: 192.168.0.241
  port: 1883
  topic_prefix: frigate
  client_id: frigate
  user: mqtt-user
  password: password
  stats_interval: 60

database:
  path: /config/frigate.db

################################
#          DETECTORS:          #
################################
detectors:
  coral:
    type: edgetpu
    device: usb

################################
#           STREAMS            #
################################

cameras:

################################
#           Driveway           #
################################

  Driveway: #Change this to a name of the camera that makes sense to you
    ffmpeg:
      output_args:
        record: preset-record-generic-audio-aac #Insert this if your camera supports audio output
      inputs:
        - path: rtsp://admin:[email protected]:554/Streaming/Channels/101/
          roles:
            - record
        - path: rtsp://admin:[email protected]:554/Streaming/Channels/101/
          roles:
            - detect
    detect:
      height: 360 #Change this to match the resolution of your detection channel (in this case channel 1)
      width: 640 #Change this to match the resolution of your detection channel (in this case channel 1)
      fps: 10 #This is the frame rate for detection, between 5-10 fps is sufficient.
    record:
      enabled: true
      retain:
        days: 0 #The number of days a recording will be kept for after a motion is detected.
        mode: motion
      alerts:
        retain:
          days: 30
      detections:
        retain:
          days: 30
    objects:
      track:
        - person
        - car
#Frigate saves snapshot images in /media/frigate/clips
    snapshots:
      enabled: true
      timestamp: false
      bounding_box: true
      retain:
        default: 2 #days

    motion:
      mask: 0.588,0.457,0.42,0.462,0.032,0,0.984,0.048

################################
#           Back Door          #
################################

###Sub channel### 101 main 102sub###

  back_door: #Change this to a name of the camera that makes sense to you
    mqtt:
      timestamp: False
      bounding_box: False
      crop: True
      quality: 100
      height: 1080
    ffmpeg:
      output_args:
        record: preset-record-generic-audio-aac #Insert this if your camera supports audio output
      inputs:
        - path: rtsp://admin:[email protected]:554/Streaming/Channels/101/      
          roles:
            - record
        - path: rtsp://admin:[email protected]:554/Streaming/Channels/101/
          roles:
            - detect
    detect:
      width: 1920 #Change this to match the resolution of your detection channel (in this case channel 1)
      height: 1080 #Change this to match the resolution of your detection channel (in this case channel 1)
      fps: 9 #This is the frame rate for detection, between 5-10 fps is sufficient.
   
    objects:
      track:
        - person
        - cat
        - dog

            #Frigate saves snapshot images in /media/frigate/clips
    snapshots:
      enabled: true
      timestamp: false
      bounding_box: false
      retain:
        default: 2 #days    
    record:
      enabled: true
      retain:
        days: 1 #The number of days a recording will be kept for after a motion is detected.
        mode: motion
      alerts:
        retain:
          days: 5
      detections:
        retain:
          days: 5



version: 0.15-1 

I’ve just tried it with my laptop running Ubuntu and it doesn’t appear to be there either

Two out of two USB-type Coral TPUs on different host machines failed to get detected here too.

After some searching I found out that the Type-C to USB-A cables coming with the Coral TPU are crap. After changing those cables using high quality Type-C to USB-A USB 3.2 10gbps 20cm replacements the Corals on those two devices were instantly detected.

Since the OptiPlex 3050 has 4 USB 3.1 Gen 1 ports available look for a better cable (branded, not just a no-name crap cable from the next supermarket), max. 20 cm in length.

Ive tried 4 cables, still not detected. Mouser are sending a replacement as I’m pretty convinced its faulty

Please keep us updated on the latter. I’m curious about the culprit of the issues you encounter.

1 Like

Are you seeing images from the cameras? If not, don’t even think of troubleshooting the TPU. You have more basic problems.

I see images when the coral config is disabled but nothing when it’s enabled

Enabled

Disabled

It is possible that you have a bad TPU since you don’t see it with lsusb.
Change the detector section to this and unplug the TPU until you can get another one.

detectors:
  cpu:
    type: cpu

If you have another Linux computer, plug the TPU into a USB port then do an lsusb to see if it is detected.

You can use the CPU for detection, but it is processor intensive. Comment out some of the objects-track lines to reduce the CPU load.