Installing Frigate Dual Edge TPU Help

ccigas

New Member
Apr 20, 2023
14
0
1
Hello everyone, I am attempting to install the Dual Edge TPU from Google. I am able to see the two TPUs in lspci but I have no /dev/apex*. So I went to install the drivers from their config page. I quickly found out that this was going to take a while.

Followed the instructions until I got to "apt install gasket-dkms libedgetpu1-std". The gasket gave me issues. I updated to the latest kernel in "6.8.8-2-pve" and attempted this all again and had a ton of issues. At first it was the gpg key and after I fixed that I ran into this following error.

Code:
Consult /var/lib/dkms/gasket/1.0/build/make.log for more information.
Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.
dkms: autoinstall for kernel: 6.8.12-2-pve failed!
run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/proxmox-kernel-6.8.12-2-pve-signed.postinst line 20.
dpkg: error processing package proxmox-kernel-6.8.12-2-pve-signed (--configure):
 installed proxmox-kernel-6.8.12-2-pve-signed package post-installation script subprocess returned error exit status 2
dpkg: dependency problems prevent configuration of proxmox-kernel-6.8:
 proxmox-kernel-6.8 depends on proxmox-kernel-6.8.12-2-pve-signed | proxmox-kernel-6.8.12-2-pve; however:
  Package proxmox-kernel-6.8.12-2-pve-signed is not configured yet.
  Package proxmox-kernel-6.8.12-2-pve is not installed.
  Package proxmox-kernel-6.8.12-2-pve-signed which provides proxmox-kernel-6.8.12-2-pve is not configured yet.

dpkg: error processing package proxmox-kernel-6.8 (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 gasket-dkms
 proxmox-kernel-6.8.12-2-pve-signed
 proxmox-kernel-6.8
E: Sub-process /usr/bin/dpkg returned an error code (1)

Not entirely sure how to resolve these errors. The make.log also says this.

Code:
root@proxmox1:~# cat /var/lib/dkms/gasket/1.0/build/make.log
DKMS make.log for gasket-1.0 for kernel 6.8.12-2-pve (x86_64)
Mon Sep 23 10:11:14 PM EDT 2024
make: Entering directory '/usr/src/linux-headers-6.8.12-2-pve'
  CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_core.o
  CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_ioctl.o
  CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_interrupt.o
  CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_page_table.o
  CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_sysfs.o
  CC [M]  /var/lib/dkms/gasket/1.0/build/apex_driver.o
/var/lib/dkms/gasket/1.0/build/gasket_interrupt.c: In function ‘gasket_handle_interrupt’:
/var/lib/dkms/gasket/1.0/build/gasket_interrupt.c:161:17: error: too many arguments to function ‘eventfd_signal’
  161 |                 eventfd_signal(ctx, 1);
      |                 ^~~~~~~~~~~~~~
In file included from /var/lib/dkms/gasket/1.0/build/gasket_interrupt.h:11,
                 from /var/lib/dkms/gasket/1.0/build/gasket_interrupt.c:4:
./include/linux/eventfd.h:87:20: note: declared here
   87 | static inline void eventfd_signal(struct eventfd_ctx *ctx)
      |                    ^~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/gasket/1.0/build/gasket_interrupt.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/var/lib/dkms/gasket/1.0/build/gasket_core.c: In function ‘gasket_register_device’:
/var/lib/dkms/gasket/1.0/build/gasket_core.c:1841:41: error: passing argument 1 of ‘class_create’ from incompatible pointer type [-Werror=incompatible-pointer-types]
 1841 |                 class_create(driver_desc->module, driver_desc->name);
      |                              ~~~~~~~~~~~^~~~~~~~
      |                                         |
      |                                         struct module *
In file included from ./include/linux/device.h:31,
                 from ./include/linux/cdev.h:8,
                 from /var/lib/dkms/gasket/1.0/build/gasket_core.h:11,
                 from /var/lib/dkms/gasket/1.0/build/gasket_core.c:12:
./include/linux/device/class.h:228:54: note: expected ‘const char *’ but argument is of type ‘struct module *’
  228 | struct class * __must_check class_create(const char *name);
      |                                          ~~~~~~~~~~~~^~~~
/var/lib/dkms/gasket/1.0/build/gasket_core.c:1841:17: error: too many arguments to function ‘class_create’
 1841 |                 class_create(driver_desc->module, driver_desc->name);
      |                 ^~~~~~~~~~~~
./include/linux/device/class.h:228:29: note: declared here
  228 | struct class * __must_check class_create(const char *name);
      |                             ^~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/gasket/1.0/build/gasket_core.o] Error 1
make[1]: *** [/usr/src/linux-headers-6.8.12-2-pve/Makefile:1925: /var/lib/dkms/gasket/1.0/build] Error 2
make: *** [Makefile:240: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-6.8.12-2-pve'

My USB Coral is still working but I am really hoping to get this working. Can anyone help out?
 
It's the exact same issue I have. Any luck? I have one node working, but that was months back, and I can't see anything noticeably different tonight
 
It's the exact same issue I have. Any luck? I have one node working, but that was months back, and I can't see anything noticeably different tonight
Nope, haven’t had the chance to try anything since posting. Hoping someone here can help.
 
Looks like the issue is that the driver is not yet updated for use with kernel version 6.8, see [1] [2]

[1] https://github.com/google/gasket-driver/issues/23
[2] https://github.com/google/gasket-driver/issues/24
This did the trick! Thanks!

For anyone having issues, I had to remove gasket-dkms package all together. Re-run my updates since the proxmox kernel update was not fixed yet. Then I cloned the github, cd into the dir and ran the command on the readme of the github. Worked like a charm.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!