I’ll write a short guide, also in the other thread, how to make make this udev rule for 6.13 and up those seeking how to add this as well.
Save and exit.
Output
$ udevadm test /sys/devices/system/cpu/cpu0
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.
Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
Trying to open "/usr/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/usr/lib/udev/hwdb.bin"...
=== trie on-disk ===
tool version: 257
file size: 13186944 bytes
header size 80 bytes
strings 2702840 bytes
nodes 10484024 bytes
Loading kernel module index.
Loaded 'libkmod.so.2' via dlopen()
Failed to read $container of PID 1, ignoring: Permission denied
Found container virtualization none.
Using default interface naming scheme 'v257'.
Parsed configuration file "/usr/lib/systemd/network/99-default.link"
Parsed configuration file "/usr/lib/systemd/network/80-vm-vt.link"
Parsed configuration file "/usr/lib/systemd/network/80-namespace-ns.link"
Parsed configuration file "/usr/lib/systemd/network/80-container-vz.link"
Parsed configuration file "/usr/lib/systemd/network/80-container-ve.link"
Parsed configuration file "/usr/lib/systemd/network/80-container-vb.link"
Parsed configuration file "/usr/lib/systemd/network/80-6rd-tunnel.link"
Created link configuration context.
Reading rules file: /usr/lib/udev/rules.d/01-md-raid-creating.rules
Reading rules file: /usr/lib/udev/rules.d/10-dm.rules
Reading rules file: /usr/lib/udev/rules.d/11-dm-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
Reading rules file: /usr/lib/udev/rules.d/39-usbmuxd.rules
Reading rules file: /usr/lib/udev/rules.d/40-gphoto.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb-media-players.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb_modeswitch.rules
Reading rules file: /usr/lib/udev/rules.d/45-i2c-tools.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/60-autosuspend.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-ddcutil-i2c.rules
Reading rules file: /usr/lib/udev/rules.d/60-dmi-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-fido-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-infiniband.rules
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-nfs.rules
Reading rules file: /usr/lib/udev/rules.d/60-openrgb.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-mtd.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /usr/lib/udev/rules.d/60-tpm-udev.rules
Reading rules file: /usr/lib/udev/rules.d/60-upower-battery.rules
Reading rules file: /usr/lib/udev/rules.d/60-vboxdrv.rules
Reading rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-dm.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-zoned.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/64-ext4.rules
Reading rules file: /usr/lib/udev/rules.d/64-md-raid-assembly.rules
Reading rules file: /usr/lib/udev/rules.d/64-xfs.rules
Reading rules file: /usr/lib/udev/rules.d/65-libwacom.rules
Reading rules file: /usr/lib/udev/rules.d/65-persistent-net-nbft.rules
Reading rules file: /usr/lib/udev/rules.d/65-sane.rules
Reading rules file: /usr/lib/udev/rules.d/66-saned.rules
Reading rules file: /usr/lib/udev/rules.d/69-dm-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/69-libftdi.rules
Reading rules file: /usr/lib/udev/rules.d/69-libmtp.rules
Reading rules file: /usr/lib/udev/rules.d/69-md-clustered-confirm-device.rules
Reading rules file: /usr/lib/udev/rules.d/70-camera.rules
Reading rules file: /usr/lib/udev/rules.d/70-flashrom.rules
Reading rules file: /usr/lib/udev/rules.d/70-infrared.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/70-memory.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-nvmf-autoconnect.rules
Reading rules file: /usr/lib/udev/rules.d/70-nvmf-keys.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-printers.rules
Reading rules file: /usr/lib/udev/rules.d/70-steam-input.rules
Reading rules file: /usr/lib/udev/rules.d/70-steam-vr.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-8bitdo-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-alpha_imaging_technology_co-vr.rules
Reading rules file: /usr/lib/udev/rules.d/71-astro_gaming-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-betop-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-google-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-hori-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-htc-vr.rules
Reading rules file: /usr/lib/udev/rules.d/71-logitech-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-mad_catz-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-microsoft-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-nacon-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-nintendo-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-nvidia-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-nvmf-netapp.rules
Reading rules file: /usr/lib/udev/rules.d/71-pdp-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-personal_communication_systems_inc-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-pid_codes-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-powera-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-razer-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/71-sony-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-sony-vr.rules
Reading rules file: /usr/lib/udev/rules.d/71-uinput-dev-early-creation.rules
Reading rules file: /usr/lib/udev/rules.d/71-valve-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/71-valve-vr.rules
Reading rules file: /usr/lib/udev/rules.d/71-zeroplus_technology_corporation-controllers.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-broadmobi-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-cinterion-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-dell-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-dlink-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-ericsson-mbm.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-fibocom-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-foxconn-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-gosuncn-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-haier-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-huawei-net-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-linktop-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-longcheer-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-mtk-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-nokia-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-qcom-soc.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-quectel-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-sierra.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-simtech-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-telit-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-tplink-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-ublox-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-x22x-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-zte-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-libinput-device-groups.rules
Reading rules file: /usr/lib/udev/rules.d/80-mm-candidate.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /usr/lib/udev/rules.d/80-udisks2.rules
Reading rules file: /usr/lib/udev/rules.d/81-net-dhcp.rules
Reading rules file: /usr/lib/udev/rules.d/84-nm-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/85-nm-unmanaged.rules
Reading rules file: /usr/lib/udev/rules.d/85-regulatory.rules
Reading rules file: /usr/lib/udev/rules.d/90-alsa-restore.rules
Reading rules file: /usr/lib/udev/rules.d/90-iocost.rules
Reading rules file: /usr/lib/udev/rules.d/90-libinput-fuzz-override.rules
Reading rules file: /usr/lib/udev/rules.d/90-nm-thunderbolt.rules
Reading rules file: /usr/lib/udev/rules.d/90-pipewire-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/90-vconsole.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-hid.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-wup.rules
Reading rules file: /usr/lib/udev/rules.d/96-e2scrub.rules
Reading rules file: /etc/udev/rules.d/99-cpufreq-scaling-min-freq.rules
Reading rules file: /usr/lib/udev/rules.d/99-fuse.rules
Reading rules file: /usr/lib/udev/rules.d/99-fuse3.rules
Reading rules file: /usr/lib/udev/rules.d/99-nfs.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
Reading rules file: /etc/udev/rules.d/99-usb-sync.rules
cpu0: /usr/lib/udev/rules.d/50-udev-default.rules:20 Importing properties from results of builtin command 'hwdb --subsystem=cpu'
cpu0: hwdb modalias key: "cpu:type:x86,ven0002fam0019mod0021:feature:,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,0017,0018,0019,001A,001C,0020,0021,0022,0023,0024,0025,0026,0027,0028,0029,002B,002C,002D,002E,002F,0030,0031,0034,0036,0037,0038,0039,003A,003B,003D,0064,0068,006E,0070,0074,0075,0076,0078,0079,007A,007C,007D,0080,0081,0083,0089,008C,008D,0093,0094,0095,0096,0097,0099,009A,009B,009C,009D,009E,00C0,00C1,00C2,00C3,00C4,00C5,00C6,00C7,00C8,00C9,00CA,00CC,00CD,00D1,00D6,00D7,00D8,00DA,00DC,00DD,00DE,00E2,00E4,00E6,00E8,00EA,00ED,00F0,00F1,00F2,00F3,00F5,00F6,00F9,00FA,00FB,00FC,010F,0120,0123,0125,0127,0128,0129,012A,012C,012F,0132,0133,0134,0137,0138,013D,0140,0141,0142,0143,0160,0161,0162,0163,0165,016C,016E,016F,0177,0179,017D,018B,01A0,01A1,01A2,01A4,01A6,01A9,01AA,01AC,01AD,01AE,01AF,01B1,01B2,01B3,01B4,01B8,01BC,01BD,01C2,01E0,01E1,01E2,01E3,01E4,01E5,01E6,01E7,01EA,01EB,01EC,01ED,01EF,01F0,01F1,01F3,01F4,01FC,0202,0203,0204,0207,0209,020A,0216,0220,0221,0223,0224,0225,0244,0262,026B,026C,026D,026E,0270,0280,0282,0283,0286,029B,029C"
cpu0: No entry found from hwdb.
cpu0: /usr/lib/udev/rules.d/50-udev-default.rules:20 Failed to run builtin 'hwdb --subsystem=cpu': No data available
cpu0: /usr/lib/udev/rules.d/80-drivers.rules:5 RUN 'kmod load'
cpu0: /etc/udev/rules.d/99-cpufreq-scaling-min-freq.rules:1 RUN '/usr/bin/bash -c 'echo 550000 > /sys/devices/system/cpu/%k/cpufreq/scaling_min_freq''
Properties:
DEVPATH=/devices/system/cpu/cpu0
DRIVER=processor
MODALIAS=cpu:type:x86,ven0002fam0019mod0021:feature:,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,0017,0018,0019,001A,001C,0020,0021,0022,0023,0024,0025,0026,0027,0028,0029,002B,002C,002D,002E,002F,0030,0031,0034,0036,0037,0038,0039,003A,003B,003D,0064,0068,006E,0070,0074,0075,0076,0078,0079,007A,007C,007D,0080,0081,0083,0089,008C,008D,0093,0094,0095,0096,0097,0099,009A,009B,009C,009D,009E,00C0,00C1,00C2,00C3,00C4,00C5,00C6,00C7,00C8,00C9,00CA,00CC,00CD,00D1,00D6,00D7,00D8,00DA,00DC,00DD,00DE,00E2,00E4,00E6,00E8,00EA,00ED,00F0,00F1,00F2,00F3,00F5,00F6,00F9,00FA,00FB,00FC,010F,0120,0123,0125,0127,0128,0129,012A,012C,012F,0132,0133,0134,0137,0138,013D,0140,0141,0142,0143,0160,0161,0162,0163,0165,016C,016E,016F,0177,0179,017D,018B,01A0,01A1,01A2,01A4,01A6,01A9,01AA,01AC,01AD,01AE,01AF,01B1,01B2,01B3,01B4,01B8,01BC,01BD,01C2,01E0,01E1,01E2,01E3,01E4,01E5,01E6,01E7,01EA,01EB,01EC,01ED,01EF,01F0,01F1,01F3,01F4,01FC,0202,0203,0204,0207,0209,020A,0216,0220,0221,0223,0224,0225,0244,0262,026B,026C,026D,026E,0270,0280,0282,0283,0286,029B,029C
ACTION=add
SUBSYSTEM=cpu
USEC_INITIALIZED=643493474
Queued commands:
RUN{program} : /usr/bin/bash -c 'echo 550000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq'
Unload kernel module index.
Unloaded link configuration context.
That is it.
Your Ryzen idle frequencies should be at 550Mhz as it was up to Kernel 6.12.x
.
The udev rule has been disabled and idle frequency is set back to default behavior for Kernels 6.13.x
and up.