gs_usb USB-CAN kernel driver from vendored source and installs it for the running kernel. Needed on NVIDIA Jetson / ZED Box machines, whose L4T (tegra) kernels ship without any USB-CAN drivers — the Axol Hub enumerates on USB but no can* network interfaces ever appear.
weak-updates symlink back to that kernel’s in-tree module is recognized as native too. An older or unverifiable driver is replaced conservatively; an attached 16d0:117e CANable also requires its less-common alias, while an unattached one never causes a replacement.
can.setup runs this check automatically, so you normally never need to invoke it directly.The vendored driver is the upstream 5.15
gs_usb with two backports the Axol Hub requires: per-channel dev_id (to tell the left/right arms apart) and bulk endpoint discovery from the USB descriptor (the Hub firmware uses EP1 IN/EP1 OUT, while the stock 5.15 driver hardcodes OUT 2). The module is installed under /lib/modules/$(uname -r)/updates/ and loads automatically on boot. Requires kernel headers and build-essential; both ship with JetPack.The installed backport is built for the exact running kernel release. A normal reboot into that same kernel needs no action. After a JetPack/L4T or other kernel update changes
uname -r, run axol can.driver (or axol can.setup, which calls it) once under the new kernel to rebuild and install the matching module.On a signature-enforcing/Secure Boot host, an unsigned backport is rejected before the active module is changed. Sign it with an enrolled key or use a compatible native kernel. A previously installed, trusted and signed Almond backport from before version markers were added is retained only when its selected/loaded source identity, install path, and complete Almond USB-ID fingerprint all match; arbitrary external modules are not trusted by location alone. If installation or loading fails after a change begins, the previous module and load configuration are restored.
