[SUPPORT] blakeblackshear - Frigate


Recommended Posts

@ich777  thnaks for the feedback.  I actually solved the problem, before your last reply.  Its a Doh thing and pretty obvious when you sit and mull over the problem.

 

So Frigate has been running fine on the coral now for several days.  

I ended up using the cheap adapter card and sending back the expensive one.

https://www.amazon.co.uk/gp/product/B07TK9KMT5/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1

 

So I  can confirm both adaptor cards work including the StarTech.com PCI Express to Mini PCI Express Card Adapter.

 

Important notes

as Ich777 pointed out, you need to check you have above 4G enabled in the bios and resize BAR is enabled.

 

The most important thing... even though it is a short slot single lane adapter card, put it in the full size slot!!

The short slot  PCIe X1, in my case, does not support the resize BAR functionality, only the two PCIe X16 slots do.

 

Given this is a Unraid server and whilst I have a cheap graphics card, it is used as a headless device (ie no monitor attached)

It is just a matter of arranging the card in the right order for my config.  My SATA expansion card moved into the PCIe x1 so it wasnt an issue for me.

 

Thanks for all the pointers and thought, and to anyone else who cant get the USB, or the M.2 Coral cards, the PCIe Mini with a cheap adapter card put in the right slot, with the Ich drivers works fine.  

 

Perhaps if I had sat and thought about it properly from the start I would have had it working in minutes, rather than days, so I hope this helps someone.

 

Link to comment
2 minutes ago, tigga69 said:

The most important thing... even though it is a short slot single lane adapter card, put it in the full size slot!!

The short slot  PCIe X1, in my case, does not support the resize BAR functionality, only the two PCIe X16 slots do.

This is really strange and sounds like some other issue with the BIOS and allocation itself since the Coral TPU doesn't even need Re-BAR but some manufacturers seem to struggle implementing it correct.

 

On my Asus Z490-E Gaming I can put it in whatever slot I want, see my configuration here:

grafik.png.73c1b1190f3f8bbc7be8012a54b5dc2f.png

Link to comment

@ich777 weird!!

Important thing is it works now and it was really nothing more than a slot change from when I first got it.

All the other stuff was already set correctly.

It seems the slot does matter in my case.  So Its one which is useful to know for future reference.

 

i have to admit it was a surprise, but it does sort of make sense that the slots may act incorrectly.

I agree it is a manufacturers implementation of the HW and bios, but I've not got the inclination to try to diagnose further.

 

 

  • Like 1
Link to comment
14 hours ago, ich777 said:

This is really strange and sounds like some other issue with the BIOS and allocation itself since the Coral TPU doesn't even need Re-BAR but some manufacturers seem to struggle implementing it correct.

 

On my Asus Z490-E Gaming I can put it in whatever slot I want, see my configuration here:

grafik.png.73c1b1190f3f8bbc7be8012a54b5dc2f.png

 

 

I have a similar problem to tigga69, except I'm using a m.2 Coral.

 

It was working fine until I updated from 6.9.2 to 6.11.3.

 

I can see the coral in my system devices, but it the TPU driver says "No PCI based Coral TPU Devices found!"

 

I don't know what the solution to this would be... 

 

I run frigate in an unraid docker and use the frigate proxy intergration in Homeassistant. Everything was working fine for months  until I upgraded.

 

Thanks for any help

unraid tpu.png

unraid tpu2.png

Edited by garbageac124
Link to comment
1 hour ago, ich777 said:

Without the Diagnostics from 6.11.3 I can‘t say anything.

Here's the diagnostics from when I was on 6.11.3

 

The only thing I could think of was that when I was on 6.9.2, I was running frigate in HA rather than in unraid Docker. In order to get passthrough, I had to manually edit the xml for the HA VM to passthrough the coral.

 

Since then, I've moved frigate to unraid docker... but I'm not sure if that would've caused this problem?

 

Thanks for your help

jupiter-diagnostics-20221111-2104.zip

Link to comment
On 11/7/2022 at 5:22 AM, LunarstarPony said:

So starting from yesterday I'm not sure why but starting the Frigate Container will cause my entire unraid to crash and rebooted?

 

I have a USB Coral Stick and a GTX1050

 

I don't really expect anything in the Diag as It always just straight up crash the entire system

Tell me if you need anything!

lunar-unraid-diagnostics-20221107-0317.zip 87.92 kB · 1 download

It appears this issue is somewhat related to IOMMU on the Motherboard

Without IOMMU Enabled it seems to work completely fine but with IOMMU Enabled, It will runs fine on the first day and start crashing the entire unraid after wards for some reason

Edited by LunarstarPony
Link to comment
On 11/12/2022 at 1:20 AM, ich777 said:

Please run those two commands from a Unraid Terminal and report back if the TPU is recognized on the Plugin page afterwards:

modprobe gasket
modprobe apex

 

I re-installed 6.11.3 and the Coral wasn't detected.

 

I then ran the modprobe gasket and modprobe apex and then it was found.

 

Thanks for your help!

Link to comment
7 hours ago, garbageac124 said:

I then ran the modprobe gasket and modprobe apex and then it was found.

Thank you, I will update the plugin ASAP so that it takes that into account and you don‘t have to do any manual steps.

 

I will report back when it‘s modified.

 

Please update to the latest Coral plugin version (2022.11.14), remove everything custom you have done to enable the TPU on boot and reboot.

It should now load the driver on it's own again.

 

Please report back if it's now working for you.

  • Like 1
Link to comment
On 11/12/2022 at 11:13 PM, LunarstarPony said:

It appears this issue is somewhat related to IOMMU on the Motherboard

Without IOMMU Enabled it seems to work completely fine but with IOMMU Enabled

Can you change your Docker custom network type from macvlan to ipvlan in your Docker settings with Advanced View turned on for testing purposes and see if it‘s the same with ipvpan?

Link to comment
  • 2 weeks later...

Folks,

 

I can't figure out why I'm getting the following error for my config:

 

[2022-11-30 09:16:34] frigate.app INFO : Starting Frigate (0.11.1-2eada21)
*************************************************************
*************************************************************
*** Your config file is not valid! ***
*** Please check the docs at ***
*** https://docs.frigate.video/configuration/index ***
*************************************************************
*************************************************************
*** Config Validation Errors ***
*************************************************************
'ffmpeg'
Traceback (most recent call last):
File "/opt/frigate/frigate/app.py", line 332, in start
self.init_config()
File "/opt/frigate/frigate/app.py", line 82, in init_config
user_config = FrigateConfig.parse_file(config_file)
File "/opt/frigate/frigate/config.py", line 942, in parse_file
return cls.parse_obj(config)
File "pydantic/main.py", line 521, in pydantic.main.BaseModel.parse_obj
File "pydantic/main.py", line 339, in pydantic.main.BaseModel.__init__
File "pydantic/main.py", line 1056, in pydantic.main.validate_model
File "pydantic/fields.py", line 859, in pydantic.fields.ModelField.validate
File "pydantic/fields.py", line 994, in pydantic.fields.ModelField._validate_mapping_like
File "pydantic/fields.py", line 1067, in pydantic.fields.ModelField._validate_singleton
File "pydantic/fields.py", line 857, in pydantic.fields.ModelField.validate
File "pydantic/fields.py", line 1074, in pydantic.fields.ModelField._validate_singleton
File "pydantic/fields.py", line 1121, in pydantic.fields.ModelField._apply_validators
File "pydantic/class_validators.py", line 313, in pydantic.class_validators._generic_validator_basic.lambda12
File "pydantic/main.py", line 704, in pydantic.main.BaseModel.validate
File "/opt/frigate/frigate/config.py", line 584, in __init__
if len(config["ffmpeg"]["inputs"]) == 1:
KeyError: 'ffmpeg'

*************************************************************
*** End Config Validation Errors ***
*************************************************************

 

This is the configuration on a clean install:

 

mqtt:
  host: [ip address]
  user: mqtt
  password: password

detectors:
  coral:
    type: edgetpu
    device: usb

cameras:
  backyard:
#    ffmpeg:
#      input_args:
#        - -avoid_negative_ts
#        - make_zero
#        - fflags
#        - +genpts+discardcorrupt
#        - -flags
#        - low_delay
#        - -strict
#        - experimental
#        - -analyzeduration
#        - 1000M
#        - -probesize
#        - 1000M
#        - -rw_timeout
#        - "5000000"
      inputs: 
        - path: rtsp://admin:[email protected]:554/h264Preview_01_main
          roles:
            - record
        - path: rtsp://admin:[email protected]:554/h264Preview_01_sub
          roles:
            - detect
  detect:
    width: 640
    height: 480
    fps: 7
#    rtmp:
#      enabled: False
    snapshots:
      enabled: True
      bounding_box: True

 

For the life of me, I can't figure out what the "ffmpeg" problem is.

Edited by John4559
Link to comment
10 hours ago, John4559 said:

Folks,

 

I can't figure out why I'm getting the following error for my config:

 

