aic8800d80-pcie-dkms
maintainer lulitao1997
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a vendor-provided driver zip from a non-whitelisted host, but it is a legitimate source for the hardware vendor's driver; the build process applies public patches and installs only kernel modules and firmware, with no evidence of malicious behavior or unverifiable prebuilt binaries.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a vendor-provided driver zip from a non-whitelisted host, but it is a legitimate source for the hardware vendor's driver; the build process applies public patches and installs only kernel modules and firmware, with no evidence of malicious behavior or unverifiable prebuilt binaries.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:20
"UGREEN-CM958-75615_Linux_Drive_V1.0.zip::https://download.lulian.cn/2026-drive/UGREEN-CM958-75615_Linux_Drive_V1.0.zip"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Litao Lu <lulitao1997@gmail.com>
2
# From this directory: makepkg -sf
3
# Driver + firmware come from the vendor zip (not stored in git); Linux 6.13+ fixes are applied via patch.
4
5
pkgname=aic8800d80-pcie-dkms
6
pkgver=6.4.3.0
7
pkgrel=4
8
9
pkgdesc="DKMS modules for AIC8800D80 PCIe Wi-Fi and companion USB Bluetooth adapters (Ugreen CM958 and similar)"
10
arch=('x86_64')
11
url="https://www.aicsemi.com/"
12
license=('GPL-2.0-or-later')
13
depends=('dkms')
14
conflicts=('aic8800d80-dkms')
15
optdepends=('LINUX-HEADERS: kernel headers for building the module')
16
17
# No install= script: pacman hook from package "dkms" registers modules under /usr/src/*/dkms.conf
18
19
source=(
20
"UGREEN-CM958-75615_Linux_Drive_V1.0.zip::https://download.lulian.cn/2026-drive/UGREEN-CM958-75615_Linux_Drive_V1.0.zip"
21
"0001-linux-6.13-plus-compat.patch"
22
"0002-export-pci-modalias.patch"
23
"0003-normalize-driver-logging.patch"
24
"0004-aic-btusb-bluez.patch"
25
"0005-linux-7.1-compat.patch"
26
"aic8800d80-sleep-hook"
27
"aic8800d80-btusb.conf"
28
"dkms.conf"
29
"aic.rules"
30
)
31
sha256sums=(
32
'c929c2ff22ba0b55e26ecaccb57f04edc11bb84767d31ac068b8087dd4a8c53a'
33
'6e8562dcb93f114bdbf759506967f9504ffc5fc9043b94b616449ba43d1d34ef'
34
'98699379ab9b302c0e5059d6a16e1598ad3ace7cfb15570c988c994c12a0333f'
35
'60744f321ef8f069e10efeb579a20a6114aeefa5796c0da2d9e0e0c91965ff8e'
36
'cf5532c0254f9f0f6ce80b6f0eda15f3103cebfdb6af500c9d38cd04cda0295b'
37
'b78fb00a2afab38213fd705d6500c3a9dd6456fd394c548829d831f28392f88f'
38
'1d34e929c3570cfae9aea2b79d3e143ca89c41ad165457e10c143c2bb74489da'
39
'17abd63c992a6929015475561fb183e955ad1402d25c64cfd1e63a40290fa21b'
40
'88d8e7274bc799eada757fabc87ec90dade6f3e6757075f4ba5fc7537f2acee8'
41
'8f35c85a2fa9435bb9b393c6f51eee990c588b42c6ff0c8cbc0c97f6294e19be'
42
)
43
44
prepare() {
45
bsdtar -C "$srcdir" -xf "$srcdir/UGREEN-CM958-75615_Linux_Drive_V1.0.zip"
46
bsdtar -C "$srcdir" -xf "$srcdir/Linux/aic8800_linux_drvier.zip"
47
bsdtar -C "$srcdir/aic8800_linux_drvier" -xf "$srcdir/aic8800_linux_drvier/aic_btusb.zip"
48
sed -i 's/\r$//' "$srcdir/aic8800_linux_drvier/aic_btusb/aic_btusb.h"
49
patch -d "$srcdir/aic8800_linux_drvier" -p1 -i "$srcdir/0001-linux-6.13-plus-compat.patch"
50
patch -d "$srcdir/aic8800_linux_drvier" -p1 -i "$srcdir/0002-export-pci-modalias.patch"
51
patch -d "$srcdir/aic8800_linux_drvier" -p1 -i "$srcdir/0003-normalize-driver-logging.patch"
52
patch -d "$srcdir/aic8800_linux_drvier" -p1 -i "$srcdir/0004-aic-btusb-bluez.patch"
53
patch -d "$srcdir/aic8800_linux_drvier" -p1 -i "$srcdir/0005-linux-7.1-compat.patch"
54
}
55
56
package() {
57
local _drv="${srcdir}/aic8800_linux_drvier/drivers/aic8800/aic8800_fdrv"
58
local _bt="${srcdir}/aic8800_linux_drvier/aic_btusb"
59
local _dst="${pkgdir}/usr/src/aic8800-${pkgver}"
60
61
install -dm755 "${_dst}"
62
63
while IFS= read -r -d '' f; do
64
local bn
65
bn=$(basename "$f")
66
case "$bn" in
67
*.o|*.ko|*.mod|*.mod.c|*.cmd|*.orig|*.rej|modules.order|Module.symvers|build.log) continue ;;
68
esac
69
install -Dm644 "$f" "${_dst}/${bn}"
70
done < <(find "${_drv}" -maxdepth 1 -type f -print0)
71
72
install -dm755 "${_dst}/aic_btusb"
73
while IFS= read -r -d '' f; do
74
local rel
75
rel="${f#${_bt}/}"
76
case "$rel" in
77
*.o|*.ko|*.mod|*.mod.c|*.cmd|*.orig|*.rej|modules.order|Module.symvers|build.log) continue ;;
78
esac
79
install -Dm644 "$f" "${_dst}/aic_btusb/${rel}"
80
done < <(find "${_bt}" -maxdepth 1 -type f -print0)
81
82
sed "s/^PACKAGE_VERSION=.*/PACKAGE_VERSION=\"${pkgver}\"/" "${srcdir}/dkms.conf" \
83
> "${_dst}/dkms.conf"
84
chmod 644 "${_dst}/dkms.conf"
85
86
install -dm755 "${pkgdir}/usr/lib/udev/rules.d"
87
install -Dm644 "${srcdir}/aic.rules" \
88
"${pkgdir}/usr/lib/udev/rules.d/70-aic8800d80.rules"
89
install -dm755 "${pkgdir}/usr/lib/modprobe.d"
90
install -Dm644 "${srcdir}/aic8800d80-btusb.conf" \
91
"${pkgdir}/usr/lib/modprobe.d/aic8800d80-btusb.conf"
92
install -dm755 "${pkgdir}/usr/lib/systemd/system-sleep"
93
install -Dm755 "${srcdir}/aic8800d80-sleep-hook" \
94
"${pkgdir}/usr/lib/systemd/system-sleep/aic8800d80"
95
96
local _fw="${srcdir}/aic8800_linux_drvier/fw/aic8800D80"
97
if [[ -d "${_fw}" ]]; then
98
install -dm755 "${pkgdir}/usr/lib/firmware/aic8800D80"
99
install -Dm644 "${_fw}/"* -t "${pkgdir}/usr/lib/firmware/aic8800D80/"
100
fi
101
}
102
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |