This project downloads the current reviewed ASIX Linux driver, verifies the
vendor archive, applies a small downstream patch set, and builds a local Debian
DKMS package named ax-usb-nic-dkms. DKMS rebuilds ax_usb_nic.ko whenever APT
installs a new kernel with matching headers.
The public repository intentionally does not contain the ASIX source archive, extracted vendor source, or generated Debian packages.
The AX88179A exposes a standards-based CDC-NCM configuration. ASIX describes Linux support through the native CDC-NCM driver, and StarTech describes the USB32000SPT as driverless on supported Linux kernels. The out-of-tree ASIX module is therefore an optional vendor-mode alternative, not the only Linux driver.
Installing this package does not switch USB configurations, blacklist native drivers, or replace a live interface. A downstream patch removes the vendor module's exported USB aliases, so it cannot autoload merely because a matching adapter is attached. Vendor mode must be selected separately and explicitly.
| Item | Value |
|---|---|
| ASIX driver | 4.1.0 |
| Release date | 2026-04-24 |
| Vendor claim | kernels up to 6.14.x |
| Archive SHA-256 | fd650b715ee41d2a871e7a1c5ab5c42e01aa5a252cc9a4b4fcdb89f1287482b6 |
| Module | ax_usb_nic.ko |
| CI targets | Debian 12/bookworm, Debian 13/trixie, and Proxmox kernel 7.0; amd64 |
The source of truth is upstream/manifest.json. The
download endpoint is pinned rather than discovered during package installation.
Run these commands on Debian 12 or Debian 13, not on the NAS network interface unless an independent management path is available:
sudo apt update
sudo apt install --yes \
build-essential bzip2 ca-certificates curl debhelper dh-dkms dkms \
dpkg-dev kmod linux-headers-amd64 patch python3
python3 -m unittest discover -s tests -v
bash scripts/test-build.sh
bash scripts/build-deb.shThe downloader accepts only HTTPS URLs on asix.com.tw, verifies the pinned
SHA-256 digest before extraction, rejects unsafe archive paths, and extracts
into the ignored build/ directory. The package is written to dist/.
Install and verify it:
sudo apt install ./dist/ax-usb-nic-dkms_*_all.deb
dkms status
modinfo ax_usb_nicdkms status should report ax-usb-nic/4.1.0+asix1 as installed for each
kernel whose headers are installed. modinfo -F alias ax_usb_nic should produce
no output; this is the deliberate opt-in safeguard.
Keep the Debian kernel and header metapackages installed:
sudo apt install linux-image-amd64 linux-headers-amd64During apt full-upgrade/apt-get dist-upgrade, Debian's kernel hooks invoke
DKMS. No ASIX download occurs at that point. Before rebooting, check that the
new kernel has an installed module:
dkms status
find /lib/modules -path '*/updates/dkms/ax_usb_nic.ko*' -print
bash scripts/verify-kernels.shIf a future kernel changes its module API and the build fails, APT will retain
the DKMS build log under /var/lib/dkms/ax-usb-nic/*/build/make.log. Keep the
previous working kernel in the boot menu until a reviewed compatibility patch
is available.
Debian 12 uses the Linux 6.1 series, while Debian 13 uses the Linux 6.12 series.
Both are within ASIX's stated range for driver 4.1.0. In addition, this project
compiles and installs the DKMS package against the current Proxmox 7.0 header
metapackage. On 2026-08-08 the tested package was
proxmox-headers-7.0.14-11-pve; direct compilation and DKMS installation both
passed without an additional kernel-API patch.
That Proxmox result is a downstream build-compatibility statement, not an ASIX support claim: ASIX still documents only kernels through 6.14.x. It also is not a hardware/runtime test of the StarTech adapter. The scheduled GitHub workflow only reports a newly published ASIX version; a human must inspect its source, license notices, checksum, and patch compatibility before updating the manifest.
Do not enable vendor mode over the only SSH/network path to the machine. Use a physical console, IPMI/iKVM, or another independent NIC. First collect a read-only report:
bash scripts/diagnose.sh | tee ax88179a-diagnostics.txt
bash scripts/configure-driver-mode.sh statusTo configure the next boot for the vendor module:
sudo bash scripts/configure-driver-mode.sh vendor \
--acknowledge-network-disruptionIf an AX88179A interface currently carries the default route, the script stops. Only with confirmed fallback access may that guard be overridden:
sudo bash scripts/configure-driver-mode.sh vendor \
--acknowledge-network-disruption \
--allow-active-uplinkThe helper writes three clearly marked files for the next boot: a USB rule that
selects AX88179A configuration 1, a blacklist for the in-kernel
ax88179_178a module, and a modules-load entry for ax_usb_nic. It does not
unbind, reload, or trigger the live adapter.
Restore native CDC-NCM/in-kernel operation with:
sudo bash scripts/configure-driver-mode.sh native \
--acknowledge-network-disruption
sudo rebootThe helper refuses to overwrite or remove similarly named files unless they contain its management marker.
Proxmox Backup Server 4 is based on Debian 13. The official upgrade guide requires updating PBS 3.4 first, verifying backups, changing both Debian and PBS repositories to trixie, running the supported checker, and completing the upgrade before rebooting. Follow that guide rather than treating this driver project as a PBS upgrade tool.
At minimum, finish the Bookworm-side update, verify
proxmox-backup-server 3.4.2-1 or newer, keep at least 10 GB free on /, back
up /etc/proxmox-backup, and run pbs3to4 --full. Re-run pbs3to4 as issues
are corrected and after the upgrade. Use the exact repository definitions from
the current Proxmox guide.
Installing only proxmox-backup-server on Debian keeps the existing Debian
kernel. The broader proxmox-backup package installs the Proxmox kernel. Linux
7.0 is now the default kernel line for current Debian-Trixie-based Proxmox
releases, including PBS; this repository tests the floating
proxmox-headers-7.0 metapackage in CI. Keep the previous bootable kernel and
an independent management path because successful compilation does not prove
runtime stability on this NAS.
- Proxmox Backup Server 3 to 4 upgrade guide
- PBS installation on Debian and kernel package distinction
- Proxmox Linux 7.0 announcement and PBS rollout
- Debian 13 release notes
The weekly monitor can also be run manually:
bash scripts/check-upstream.shExit status 0 means the manifest is current, 3 means a different version is
available, and 2 means the vendor page could not be fetched or parsed. For an
update:
- Download the new archive into a temporary directory and inspect every file.
- Confirm license notices and the exact vendor support statement.
- Update version, date, endpoint, archive name, source directory, and SHA-256
in
upstream/manifest.json. - Rebase the ordered patches in
patches/series; never add speculative future kernel fixes. - Run both Debian CI jobs and review the resulting DKMS logs.
- Do not commit the downloaded archive, extracted source, or generated package.
The ASIX C and header files in driver 4.1.0 contain GPL version 2 notices with
an "or later" grant, while their SPDX tags use the now-deprecated shorthand
GPL-2.0. However, the ASIX website terms also say that hosted materials may
not be mirrored or distributed without prior written permission, and some
ancillary archive files have no per-file license header.
For that reason, the conservative public-release design is:
- publish this repository's scripts, packaging templates, documentation, and
GPL-compatible patches under
GPL-2.0-or-later; - download the exact vendor archive directly from ASIX on the user's machine;
- do not publish generated
.debfiles, because they contain ASIX source; - preserve every ASIX copyright and license notice in the local package; and
- request written permission from ASIX before mirroring its archive or source.
This is a technical compliance assessment, not legal advice. See
THIRD_PARTY_NOTICES.md for the evidence and remaining
ambiguity.
make fetch download and verify the pinned vendor archive
make check-upstream compare the reviewed version with the ASIX page
make unit run metadata/parser policy tests
make test run unit tests and compile against installed headers
make package produce a local DKMS Debian package
make diagnose print a read-only host/device report
make verify-kernels confirm modules exist for installed header trees
Read CONTRIBUTING.md before submitting changes. Security
issues must be reported privately as described in SECURITY.md,
never through an issue containing vulnerability details. Maintainers preparing
the first public repository should follow docs/PUBLISHING.md.