Surface Book 2 has SSAM device d01c03t01i00f01 instead of d01c05t01i01f01. surface_fan module loads but creates no hwmon device
uname -r: 6.19.8-arch1-3-surface
SSAM device: d01c03t01i00f01
Expected: d01c05t01i01f01
Result: No fan hwmon, no thermal control
╭─user@garuda in ~/Projects via v3.14.7 took 0s
[[]|[🔴]] => 🔴ERROR × modinfo surface_fan 2>/dev/null
filename: /lib/modules/6.19.8-arch1-3-surface/kernel/drivers/hwmon/surface_fan.ko.zst
license: GPL
description: Fan Driver for Surface System Aggregator Module
author: Ivor Wanders ivor@iwanders.net
srcversion: C7724B51792D0F150344A74
alias: ssam:d01c05t01i01f01
depends: surface_aggregator
intree: Y
name: surface_fan
retpoline: Y
vermagic: 6.19.8-arch1-3-surface SMP preempt mod_unload
sig_id: PKCS#7
signer: Build time autogenerated kernel key
sig_key: 49:F2:4D:21:B0:3B:16:62:55:38:B5:F7:DD:AB:10:2B:E0:45:29:BF
sig_hashalgo: sha512
signature: 30:65:02:30:40:27:F1:D5:B6:11:7A:35:DA:0F:1E:55:72:34:22:00:
D5:38:BC:AE:6C:4A:87:14:60:E2:C7:D1:B8:B0:35:26:30:50:21:06:
BB:93:66:53:B7:A7:52:91:CA:83:9F:EB:02:31:00:89:27:99:DA:DB:
61:4A:44:F6:FC:C3:C9:FC:54:09:AB:AD:29:B4:BC:91:D0:2E:B3:58:
3C:E3:50:AE:DC:3B:8E:88:F6:F0:E5:72:11:27:69:3B:B0:06:58:4D:
86:41:2E
╭─user@garuda in ~/Projects via v3.14.7 took 0s
╰─λ sudo modprobe surface_fan
[sudo] password for user:
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 3s
╰─λ lsmod | grep surface_fan
surface_fan 12288 0
surface_aggregator 196608 5 surface_acpi_notify,surface_fan,surface_dtx,surface_platform_profile,surface_aggregator_registry
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 0s
╰─λ ls /sys/class/hwmon/
lrwxrwxrwx - root 25 Aug 04:37 hwmon0 -> ../../devices/platform/ACPI0003:00/power_supply/ADP1/hwmon0
lrwxrwxrwx - root 25 Aug 04:37 hwmon1 -> ../../devices/virtual/thermal/thermal_zone0/hwmon1
lrwxrwxrwx - root 25 Aug 04:37 hwmon2 -> ../../devices/pci0000:00/0000:00:1d.0/0000:03:00.0/nvme/nvme0/hwmon2
lrwxrwxrwx - root 25 Aug 04:37 hwmon3 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT1/hwmon3
lrwxrwxrwx - root 25 Aug 04:37 hwmon4 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:01/power_supply/BAT2/hwmon4
lrwxrwxrwx - root 25 Aug 04:37 hwmon5 -> ../../devices/virtual/thermal/thermal_zone15/hwmon5
lrwxrwxrwx - root 25 Aug 04:37 hwmon6 -> ../../devices/platform/coretemp.0/hwmon/hwmon6
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 0s
╰─λ cat /sys/class/hwmon/hwmon*/name 2>/dev/null
File: /sys/class/hwmon/hwmon0/name
ADP1
File: /sys/class/hwmon/hwmon1/name
acpitz
File: /sys/class/hwmon/hwmon2/name
nvme
File: /sys/class/hwmon/hwmon3/name
BAT1
File: /sys/class/hwmon/hwmon4/name
BAT2
File: /sys/class/hwmon/hwmon5/name
pch_skylake
File: /sys/class/hwmon/hwmon6/name
coretemp
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 0s
╰─λ find /sys -name "fan" -path "surface" 2>/dev/null
/sys/bus/surface_aggregator/drivers/surface_fan
/sys/module/surface_aggregator/holders/surface_fan
/sys/module/surface_fan
/sys/module/surface_fan/drivers/surface_aggregator:surface_fan
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 0s
[🔴] × find /sys/bus/surface_aggregator/devices/ -type l | xargs -I{} sh -c 'echo "{}: $(cat {}/modalias 2>/dev/null) $(cat {}/name 2>/dev/null)"'
/sys/bus/surface_aggregator/devices/01:03:01:00:01: ssam:d01c03t01i00f01
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 0s
╰─λ grep -r "d01c05t01i01f01" /sys/bus/surface_aggregator/ 2>/dev/null
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 0s
[🔴] × sudo dmesg | grep -i "surface_fan|fan" | tail -20
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 0s
[[]|[🔴]|[]] => ╰─λ
sb2-fan-logs-20260825-045053.tar.gz
Surface Book 2 has SSAM device d01c03t01i00f01 instead of d01c05t01i01f01. surface_fan module loads but creates no hwmon device
uname -r: 6.19.8-arch1-3-surface
SSAM device: d01c03t01i00f01
Expected: d01c05t01i01f01
Result: No fan hwmon, no thermal control
╭─user@garuda in ~/Projects via v3.14.7 took 0s
[[]|[🔴]] => 🔴ERROR × modinfo surface_fan 2>/dev/null
filename: /lib/modules/6.19.8-arch1-3-surface/kernel/drivers/hwmon/surface_fan.ko.zst
license: GPL
description: Fan Driver for Surface System Aggregator Module
author: Ivor Wanders ivor@iwanders.net
srcversion: C7724B51792D0F150344A74
alias: ssam:d01c05t01i01f01
depends: surface_aggregator
intree: Y
name: surface_fan
retpoline: Y
vermagic: 6.19.8-arch1-3-surface SMP preempt mod_unload
sig_id: PKCS#7
signer: Build time autogenerated kernel key
sig_key: 49:F2:4D:21:B0:3B:16:62:55:38:B5:F7:DD:AB:10:2B:E0:45:29:BF
sig_hashalgo: sha512
signature: 30:65:02:30:40:27:F1:D5:B6:11:7A:35:DA:0F:1E:55:72:34:22:00:
D5:38:BC:AE:6C:4A:87:14:60:E2:C7:D1:B8:B0:35:26:30:50:21:06:
BB:93:66:53:B7:A7:52:91:CA:83:9F:EB:02:31:00:89:27:99:DA:DB:
61:4A:44:F6:FC:C3:C9:FC:54:09:AB:AD:29:B4:BC:91:D0:2E:B3:58:
3C:E3:50:AE:DC:3B:8E:88:F6:F0:E5:72:11:27:69:3B:B0:06:58:4D:
86:41:2E
╭─user@garuda in ~/Projects via v3.14.7 took 0s
╰─λ sudo modprobe surface_fan
[sudo] password for user:
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 3s
╰─λ lsmod | grep surface_fan
surface_fan 12288 0
surface_aggregator 196608 5 surface_acpi_notify,surface_fan,surface_dtx,surface_platform_profile,surface_aggregator_registry
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 0s
╰─λ ls /sys/class/hwmon/
lrwxrwxrwx - root 25 Aug 04:37 hwmon0 -> ../../devices/platform/ACPI0003:00/power_supply/ADP1/hwmon0
lrwxrwxrwx - root 25 Aug 04:37 hwmon1 -> ../../devices/virtual/thermal/thermal_zone0/hwmon1
lrwxrwxrwx - root 25 Aug 04:37 hwmon2 -> ../../devices/pci0000:00/0000:00:1d.0/0000:03:00.0/nvme/nvme0/hwmon2
lrwxrwxrwx - root 25 Aug 04:37 hwmon3 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT1/hwmon3
lrwxrwxrwx - root 25 Aug 04:37 hwmon4 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:01/power_supply/BAT2/hwmon4
lrwxrwxrwx - root 25 Aug 04:37 hwmon5 -> ../../devices/virtual/thermal/thermal_zone15/hwmon5
lrwxrwxrwx - root 25 Aug 04:37 hwmon6 -> ../../devices/platform/coretemp.0/hwmon/hwmon6
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 0s
╰─λ cat /sys/class/hwmon/hwmon*/name 2>/dev/null
File: /sys/class/hwmon/hwmon0/name
ADP1
File: /sys/class/hwmon/hwmon1/name
acpitz
File: /sys/class/hwmon/hwmon2/name
nvme
File: /sys/class/hwmon/hwmon3/name
BAT1
File: /sys/class/hwmon/hwmon4/name
BAT2
File: /sys/class/hwmon/hwmon5/name
pch_skylake
File: /sys/class/hwmon/hwmon6/name
coretemp
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 0s
╰─λ find /sys -name "fan" -path "surface" 2>/dev/null
/sys/bus/surface_aggregator/drivers/surface_fan
/sys/module/surface_aggregator/holders/surface_fan
/sys/module/surface_fan
/sys/module/surface_fan/drivers/surface_aggregator:surface_fan
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 0s$(cat {}/modalias 2>/dev/null) $ (cat {}/name 2>/dev/null)"'
[🔴] × find /sys/bus/surface_aggregator/devices/ -type l | xargs -I{} sh -c 'echo "{}:
/sys/bus/surface_aggregator/devices/01:03:01:00:01: ssam:d01c03t01i00f01
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 0s
╰─λ grep -r "d01c05t01i01f01" /sys/bus/surface_aggregator/ 2>/dev/null
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 0s
[🔴] × sudo dmesg | grep -i "surface_fan|fan" | tail -20
╭─user@garuda in ~/Projects via v3.14.7 as 🧙 took 0s
[[]|[🔴]|[]] => ╰─λ
sb2-fan-logs-20260825-045053.tar.gz