I built this page to consolidate everything I know about this specific model. I found it frustratingly difficult to find all of this information in one place, so I paid it forward.
[Excerpts Below]
USB-C
The USBC is fully supported, but there is a bug that requires loading the kernel modules in reverse order to get it working.
rmmod cros-ec-typec; rmmod intel-pmc-mux # unload these modules
modprobe intel-pmc-mux; modprobe cros-ec-typec # load in reverse order
This can be automated with a systemd service. Create this file at /etc/systemd/system/usb4-fix.service
:
[Unit]
Description=Fix USB4 module loading issue
After=multi-user.target
[Service]
Type=oneshot
ExecStartPre=/usr/sbin/rmmod cros-ec-typec
ExecStartPre=/usr/sbin/rmmod intel-pmc-mux
ExecStart=/usr/sbin/modprobe intel-pmc-mux
ExecStart=/usr/sbin/modprobe cros-ec-typec
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Reload systemd to recognize the new service, and enable it on startup.
sudo systemctl daemon-reload
sudo systemctl enable usb4-fix.service
# you can test it now if you like
#sudo systemctl start usb4-fix.service
Reboot to test; USBC should start automatically
Keyboard Layout
Using keyd I remapped:
- the number keypad to the numeric values (as if NUMLOCK was on)
- the F keys to F1-F11 (there is no F12)
- Alt modifies the top row to their alternate functions (similar to Fn key)
- the Super key to Caps Lock
- Alt-Super is now Super
[ids]
*
[main]
# Map number pad keys to their standard characters, regardless of NumLock state
kp0 = 0
kp1 = 1
kp2 = 2
kp3 = 3
kp4 = 4
kp5 = 5
kp6 = 6
kp7 = 7
kp8 = 8
kp9 = 9
kpdot = .
leftmeta = capslock
rightalt = layer(altlayer)
back = f1
refresh = f2
zoom = f3
scale = f4
sysrq = f5
brightnessdown = f6
brightnessup = f7
micmute = f8
mute = f9
volumedown = f10
volumeup = f11
#power = f12 #power is a reserved key
[altlayer]
leftmeta = layer(meta)
back = back
refresh = refresh
zoom = zoom
scale = scale
sysrq = sysrq
brightnessdown = brightnessdown
brightnessup = brightnessup
micmute = micmute
mute = mute
volumedown = volumedown
volumeup = volumeup
pageup = f12
Onboard Audio
This TANIKS board is Alder Lake based (adl).
To get audio working we are going to need to install and link some drivers. There is a script to do this on multiple distros:
This peculiar dev WeirdTreeThing mentions in his script that he won’t support Ubuntu and that it doesn’t work. However I have found that this is not factual. If you comment out the part of his code that excepts Ubuntu, it works fine.
Workaround for Ubuntu 24
On my Ubuntu 24 build, I commented out lines 338 & 339 where the ubuntu() function is called, the script will just install the necessary drivers. I suspect that this will work with Ubuntu 23 as well. Don’t do this with any of the supported distros.
```
# if distro.lower().__contains__("ubuntu_codename") and not distro.lower().__contains__("pop"):
# ubuntu()
print_header("Audio installed successfully! Reboot to finish setup.")
```
working audio on Ubuntu 24