[2022-11-30 09:16:34] frigate.app INFO : Starting Frigate (0.11.1-2eada21)
*************************************************************
*************************************************************
*** Your config file is not valid! ***
*** Please check the docs at ***
*** https://docs.frigate.video/configuration/index ***
*************************************************************
*************************************************************
*** Config Validation Errors ***
*************************************************************
'ffmpeg'
Traceback (most recent call last):
File "/opt/frigate/frigate/app.py", line 332, in start
self.init_config()
File "/opt/frigate/frigate/app.py", line 82, in init_config
user_config = FrigateConfig.parse_file(config_file)
File "/opt/frigate/frigate/config.py", line 942, in parse_file
return cls.parse_obj(config)
File "pydantic/main.py", line 521, in pydantic.main.BaseModel.parse_obj
File "pydantic/main.py", line 339, in pydantic.main.BaseModel.__init__
File "pydantic/main.py", line 1056, in pydantic.main.validate_model
File "pydantic/fields.py", line 859, in pydantic.fields.ModelField.validate
File "pydantic/fields.py", line 994, in pydantic.fields.ModelField._validate_mapping_like
File "pydantic/fields.py", line 1067, in pydantic.fields.ModelField._validate_singleton
File "pydantic/fields.py", line 857, in pydantic.fields.ModelField.validate
File "pydantic/fields.py", line 1074, in pydantic.fields.ModelField._validate_singleton
File "pydantic/fields.py", line 1121, in pydantic.fields.ModelField._apply_validators
File "pydantic/class_validators.py", line 313, in pydantic.class_validators._generic_validator_basic.lambda12
File "pydantic/main.py", line 704, in pydantic.main.BaseModel.validate
File "/opt/frigate/frigate/config.py", line 584, in __init__
if len(config["ffmpeg"]["inputs"]) == 1:
KeyError: 'ffmpeg'

*************************************************************
*** End Config Validation Errors ***
*************************************************************

 

This is the configuration on a clean install:

 

mqtt:
  host: [ip address]
  user: mqtt
  password: password

detectors:
  coral:
    type: edgetpu
    device: usb

cameras:
  backyard:
#    ffmpeg:
#      input_args:
#        - -avoid_negative_ts
#        - make_zero
#        - fflags
#        - +genpts+discardcorrupt
#        - -flags
#        - low_delay
#        - -strict
#        - experimental
#        - -analyzeduration
#        - 1000M
#        - -probesize
#        - 1000M
#        - -rw_timeout
#        - "5000000"
      inputs: 
        - path: rtsp://admin:[email protected]:554/h264Preview_01_main
          roles:
            - record
        - path: rtsp://admin:[email protected]:554/h264Preview_01_sub
          roles:
            - detect
  detect:
    width: 640
    height: 480
    fps: 7
#    rtmp:
#      enabled: False
    snapshots:
      enabled: True
      bounding_box: True

 

For the life of me, I can't figure out what the "ffmpeg" problem is.

I'm not an expert but as far as I know you can't comment out ffmepg since it's required.

Link to comment

I would like the plugin to have a separate database location than its recordings. currently the database is stored wherever you place your media path. e.g. /mnt/user/media/frigate and frigate will create a Clips, Recordings folder and 3 database related files.

 

I am using caching on my unraid array, obviously I don't want all my recordings to be stored on SSD Cache, so I have it set to "Yes: Cache" instead of "prefer cache", when the mover moves the files from the cache to hdd, it also moves the frigate.db file therefore the Hard drive and Parity drive also needs to be spinning all the time for it to be accessible. 

 

I would like to change the default location of the database from /media/frigate to maybe in /appdata/frigate itself?

Link to comment
15 minutes ago, Aasim said:

I would like the plugin to have a separate database location than its recordings. currently the database is stored wherever you place your media path. e.g. /mnt/user/media/frigate and frigate will create a Clips, Recordings folder and 3 database related files.

 

I am using caching on my unraid array, obviously I don't want all my recordings to be stored on SSD Cache, so I have it set to "Yes: Cache" instead of "prefer cache", when the mover moves the files from the cache to hdd, it also moves the frigate.db file therefore the Hard drive and Parity drive also needs to be spinning all the time for it to be accessible. 

 

I would like to change the default location of the database from /media/frigate to maybe in /appdata/frigate itself?

As you can read on the docs, you can define whatever path you want to the DB:

# Optional: Database configuration
database:
# The path to store the SQLite DB (default: shown below)
path: /media/frigate/frigate.db

 

So in this case you can point to the config folder that I assume you have with cache prefer like so:
 

database:
  # The path to store the SQLite DB (default: shown below)
  path:  /config/frigate.db

 

Link to comment
3 hours ago, yayitazale said:

As you can read on the docs, you can define whatever path you want to the DB:

# Optional: Database configuration
database:
# The path to store the SQLite DB (default: shown below)
path: /media/frigate/frigate.db

 

So in this case you can point to the config folder that I assume you have with cache prefer like so:
 

database:
  # The path to store the SQLite DB (default: shown below)
  path:  /config/frigate.db

 

Thank you, I swear when I looked, I couldn't find any options to change the db, anyways I relocated the db and setup the config.yml to point to it, also had to add the path in the container configuration, but everything works now, and I can peacefully let my drives go to standby.

 

3 hours ago, yayitazale said:

Are you sure this is a frigate timestamp and not camera's one?

This issue was also resolved. it turns out that the camera did not have the new gateway configured and therefore was out of sync. 

  • Like 1
Link to comment

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.