Skip to content

Conversation

@feranick
Copy link

@feranick feranick commented Aug 4, 2025

  • Remove deprecated call REMAKE_INITRD.
  • Use literal for MODULE_IMPORT_NS.
  • Use "noop_llseek" instead of deprecated "no_llseek".

@markfrancisonly
Copy link

Thank you. In honor of the trixie release a debian install script for those who might need it.

@feranick
Copy link
Author

feranick commented Aug 5, 2025

Thank you. In honor of the trixie release a debian install script for those who might need it.

Alternatively, debs are available in my fork (where this PR is coming from) and can be easily installed:

https://github.com/feranick/gasket-driver/releases/tag/1.0-18.4

@AaShiyana9
Copy link

AaShiyana9 commented Aug 13, 2025

feranick...Thank you so much....I have been struggling to get my Coral PCIE TPU's working on proxmox 9.0.4 kernel 6.14.8-2-pve and finally...finally...your fork provided the gasket-dkms_1.0-18.4_all.deb package that installed successfully and after a reboot...the apex module is loaded as confirmed below. THANK YOU!

┌──(root💀proxmox-halime)-[~]
└─# ls /dev/a*
/dev/apex_0 /dev/apex_1 /dev/autofs

@jarixe
Copy link

jarixe commented Aug 14, 2025

It worked, thank you Feranick!

@FrancesoM
Copy link

FrancesoM commented Sep 2, 2025

Just to help people who are searching for solutions on Raspberry. I had several build issues when intalling gasket through apt-get sudo apt-get install gasket-dkms libedgetpu1-std because the version that apt is pulling is not compatible with the 6.12 headers of the raspberry debian OS I am using (standard arm64 raspberry distro).

I solved by doing the following:

git clone https://github.com/google/gasket-driver.git coral-driver/git-source
cd coral-driver/git-source

# Modify the following, since noble doesn't work with raspberry OS
diff --git a/debian/changelog b/debian/changelog
index 3032563..c6afc2d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-gasket-dkms (1.0-18.4) noble; urgency=medium
+gasket-dkms (1.0-18.4) unstable; urgency=medium

# Build kernel modules
debuild -us -uc -tc -b

cd ..
sudo dpkg -i gasket-dkms_*.deb
sudo depmod -a
sudo modprobe apex

# Add udev rules as per documentation
sudo sh -c "echo 'SUBSYSTEM==\"apex\", MODE=\"0660\", GROUP=\"apex\"' >> /etc/udev/rules.d/65-apex.rules"

sudo groupadd apex

sudo adduser $USER apex

# Now I can see the gasket and apex drivers
lsmod | grep apex
apex                   49152  0
gasket                114688  1 apex

# And for good measure I also have libedgetpu
dpkg -l | grep libedgetpu
ii  libedgetpu1-std:arm64                16.0                                    arm64        Support library for Edge TPU



@Popoff-fr
Copy link

Hi all,
Since upgrading to trixie 13.1, I've been unable to install the driver.
The update removed apex0 from /dev. And when I installed the @feranick version, it didn't work; whereas with trixie 13, the driver installed without any problems.
@feranick, if you have a solution, I'd love to hear it!

@feranick
Copy link
Author

Any log, error message? I don't use Trixie.

Have you tried installing the package again? Any error message?

@Popoff-fr
Copy link

Popoff-fr commented Sep 15, 2025

I use Proxmox (9.0.9).

When i execute :

dpkg -i gasket-dkms_1.0-18.4_all.deb

I get :

(Reading database ... 166525 files and directories currently installed.)
Preparing to unpack gasket-dkms_1.0-18.4_all.deb ...
Module gasket/1.0 for kernel 6.12.41+deb13-amd64 (x86_64):
Before uninstall, this module version was ACTIVE on this kernel.
Deleting /lib/modules/6.12.41+deb13-amd64/updates/dkms/gasket.ko.xz
Deleting /lib/modules/6.12.41+deb13-amd64/updates/dkms/apex.ko.xz
Running depmod..... done.

Module gasket/1.0 for kernel 6.12.43+deb13-amd64 (x86_64):
Before uninstall, this module version was ACTIVE on this kernel.
Deleting /lib/modules/6.12.43+deb13-amd64/updates/dkms/gasket.ko.xz
Deleting /lib/modules/6.12.43+deb13-amd64/updates/dkms/apex.ko.xz
Running depmod..... done.

