Compare commits

..

No commits in common. "c9055ea941caf59caf0c6d0cc4f0d441e393f1bb" and "21e4b36c7c251a4f503db2c5701ea26b91a9cfed" have entirely different histories.

5 changed files with 23 additions and 101 deletions

View File

@ -2,19 +2,15 @@
# Update package list and install dependencies
sudo apt-get update
sudo apt-get install -y build-essential cmake git wget linux-headers-$(uname -r)
sudo apt-get install -y build-essential cmake git wget
hailo_version="4.21.0"
arch=$(uname -m)
if [[ $arch == "aarch64" ]]; then
source /etc/os-release
os_codename=$VERSION_CODENAME
echo "Detected OS codename: $os_codename"
fi
if [ "$os_codename" = "trixie" ]; then
sudo apt install -y dkms
if [[ $arch == "x86_64" ]]; then
sudo apt install -y linux-headers-$(uname -r);
else
sudo apt install -y linux-modules-extra-$(uname -r);
fi
# Clone the HailoRT driver repository
@ -51,4 +47,3 @@ sudo udevadm control --reload-rules && sudo udevadm trigger
echo "HailoRT driver installation complete."
echo "reboot your system to load the firmware!"
echo "Driver version: $(modinfo -F version hailo_pci)"

View File

@ -112,65 +112,42 @@ The Hailo-8 and Hailo-8L AI accelerators are available in both M.2 and HAT form
:::warning
On Raspberry Pi OS **Bookworm**, the kernel includes an older version of the Hailo driver that is incompatible with Frigate. You **must** follow the installation steps below to install the correct driver version, and you **must** disable the built-in kernel driver as described in step 1.
On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the kernel. It is installed via DKMS, and the conflict described below does not apply. You can simply run the installation script.
The Raspberry Pi kernel includes an older version of the Hailo driver that is incompatible with Frigate. You **must** follow the installation steps below to install the correct driver version, and you **must** disable the built-in kernel driver as described in step 1.
:::
1. **Disable the built-in Hailo driver (Raspberry Pi Bookworm OS only)**:
1. **Disable the built-in Hailo driver (Raspberry Pi only)**:
:::note
If you are **not** using a Raspberry Pi with **Bookworm OS**, skip this step and proceed directly to step 2.
If you are using Raspberry Pi with **Trixie OS**, also skip this step and proceed directly to step 2.
If you are **not** using a Raspberry Pi, skip this step and proceed directly to step 2.
:::
First, check if the driver is currently loaded:
If you are using a Raspberry Pi, you need to blacklist the built-in kernel Hailo driver to prevent conflicts. First, check if the driver is currently loaded:
```bash
lsmod | grep hailo
```
If it shows `hailo_pci`, unload it:
```bash
sudo modprobe -r hailo_pci
```
Then locate the built-in kernel driver and rename it so it cannot be loaded.
Renaming allows the original driver to be restored later if needed.
First, locate the currently installed kernel module:
```bash
modinfo -n hailo_pci
sudo rmmod hailo_pci
```
Example output:
```
/lib/modules/6.6.31+rpt-rpi-2712/kernel/drivers/media/pci/hailo/hailo_pci.ko.xz
```
Save the module path to a variable:
Now blacklist the driver to prevent it from loading on boot:
```bash
BUILTIN=$(modinfo -n hailo_pci)
echo "blacklist hailo_pci" | sudo tee /etc/modprobe.d/blacklist-hailo_pci.conf
```
And rename the module by appending .bak:
Update initramfs to ensure the blacklist takes effect:
```bash
sudo mv "$BUILTIN" "${BUILTIN}.bak"
sudo update-initramfs -u
```
Now refresh the kernel module map so the system recognizes the change:
```bash
sudo depmod -a
```
Reboot your Raspberry Pi:
```bash
@ -183,9 +160,9 @@ On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the ke
lsmod | grep hailo
```
This command should return no results.
This command should return no results. If it still shows `hailo_pci`, the blacklist did not take effect properly and you may need to check for other Hailo packages installed via apt that are loading the driver.
3. **Run the installation script**:
2. **Run the installation script**:
Download the installation script:
@ -213,7 +190,7 @@ On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the ke
- Download and install the required firmware
- Set up udev rules
4. **Reboot your system**:
3. **Reboot your system**:
After the script completes successfully, reboot to load the firmware:
@ -221,7 +198,7 @@ On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the ke
sudo reboot
```
5. **Verify the installation**:
4. **Verify the installation**:
After rebooting, verify that the Hailo device is available:
@ -235,38 +212,6 @@ On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the ke
lsmod | grep hailo_pci
```
Verify the driver version:
```bash
cat /sys/module/hailo_pci/version
```
Verify that the firmware was installed correctly:
```bash
ls -l /lib/firmware/hailo/hailo8_fw.bin
```
**Optional: Fix PCIe descriptor page size error**
If you encounter the following error:
```
[HailoRT] [error] CHECK failed - max_desc_page_size given 16384 is bigger than hw max desc page size 4096
```
Create a configuration file to force the correct descriptor page size:
```bash
echo 'options hailo_pci force_desc_page_size=4096' | sudo tee /etc/modprobe.d/hailo_pci.conf
```
and reboot:
```bash
sudo reboot
```
#### Setup
To set up Frigate, follow the default installation instructions, for example: `ghcr.io/blakeblackshear/frigate:stable`

View File

@ -15,16 +15,6 @@ logger = logging.getLogger(__name__)
def should_update_db(prev_event: Event, current_event: Event) -> bool:
"""If current_event has updated fields and (clip or snapshot)."""
# If event is ending and was previously saved, always update to set end_time
# This ensures events are properly ended even when alerts/detections are disabled
# mid-event (which can cause has_clip/has_snapshot to become False)
if (
prev_event["end_time"] is None
and current_event["end_time"] is not None
and (prev_event["has_clip"] or prev_event["has_snapshot"])
):
return True
if current_event["has_clip"] or current_event["has_snapshot"]:
# if this is the first time has_clip or has_snapshot turned true
if not prev_event["has_clip"] and not prev_event["has_snapshot"]:

View File

@ -468,11 +468,6 @@
}
},
"polygonDrawing": {
"type": {
"zone": "zone",
"motion_mask": "motion mask",
"object_mask": "object mask"
},
"removeLastPoint": "Remove last point",
"reset": {
"label": "Clear all points"

View File

@ -283,10 +283,7 @@ export default function PolygonItem({
<Trans
ns="views/settings"
values={{
type: t(
`masksAndZones.form.polygonDrawing.type.${polygon.type}`,
{ ns: "views/settings" },
),
type: polygon.type.replace("_", " "),
name: polygon.friendly_name ?? polygon.name,
}}
>