Module gasket/1.0 for kernel 6.14.8-2-pve (x86_64):
Before uninstall, this module version was ACTIVE on this kernel.
Deleting /lib/modules/6.14.8-2-pve/updates/dkms/gasket.ko.xz
Deleting /lib/modules/6.14.8-2-pve/updates/dkms/apex.ko.xz
Running depmod... done.

Deleting module gasket/1.0 completely from the DKMS tree.
Unpacking gasket-dkms (1.0-18.4) over (1.0-18.4) ...
Setting up gasket-dkms (1.0-18.4) ...
Loading new gasket/1.0 DKMS files...
Building for 6.12.41+deb13-amd64, 6.12.43+deb13-amd64 and 6.14.8-2-pve

Building initial module gasket/1.0 for 6.12.41+deb13-amd64
Sign command: /lib/modules/6.12.41+deb13-amd64/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Building module(s).... done.
Signing module /var/lib/dkms/gasket/1.0/build/gasket.ko
Signing module /var/lib/dkms/gasket/1.0/build/apex.ko
Installing /lib/modules/6.12.41+deb13-amd64/updates/dkms/gasket.ko.xz
Installing /lib/modules/6.12.41+deb13-amd64/updates/dkms/apex.ko.xz
Running depmod.... done.

Building initial module gasket/1.0 for 6.12.43+deb13-amd64
Sign command: /lib/modules/6.12.43+deb13-amd64/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Building module(s).... done.
Signing module /var/lib/dkms/gasket/1.0/build/gasket.ko
Signing module /var/lib/dkms/gasket/1.0/build/apex.ko
Installing /lib/modules/6.12.43+deb13-amd64/updates/dkms/gasket.ko.xz
Installing /lib/modules/6.12.43+deb13-amd64/updates/dkms/apex.ko.xz
Running depmod..... done.

Building initial module gasket/1.0 for 6.14.8-2-pve
Sign command: /lib/modules/6.14.8-2-pve/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Building module(s).... done.
Signing module /var/lib/dkms/gasket/1.0/build/gasket.ko
Signing module /var/lib/dkms/gasket/1.0/build/apex.ko
Installing /lib/modules/6.14.8-2-pve/updates/dkms/gasket.ko
Installing /lib/modules/6.14.8-2-pve/updates/dkms/apex.ko
Running depmod... done.

everything looks good

Except that after a reboot I don't have /dev/apex0

Until now this procedure worked

@Popoff-fr
Copy link

Screenshot 2025-09-15 at 16-41-13 beelink - Proxmox Virtual Environment

@feranick
Copy link
Author

I can see you have several kernels installed. 6.12 is the stable in trixie, but you also have 6.14 which is not. Which one are you actually using as primary (uname -a)? Are yo uusing any specific configuration that is not part of trixie?

@Popoff-fr
Copy link

I'm using version 6.14.11-2-pve, which is the version used by proxmox 9.0.9. I don't know why I have different kernels installed.

@umaks8
Copy link

umaks8 commented Sep 30, 2025

All fine on Proxmox 9.0.10 kernel 6.14.11-3-pve! @feranick thanks a lot 👍

root@pve:~# uname -a
Linux pve 6.14.11-3-pve #1 SMP PREEMPT_DYNAMIC PMX 6.14.11-3 (2025-09-22T10:13Z) x86_64 GNU/Linux

root@pve:~# ls /dev/apex*
/dev/apex_0

@Popoff-fr fyi

@bluearcher-bc
Copy link

Has any one tried this on 6.16? I'm thinking of trying Debian 13 backports 6.16.3

@gusvendegna
Copy link

You are the greatest. Thank you.

@hitoy
Copy link

hitoy commented Nov 17, 2025

@feranick feranick i have tried your last released, but not working for 6.12.58, the lasted longterm kernel

@Popoff-fr
Copy link

@feranick feranick i have tried your last released, but not working for 6.12.58, the lasted longterm kernel

Are you on proxmox?

seuros added a commit to seuros/gasket-driver that referenced this pull request Dec 11, 2025
Changes from google#50 by @feranick:
- Remove .llseek = no_llseek line entirely (cleaner than noop_llseek)
- Add kernel version check for MODULE_IMPORT_NS (6.13+ needs quotes)
- Remove deprecated REMAKE_INITRD from DKMS config

This is more future-proof than the previous sed-based approach.
Works on kernels 6.12-6.17+.

Co-authored-by: Nicola Ferralis <feranick@hotmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants