commit c06a3f7f92de1fa828b8cf25332e447eab41cd1a Author: NeilClack Date: Mon Jul 27 14:13:58 2026 -0500 init new repo diff --git a/.forgejo/workflows/build-dev.yml b/.forgejo/workflows/build-dev.yml new file mode 100644 index 0000000..a8d96e1 --- /dev/null +++ b/.forgejo/workflows/build-dev.yml @@ -0,0 +1,67 @@ +# This workflow generates dev-iso any time RadiantWave is updated. +# When RadiantWave recieves a PR, a workflow is triggered that builds +# the application. If that succeeds, then this workflow is triggered +# to build the dev-iso for testing on a dev machine. The iso image is +# spit into /ssd/radiantwave/builds/ and is timestamped. +# +# This action is not meant to be run any time code is pushed to +# KioskConfig, instead, it is strictly a "response" action. +# +# Remember: KioskConfig only has the main branch, because +# the split between production and development happens +# at the system closure level, not at the branch level of +# this repository. +on: + workflow_dispatch: + repository_dispatch: + types: + - radiantwave-dev-built +jobs: + update-and-build: + runs-on: neils-server-runner + steps: + - name: Checkout + uses: actions/checkout@v6 + with: + token: ${{ secrets.TOKEN }} + + - name: Update rhemawave-dev + run: | + . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh + nix flake update rhemawave-dev + + # This builds the system closure + - name: Build dev VM + run: | + . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh + nix build -L .#nixosConfigurations.rhemawavekiosk-dev.config.system.build.toplevel + + # If the closure builds, it's valid, even if incorrect and something is wrong. + # That's why we build the ISO next, even for the dev branch, for testing + - name: Build dev ISO + run: | + . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh + nix build -L .#nixosConfigurations.dev-iso.config.system.build.isoImage + cp -rL result/iso/*.iso /ssd/radiantwave/build/radiantwave-kiosk-iso-dev-$(date +%Y%m%d-%H%M%S) + + - name: Commit updated flake.lock + run: | + git config user.email "ci@radiantwavetech.com" + git config user.name "RadiantWave CI" + git remote set-url origin https://oauth2:${{ secrets.FORGEJO_TOKEN }}@codeberg.org/RhemaWave-Technologies/KioskConfig.git + git add flake.lock + git commit -m "chore: update rhemawave-dev to latest dev" || echo "Nothing to commit" + git push + + - name: Notify + if: always() + uses: https://github.com/dawidd6/action-send-mail@v3 + with: + server_address: smtp.gmail.com + server_port: 465 + username: ${{ secrets.MAIL_USERNAME }} + password: ${{ secrets.MAIL_PASSWORD }} + subject: "${{ job.status == 'success' && '✅' || '❌' }} KioskConfig dev build ${{ job.status }}" + to: cnclack@pm.me + from: ci@radiantwavetech.com + body: "KioskConfig dev build ${{ job.status }} — rhemawave-dev updated and arstifacts copied to /ssd/radiantwave/build/" diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..49d9794 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +result +result-* +build/out/ +.direnv +wifi-psk.txt +*.qcow2 diff --git a/.sops.yaml b/.sops.yaml new file mode 100644 index 0000000..b6b0d12 --- /dev/null +++ b/.sops.yaml @@ -0,0 +1,7 @@ +keys: + - &primary age1t2wpzv5rj8uqcfhev3zw4zkhckayumfahjvqwamjrn9724u6vf6qp2ayld +creation_rules: + - path_regex: secrets.yaml$ + key_groups: + - age: + - *primary diff --git a/14rvk.json b/14rvk.json new file mode 100644 index 0000000..4821bb6 --- /dev/null +++ b/14rvk.json @@ -0,0 +1,4300 @@ +{ + "version": 1, + "system": "x86_64-linux", + "virtualisation": "none", + "uefi": { + "supported": true, + "platform_size": 64 + }, + "hardware": { + "bios": { + "apm_info": { + "supported": false, + "enabled": false, + "version": 0, + "sub_version": 0, + "bios_flags": 0 + }, + "vbe_info": { + "version": 0, + "video_memory": 0 + }, + "pnp": false, + "pnp_id": 0, + "lba_support": false, + "low_memory_size": 0, + "smbios_version": 774 + }, + "bluetooth": [ + { + "index": 42, + "attached_to": 40, + "class_list": [ + "usb", + "bluetooth" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0115", + "name": "Bluetooth Device", + "value": 277 + }, + "vendor": { + "hex": "8087", + "value": 32903 + }, + "device": { + "hex": "0033", + "value": 51 + }, + "model": "Bluetooth Device", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.0", + "sysfs_bus_id": "3-10:1.0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00e0", + "name": "wireless", + "value": 224 + }, + "device_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "device_protocol": 1, + "interface_class": { + "hex": "00e0", + "name": "wireless", + "value": 224 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "btusb", + "driver_module": "btusb", + "drivers": [ + "btusb" + ], + "driver_modules": [ + "btusb" + ], + "module_alias": "usb:v8087p0033d0000dcE0dsc01dp01icE0isc01ip01in00" + }, + { + "index": 47, + "attached_to": 40, + "class_list": [ + "usb", + "bluetooth" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0115", + "name": "Bluetooth Device", + "value": 277 + }, + "vendor": { + "hex": "8087", + "value": 32903 + }, + "device": { + "hex": "0033", + "value": 51 + }, + "model": "Bluetooth Device", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.1", + "sysfs_bus_id": "3-10:1.1", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00e0", + "name": "wireless", + "value": 224 + }, + "device_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "device_protocol": 1, + "interface_class": { + "hex": "00e0", + "name": "wireless", + "value": 224 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 1, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "btusb", + "driver_module": "btusb", + "drivers": [ + "btusb" + ], + "driver_modules": [ + "btusb" + ], + "module_alias": "usb:v8087p0033d0000dcE0dsc01dp01icE0isc01ip01in01" + } + ], + "bridge": [ + { + "index": 15, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0001", + "name": "ISA bridge", + "value": 1 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "519d", + "value": 20893 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel ISA bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.0", + "sysfs_bus_id": "0000:00:1f.0", + "sysfs_iommu_group_id": 15, + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d0000519Dsv00001043sd000088CBbc06sc01i00", + "label": "Onboard - Other" + }, + { + "index": 16, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 7 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a72f", + "value": 42799 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:07.2", + "sysfs_bus_id": "0000:00:07.2", + "sysfs_iommu_group_id": 5, + "detail": { + "function": 2, + "command": 1031, + "header_type": 1, + "secondary_bus": 44, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00008086d0000A72Fsv00001043sd000088CBbc06sc04i00" + }, + { + "index": 21, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 7 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a76e", + "value": 42862 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:07.0", + "sysfs_bus_id": "0000:00:07.0", + "sysfs_iommu_group_id": 4, + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 2, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00008086d0000A76Esv00001043sd000088CBbc06sc04i00" + }, + { + "index": 25, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a71b", + "value": 42779 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:00.0", + "sysfs_bus_id": "0000:00:00.0", + "sysfs_iommu_group_id": 1, + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d0000A71Bsv00001043sd000088CBbc06sc00i00", + "label": "Onboard - Other" + }, + { + "index": 27, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 6 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "device": { + "hex": "a74d", + "value": 42829 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:06.0", + "sysfs_bus_id": "0000:00:06.0", + "sysfs_iommu_group_id": 3, + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 1, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00008086d0000A74Dsv00000000sd00000000bc06sc04i00" + }, + { + "index": 28, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 29 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51b0", + "value": 20912 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:1d.0", + "sysfs_bus_id": "0000:00:1d.0", + "sysfs_iommu_group_id": 14, + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 86, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00008086d000051B0sv00001043sd000088CBbc06sc04i00" + } + ], + "cpu": [ + { + "architecture": "x86_64", + "vendor_name": "GenuineIntel", + "model_name": "Intel(R) Core(TM) 3 100U", + "family": 6, + "model": 186, + "stepping": 3, + "features": [ + "fpu", + "vme", + "de", + "pse", + "tsc", + "msr", + "pae", + "mce", + "cx8", + "apic", + "sep", + "mtrr", + "pge", + "mca", + "cmov", + "pat", + "pse36", + "clflush", + "dts", + "acpi", + "mmx", + "fxsr", + "sse", + "sse2", + "ss", + "ht", + "tm", + "pbe", + "syscall", + "nx", + "pdpe1gb", + "rdtscp", + "lm", + "constant_tsc", + "art", + "arch_perfmon", + "pebs", + "bts", + "rep_good", + "nopl", + "xtopology", + "nonstop_tsc", + "cpuid", + "aperfmperf", + "tsc_known_freq", + "pni", + "pclmulqdq", + "dtes64", + "monitor", + "ds_cpl", + "vmx", + "est", + "tm2", + "ssse3", + "sdbg", + "fma", + "cx16", + "xtpr", + "pdcm", + "pcid", + "sse4_1", + "sse4_2", + "x2apic", + "movbe", + "popcnt", + "tsc_deadline_timer", + "aes", + "xsave", + "avx", + "f16c", + "rdrand", + "lahf_lm", + "abm", + "3dnowprefetch", + "cpuid_fault", + "epb", + "ssbd", + "ibrs", + "ibpb", + "stibp", + "ibrs_enhanced", + "tpr_shadow", + "flexpriority", + "ept", + "vpid", + "ept_ad", + "fsgsbase", + "tsc_adjust", + "bmi1", + "avx2", + "smep", + "bmi2", + "erms", + "invpcid", + "rdseed", + "adx", + "smap", + "clflushopt", + "clwb", + "intel_pt", + "sha_ni", + "xsaveopt", + "xsavec", + "xgetbv1", + "xsaves", + "split_lock_detect", + "user_shstk", + "avx_vnni", + "dtherm", + "ida", + "arat", + "pln", + "pts", + "hwp", + "hwp_notify", + "hwp_act_window", + "hwp_epp", + "hwp_pkg_req", + "hfi", + "vnmi", + "umip", + "pku", + "ospke", + "waitpkg", + "gfni", + "vaes", + "vpclmulqdq", + "rdpid", + "movdiri", + "movdir64b", + "fsrm", + "md_clear", + "serialize", + "arch_lbr", + "ibt", + "flush_l1d", + "arch_capabilities" + ], + "bugs": [ + "spectre_v1", + "spectre_v2", + "spec_store_bypass", + "swapgs", + "eibrs_pbrsb", + "rfds", + "bhi", + "spectre_v2_user", + "vmscape" + ], + "power_management": [ + "" + ], + "bogo": 4992, + "cache": 10240, + "units": 64, + "page_size": 4096, + "physical_id": 0, + "siblings": 8, + "cores": 6, + "fpu": false, + "fpu_exception": false, + "cpuid_level": 32, + "write_protect": false, + "tlb_size": 32571, + "clflush_size": 64, + "cache_alignment": 64, + "address_sizes": { + "physical": "0x27", + "virtual": "0x30" + } + } + ], + "disk": [ + { + "index": 37, + "attached_to": 20, + "class_list": [ + "disk", + "block_device", + "nvme" + ], + "bus_type": { + "hex": "0096", + "name": "NVME", + "value": 150 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "vendor": { + "hex": "1d79", + "value": 7545 + }, + "sub_vendor": { + "hex": "1d79", + "value": 7545 + }, + "device": { + "hex": "5766", + "name": "TS256GMTE110S", + "value": 22374 + }, + "sub_device": { + "hex": "5766", + "value": 22374 + }, + "serial": "J052860691", + "model": "TS256GMTE110S", + "sysfs_id": "/class/block/nvme0n1", + "sysfs_bus_id": "nvme0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:06.0/0000:01:00.0/nvme/nvme0", + "unix_device_names": [ + "/dev/disk/by-id/nvme-TS256GMTE110S_J052860691", + "/dev/disk/by-id/nvme-TS256GMTE110S_J052860691_1", + "/dev/disk/by-id/nvme-eui.4a303532383630364ce0001839312020", + "/dev/disk/by-path/pci-0000:01:00.0-nvme-1", + "/dev/nvme0n1" + ], + "resources": [ + { + "type": "disk_geo", + "cylinders": 244198, + "heads": 64, + "sectors": 32, + "size": "0x0", + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 500118192, + "value_2": 512 + } + ], + "driver": "nvme", + "driver_module": "nvme", + "drivers": [ + "nvme" + ], + "driver_modules": [ + "nvme" + ] + }, + { + "index": 38, + "attached_to": 31, + "class_list": [ + "disk", + "usb", + "scsi", + "block_device" + ], + "bus_type": { + "hex": "0084", + "name": "SCSI", + "value": 132 + }, + "slot": { + "bus": 2, + "number": 0 + }, + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "vendor": { + "hex": "0951", + "name": "Kingston", + "value": 2385 + }, + "device": { + "hex": "1666", + "name": "DataTraveler 3.0", + "value": 5734 + }, + "revision": { + "hex": "0000", + "name": "PMAP", + "value": 0 + }, + "serial": "CE8879F15749", + "model": "Kingston DataTraveler 3.0", + "sysfs_id": "/class/block/sda", + "sysfs_bus_id": "2:0:0:0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:14.0/usb4/4-3/4-3:1.0/host2/target2:0:0/2:0:0:0", + "unix_device_names": [ + "/dev/disk/by-id/usb-Kingston_DataTraveler_3.0_C87F54C69BB4E89179450B40-0:0", + "/dev/disk/by-path/pci-0000:00:14.0-usb-0:3:1.0-scsi-0:0:0:0", + "/dev/disk/by-path/pci-0000:00:14.0-usbv3-0:3:1.0-scsi-0:0:0:0", + "/dev/sda" + ], + "unix_device_name2": "/dev/sg0", + "resources": [ + { + "type": "disk_geo", + "cylinders": 59136, + "heads": 64, + "sectors": 32, + "size": "0x0", + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 121110528, + "value_2": 512 + } + ], + "driver": "usb-storage", + "driver_module": "usb_storage", + "drivers": [ + "sd", + "usb-storage" + ], + "driver_modules": [ + "sd_mod", + "usb_storage" + ], + "module_alias": "usb:v0951p1666d0110dc00dsc00dp00ic08isc06ip50in00" + } + ], + "graphics_card": [ + { + "index": 30, + "attached_to": 0, + "class_list": [ + "graphics_card", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 2 + }, + "base_class": { + "hex": "0003", + "name": "Display controller", + "value": 3 + }, + "sub_class": { + "hex": "0000", + "name": "VGA compatible controller", + "value": 0 + }, + "pci_interface": { + "hex": "0000", + "name": "VGA", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a7ad", + "value": 42925 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0004", + "value": 4 + }, + "model": "Intel VGA compatible controller", + "sysfs_id": "/devices/pci0000:00/0000:00:02.0", + "sysfs_bus_id": "0000:00:02.0", + "sysfs_iommu_group_id": 0, + "resources": [ + { + "type": "io", + "base": 12288, + "range": 64, + "enabled": true, + "access": "read_write" + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "i915", + "driver_module": "i915", + "drivers": [ + "i915" + ], + "driver_modules": [ + "i915" + ], + "module_alias": "pci:v00008086d0000A7ADsv00001043sd000088CBbc03sc00i00", + "label": "Onboard - Video" + } + ], + "hub": [ + { + "index": 40, + "attached_to": 31, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.16 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:00:14.0", + "model": "Linux 6.18.16 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-0:1.0", + "sysfs_bus_id": "3-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0002d0618dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 44, + "attached_to": 31, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.16 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:00:14.0", + "model": "Linux 6.18.16 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb4/4-0:1.0", + "sysfs_bus_id": "4-0:1.0", + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0003d0618dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 46, + "attached_to": 14, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.16 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:00:0d.0", + "model": "Linux 6.18.16 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb1/1-0:1.0", + "sysfs_bus_id": "1-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0002d0618dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 48, + "attached_to": 14, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.16 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:00:0d.0", + "model": "Linux 6.18.16 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb2/2-0:1.0", + "sysfs_bus_id": "2-0:1.0", + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0003d0618dc09dsc00dp03ic09isc00ip00in00" + } + ], + "keyboard": [ + { + "index": 45, + "attached_to": 40, + "class_list": [ + "keyboard", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0108", + "name": "Keyboard", + "value": 264 + }, + "sub_class": { + "hex": "0000", + "name": "Keyboard", + "value": 0 + }, + "vendor": { + "hex": "3434", + "name": "Keychron", + "value": 13364 + }, + "device": { + "hex": "0430", + "name": "Keychron C3 Pro", + "value": 1072 + }, + "revision": { + "hex": "0000", + "name": "1.02", + "value": 0 + }, + "model": "Keychron C3 Pro", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.0", + "sysfs_bus_id": "3-9:1.0", + "unix_device_names": [ + "/dev/input/by-id/usb-Keychron_Keychron_C3_Pro-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:9:1.0-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:9:1.0-event-kbd", + "/dev/input/event1" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "driver_info": { + "type": "keyboard", + "xkb_rules": "xfree86", + "xkb_model": "pc104" + }, + "module_alias": "usb:v3434p0430d0102dc00dsc00dp00ic03isc01ip01in00" + } + ], + "memory": [ + { + "index": 11, + "attached_to": 0, + "class_list": [ + "memory" + ], + "base_class": { + "hex": "0101", + "name": "Internally Used Class", + "value": 257 + }, + "sub_class": { + "hex": "0002", + "name": "Main Memory", + "value": 2 + }, + "model": "Main Memory", + "resources": [ + { + "type": "phys_mem", + "range": 8053063680 + } + ] + } + ], + "monitor": [ + { + "index": 36, + "attached_to": 30, + "class_list": [ + "monitor" + ], + "base_class": { + "hex": "0100", + "name": "Monitor", + "value": 256 + }, + "sub_class": { + "hex": "0002", + "name": "LCD Monitor", + "value": 2 + }, + "vendor": { + "hex": "1e6d", + "name": "LG ELECTRONICS", + "value": 7789 + }, + "device": { + "hex": "0001", + "name": "LG TV SSCR2", + "value": 1 + }, + "serial": "16843009", + "model": "LG ELECTRONICS LG TV SSCR2", + "resources": [ + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1152, + "height": 864, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1360, + "height": 768, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 720, + "height": 400, + "vertical_frequency": 70, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "size", + "unit": "mm", + "value_1": 1600, + "value_2": 900 + } + ], + "detail": { + "manufacture_year": 2022, + "manufacture_week": 1, + "vertical_sync": { + "min": 58, + "max": 62 + }, + "horizontal_sync": { + "min": 30, + "max": 83 + }, + "horizontal_sync_timings": { + "disp": 1360, + "sync_start": 1424, + "sync_end": 1536, + "total": 1792 + }, + "vertical_sync_timings": { + "disp": 768, + "sync_start": 771, + "sync_end": 777, + "total": 795 + }, + "clock": 85500, + "width": 1360, + "height": 768, + "width_millimetres": 1600, + "height_millimetres": 900, + "horizontal_flag": 43, + "vertical_flag": 43, + "vendor": "", + "name": "LG TV SSCR2" + }, + "driver_info": { + "type": "display", + "width": 1360, + "height": 768, + "vertical_sync": { + "min": 58, + "max": 62 + }, + "horizontal_sync": { + "min": 30, + "max": 83 + }, + "bandwidth": 0, + "horizontal_sync_timings": { + "disp": 1360, + "sync_start": 1424, + "sync_end": 1536, + "total": 1792 + }, + "vertical_sync_timings": { + "disp": 768, + "sync_start": 771, + "sync_end": 777, + "total": 795 + }, + "horizontal_flag": 43, + "vertical_flag": 43 + } + } + ], + "mouse": [ + { + "index": 43, + "attached_to": 40, + "class_list": [ + "mouse", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0105", + "name": "Mouse", + "value": 261 + }, + "sub_class": { + "hex": "0003", + "name": "USB Mouse", + "value": 3 + }, + "vendor": { + "hex": "3434", + "name": "Keychron", + "value": 13364 + }, + "device": { + "hex": "0430", + "name": "Keychron C3 Pro", + "value": 1072 + }, + "revision": { + "hex": "0000", + "name": "1.02", + "value": 0 + }, + "compat_vendor": "Unknown", + "compat_device": "Generic USB Mouse", + "model": "Keychron C3 Pro", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.2", + "sysfs_bus_id": "3-9:1.2", + "unix_device_names": [ + "/dev/input/mice" + ], + "unix_device_name2": "/dev/input/mouse0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 2, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "driver_info": { + "type": "mouse", + "db_entry_0": [ + "explorerps/2", + "exps2" + ], + "xf86": "explorerps/2", + "gpm": "exps2", + "buttons": -1, + "wheels": -1 + }, + "module_alias": "usb:v3434p0430d0102dc00dsc00dp00ic03isc00ip00in02" + } + ], + "network_controller": [ + { + "index": 18, + "attached_to": 0, + "class_list": [ + "network_controller", + "pci", + "wlan_card" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0082", + "name": "WLAN controller", + "value": 130 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "device": { + "hex": "51f1", + "value": 20977 + }, + "sub_device": { + "hex": "0094", + "value": 148 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel WLAN controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.3", + "sysfs_bus_id": "0000:00:14.3", + "sysfs_iommu_group_id": 11, + "unix_device_names": [ + "wlan0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 97 + }, + { + "type": "phwaddr", + "address": 50 + }, + { + "type": "wlan", + "channels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "36", + "40", + "44", + "48", + "52", + "56", + "60", + "64", + "100", + "104", + "108", + "112", + "116", + "120", + "124", + "128", + "132", + "136", + "140" + ], + "frequencies": [ + "2.412", + "2.417", + "2.422", + "2.427", + "2.432", + "2.437", + "2.442", + "2.447", + "2.452", + "2.457", + "2.462", + "2.467", + "2.472", + "5.18", + "5.2", + "5.22", + "5.24", + "5.26", + "5.28", + "5.3", + "5.32", + "5.5", + "5.52", + "5.54", + "5.56", + "5.58", + "5.6", + "5.62", + "5.64", + "5.66", + "5.68", + "5.7" + ], + "auth_modes": [ + "open", + "sharedkey", + "wpa-psk", + "wpa-eap" + ], + "enc_modes": [ + "WEP40", + "WEP104", + "TKIP", + "CCMP" + ] + } + ], + "detail": { + "function": 3, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": [ + "iwlwifi" + ], + "driver_modules": [ + "iwlwifi" + ], + "module_alias": "pci:v00008086d000051F1sv00008086sd00000094bc02sc80i00", + "label": "Onboard - Ethernet" + }, + { + "index": 32, + "attached_to": 28, + "class_list": [ + "network_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 86, + "number": 0 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0000", + "name": "Ethernet controller", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "125c", + "value": 4700 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0004", + "value": 4 + }, + "model": "Intel Ethernet controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1d.0/0000:56:00.0", + "sysfs_bus_id": "0000:56:00.0", + "sysfs_iommu_group_id": 17, + "unix_device_names": [ + "enp86s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 56 + }, + { + "type": "phwaddr", + "address": 56 + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "igc", + "driver_module": "igc", + "drivers": [ + "igc" + ], + "driver_modules": [ + "igc" + ], + "module_alias": "pci:v00008086d0000125Csv00001043sd000088CBbc02sc00i00" + } + ], + "network_interface": [ + { + "index": 49, + "attached_to": 32, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0001", + "name": "Ethernet", + "value": 1 + }, + "model": "Ethernet network interface", + "sysfs_id": "/class/net/enp86s0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:1d.0/0000:56:00.0", + "unix_device_names": [ + "enp86s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 56 + }, + { + "type": "phwaddr", + "address": 56 + } + ], + "driver": "igc", + "driver_module": "igc", + "drivers": [ + "igc" + ], + "driver_modules": [ + "igc" + ] + }, + { + "index": 50, + "attached_to": 18, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "000a", + "name": "WLAN", + "value": 10 + }, + "model": "WLAN network interface", + "sysfs_id": "/class/net/wlan0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:14.3", + "unix_device_names": [ + "wlan0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 97 + }, + { + "type": "phwaddr", + "address": 50 + } + ], + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": [ + "iwlwifi" + ], + "driver_modules": [ + "iwlwifi" + ] + }, + { + "index": 51, + "attached_to": 0, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0000", + "name": "Loopback", + "value": 0 + }, + "model": "Loopback network interface", + "sysfs_id": "/class/net/lo", + "unix_device_names": [ + "lo" + ] + } + ], + "pci": [ + { + "index": 13, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 8 + }, + "base_class": { + "hex": "0008", + "name": "Generic system peripheral", + "value": 8 + }, + "sub_class": { + "hex": "0080", + "name": "System peripheral", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a74f", + "value": 42831 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel System peripheral", + "sysfs_id": "/devices/pci0000:00/0000:00:08.0", + "sysfs_bus_id": "0000:00:08.0", + "sysfs_iommu_group_id": 6, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d0000A74Fsv00001043sd000088CBbc08sc80i00", + "label": "Onboard - Other" + }, + { + "index": 17, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 4 + }, + "base_class": { + "hex": "0011", + "name": "Signal processing controller", + "value": 17 + }, + "sub_class": { + "hex": "0080", + "name": "Signal processing controller", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a71d", + "value": 42781 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Signal processing controller", + "sysfs_id": "/devices/pci0000:00/0000:00:04.0", + "sysfs_bus_id": "0000:00:04.0", + "sysfs_iommu_group_id": 2, + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "proc_thermal_pci", + "driver_module": "processor_thermal_device_pci", + "drivers": [ + "proc_thermal_pci" + ], + "driver_modules": [ + "processor_thermal_device_pci" + ], + "module_alias": "pci:v00008086d0000A71Dsv00001043sd000088CBbc11sc80i00", + "label": "Onboard - Other" + }, + { + "index": 19, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 22 + }, + "base_class": { + "hex": "0007", + "name": "Communication controller", + "value": 7 + }, + "sub_class": { + "hex": "0080", + "name": "Communication controller", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51e0", + "value": 20960 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Communication controller", + "sysfs_id": "/devices/pci0000:00/0000:00:16.0", + "sysfs_bus_id": "0000:00:16.0", + "sysfs_iommu_group_id": 12, + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "mei_me", + "driver_module": "mei_me", + "drivers": [ + "mei_me" + ], + "driver_modules": [ + "mei_me" + ], + "module_alias": "pci:v00008086d000051E0sv00001043sd000088CBbc07sc80i00", + "label": "Onboard - Other" + }, + { + "index": 22, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0080", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51a4", + "value": 20900 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Serial bus controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.5", + "sysfs_bus_id": "0000:00:1f.5", + "sysfs_iommu_group_id": 15, + "detail": { + "function": 5, + "command": 1026, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "intel-spi", + "driver_module": "spi_intel_pci", + "drivers": [ + "intel-spi" + ], + "driver_modules": [ + "spi_intel_pci" + ], + "module_alias": "pci:v00008086d000051A4sv00001043sd000088CBbc0Csc80i00", + "label": "Onboard - Other" + }, + { + "index": 26, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 18 + }, + "base_class": { + "hex": "0007", + "name": "Communication controller", + "value": 7 + }, + "sub_class": { + "hex": "0000", + "name": "Serial controller", + "value": 0 + }, + "pci_interface": { + "hex": "0000", + "name": "8250", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51fc", + "value": 20988 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Serial controller", + "sysfs_id": "/devices/pci0000:00/0000:00:12.0", + "sysfs_bus_id": "0000:00:12.0", + "sysfs_iommu_group_id": 9, + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "intel_ish_ipc", + "driver_module": "intel_ish_ipc", + "drivers": [ + "intel_ish_ipc" + ], + "driver_modules": [ + "intel_ish_ipc" + ], + "module_alias": "pci:v00008086d000051FCsv00001043sd000088CBbc07sc00i00", + "label": "Onboard - Other" + }, + { + "index": 29, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "hex": "0005", + "name": "Memory controller", + "value": 5 + }, + "sub_class": { + "hex": "0000", + "name": "RAM memory", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51ef", + "value": 20975 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel RAM memory", + "sysfs_id": "/devices/pci0000:00/0000:00:14.2", + "sysfs_bus_id": "0000:00:14.2", + "sysfs_iommu_group_id": 10, + "detail": { + "function": 2, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d000051EFsv00001043sd000088CBbc05sc00i00", + "label": "Onboard - Other" + }, + { + "index": 33, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0005", + "name": "SMBus", + "value": 5 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51a3", + "value": 20899 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel SMBus", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.4", + "sysfs_bus_id": "0000:00:1f.4", + "sysfs_iommu_group_id": 15, + "resources": [ + { + "type": "io", + "base": 61344, + "range": 32, + "enabled": true, + "access": "read_write" + } + ], + "detail": { + "function": 4, + "command": 3, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "i801_smbus", + "driver_module": "i2c_i801", + "drivers": [ + "i801_smbus" + ], + "driver_modules": [ + "i2c_i801" + ], + "module_alias": "pci:v00008086d000051A3sv00001043sd000088CBbc0Csc05i00", + "label": "Onboard - Other" + }, + { + "index": 35, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 10 + }, + "base_class": { + "hex": "0011", + "name": "Signal processing controller", + "value": 17 + }, + "sub_class": { + "hex": "0080", + "name": "Signal processing controller", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a77d", + "value": 42877 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Signal processing controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0a.0", + "sysfs_bus_id": "0000:00:0a.0", + "sysfs_iommu_group_id": 7, + "detail": { + "function": 0, + "command": 2, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "intel_vsec", + "driver_module": "intel_vsec", + "drivers": [ + "intel_vsec" + ], + "driver_modules": [ + "intel_vsec" + ], + "module_alias": "pci:v00008086d0000A77Dsv00001043sd000088CBbc11sc80i00", + "label": "Onboard - Other" + } + ], + "sound": [ + { + "index": 24, + "attached_to": 0, + "class_list": [ + "sound", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "hex": "0004", + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "hex": "0001", + "name": "Multimedia audio controller", + "value": 1 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51ca", + "value": 20938 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Multimedia audio controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.3", + "sysfs_bus_id": "0000:00:1f.3", + "sysfs_iommu_group_id": 15, + "detail": { + "function": 3, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "snd_hda_intel", + "driver_module": "snd_hda_intel", + "drivers": [ + "snd_hda_intel" + ], + "driver_modules": [ + "snd_hda_intel" + ], + "module_alias": "pci:v00008086d000051CAsv00001043sd000088CBbc04sc01i00", + "label": "Onboard - Sound" + } + ], + "storage_controller": [ + { + "index": 12, + "attached_to": 0, + "class_list": [ + "storage_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 23 + }, + "base_class": { + "hex": "0001", + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "hex": "0006", + "value": 6 + }, + "pci_interface": { + "hex": "0001", + "value": 1 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51d3", + "value": 20947 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Mass storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:17.0", + "sysfs_bus_id": "0000:00:17.0", + "sysfs_iommu_group_id": 13, + "resources": [ + { + "type": "io", + "base": 12384, + "range": 32, + "enabled": true, + "access": "read_write" + }, + { + "type": "io", + "base": 12416, + "range": 4, + "enabled": true, + "access": "read_write" + }, + { + "type": "io", + "base": 12432, + "range": 8, + "enabled": true, + "access": "read_write" + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 1 + }, + "driver": "ahci", + "driver_module": "ahci", + "drivers": [ + "ahci" + ], + "driver_modules": [ + "ahci" + ], + "module_alias": "pci:v00008086d000051D3sv00001043sd000088CBbc01sc06i01", + "label": "Onboard - SATA" + }, + { + "index": 20, + "attached_to": 27, + "class_list": [ + "storage_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 1, + "number": 0 + }, + "base_class": { + "hex": "0001", + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "hex": "0008", + "value": 8 + }, + "pci_interface": { + "hex": "0002", + "value": 2 + }, + "vendor": { + "hex": "1d79", + "value": 7545 + }, + "sub_vendor": { + "hex": "1d79", + "value": 7545 + }, + "device": { + "hex": "5766", + "value": 22374 + }, + "sub_device": { + "hex": "5766", + "value": 22374 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Mass storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:06.0/0000:01:00.0", + "sysfs_bus_id": "0000:01:00.0", + "sysfs_iommu_group_id": 16, + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 2 + }, + "driver": "nvme", + "driver_module": "nvme", + "drivers": [ + "nvme" + ], + "driver_modules": [ + "nvme" + ], + "module_alias": "pci:v00001D79d00005766sv00001D79sd00005766bc01sc08i02" + } + ], + "system": { + "form_factor": "laptop" + }, + "usb": [ + { + "index": 39, + "attached_to": 40, + "class_list": [ + "usb", + "unknown" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "hex": "3434", + "name": "Keychron", + "value": 13364 + }, + "device": { + "hex": "0430", + "name": "Keychron C3 Pro", + "value": 1072 + }, + "revision": { + "hex": "0000", + "name": "1.02", + "value": 0 + }, + "model": "Keychron C3 Pro", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.1", + "sysfs_bus_id": "3-9:1.1", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 1, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v3434p0430d0102dc00dsc00dp00ic03isc00ip00in01" + } + ], + "usb_controller": [ + { + "index": 14, + "attached_to": 0, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 13 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0030", + "value": 48 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a71e", + "value": 42782 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0", + "sysfs_bus_id": "0000:00:0d.0", + "sysfs_iommu_group_id": 8, + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00008086d0000A71Esv00001043sd000088CBbc0Csc03i30", + "label": "Onboard - Other" + }, + { + "index": 23, + "attached_to": 0, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 13 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0040", + "value": 64 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "2222", + "value": 8738 + }, + "device": { + "hex": "a76d", + "value": 42861 + }, + "sub_device": { + "hex": "1111", + "value": 4369 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.3", + "sysfs_bus_id": "0000:00:0d.3", + "sysfs_iommu_group_id": 8, + "detail": { + "function": 3, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 64 + }, + "driver": "thunderbolt", + "driver_module": "thunderbolt", + "drivers": [ + "thunderbolt" + ], + "driver_modules": [ + "thunderbolt" + ], + "module_alias": "pci:v00008086d0000A76Dsv00002222sd00001111bc0Csc03i40", + "label": "Onboard - Other" + }, + { + "index": 31, + "attached_to": 0, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0030", + "value": 48 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51ed", + "value": 20973 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0", + "sysfs_bus_id": "0000:00:14.0", + "sysfs_iommu_group_id": 10, + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00008086d000051EDsv00001043sd000088CBbc0Csc03i30", + "label": "Onboard - Other" + }, + { + "index": 34, + "attached_to": 0, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 13 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0040", + "value": 64 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "2222", + "value": 8738 + }, + "device": { + "hex": "a73e", + "value": 42814 + }, + "sub_device": { + "hex": "1111", + "value": 4369 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.2", + "sysfs_bus_id": "0000:00:0d.2", + "sysfs_iommu_group_id": 8, + "detail": { + "function": 2, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 64 + }, + "driver": "thunderbolt", + "driver_module": "thunderbolt", + "drivers": [ + "thunderbolt" + ], + "driver_modules": [ + "thunderbolt" + ], + "module_alias": "pci:v00008086d0000A73Esv00002222sd00001111bc0Csc03i40", + "label": "Onboard - Other" + } + ] + }, + "smbios": { + "bios": { + "handle": 0, + "vendor": "ASUSTeK COMPUTER INC.", + "version": "RVRPLR30.0037.2024.1209.2113", + "date": "12/09/2024", + "features": [ + "PCI supported", + "BIOS flashable", + "BIOS shadowing allowed", + "CD boot supported", + "Selectable boot supported", + "BIOS ROM socketed", + "EDD spec supported", + "1.2MB NEC 9800 Japanese Floppy supported", + "1.2MB Toshiba Japanese Floppy supported", + "360kB Floppy supported", + "1.2MB Floppy supported", + "720kB Floppy supported", + "2.88MB Floppy supported", + "Print Screen supported", + "Serial Services supported", + "Printer Services supported", + "CGA/Mono Video supported", + "ACPI supported", + "USB Legacy supported", + "BIOS Boot Spec supported" + ], + "start_address": "0xf0000", + "rom_size": 16777216 + }, + "board": { + "handle": 2, + "manufacturer": "ASUSTeK COMPUTER INC.", + "product": "NUC14RVB", + "version": "60AS0080-MBDA02", + "board_type": { + "hex": "000a", + "name": "Motherboard", + "value": 10 + }, + "features": [ + "Hosting Board", + "Replaceable" + ], + "location": "", + "chassis": 3 + }, + "cache": [ + { + "handle": 55, + "socket": "L1 Cache", + "size_max": 96, + "size_current": 96, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "hex": "0004", + "name": "Parity", + "value": 4 + }, + "cache_type": { + "hex": "0004", + "name": "Data", + "value": 4 + }, + "associativity": { + "hex": "0009", + "name": "Other", + "value": 9 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 56, + "socket": "L1 Cache", + "size_max": 64, + "size_current": 64, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "hex": "0004", + "name": "Parity", + "value": 4 + }, + "cache_type": { + "hex": "0003", + "name": "Instruction", + "value": 3 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 57, + "socket": "L2 Cache", + "size_max": 2560, + "size_current": 2560, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 1, + "ecc": { + "hex": "0005", + "name": "Single-bit", + "value": 5 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 58, + "socket": "L3 Cache", + "size_max": 10240, + "size_current": 10240, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 2, + "ecc": { + "hex": "0006", + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 59, + "socket": "L1 Cache", + "size_max": 128, + "size_current": 128, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "hex": "0004", + "name": "Parity", + "value": 4 + }, + "cache_type": { + "hex": "0004", + "name": "Data", + "value": 4 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 60, + "socket": "L1 Cache", + "size_max": 256, + "size_current": 256, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "hex": "0004", + "name": "Parity", + "value": 4 + }, + "cache_type": { + "hex": "0003", + "name": "Instruction", + "value": 3 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 61, + "socket": "L2 Cache", + "size_max": 2048, + "size_current": 2048, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 1, + "ecc": { + "hex": "0005", + "name": "Single-bit", + "value": 5 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0008", + "name": "16-way Set-Associative", + "value": 8 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 62, + "socket": "L3 Cache", + "size_max": 10240, + "size_current": 10240, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 2, + "ecc": { + "hex": "0006", + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + } + ], + "chassis": [ + { + "handle": 3, + "manufacturer": "ASUSTeK COMPUTER INC.", + "version": "2.0", + "chassis_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "lock_present": false, + "bootup_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "power_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "thermal_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "security_state": { + "hex": "0003", + "name": "None", + "value": 3 + }, + "oem": "0x0" + } + ], + "group_associations": [ + { + "handle": 87, + "name": "$MEI", + "handles": [ + 0 + ] + }, + { + "handle": 90, + "name": "Firmware Version Info", + "handles": [ + 214748364849, + 219043332146, + 223338299443, + 227633266740, + 231928234037, + 360777252918, + 84 + ] + } + ], + "language": [ + { + "handle": 30, + "languages": [ + "en|US|iso8859-1" + ] + } + ], + "memory_array": [ + { + "handle": 41, + "location": { + "hex": "0003", + "name": "Motherboard", + "value": 3 + }, + "usage": { + "hex": "0003", + "name": "System memory", + "value": 3 + }, + "ecc": { + "hex": "0003", + "name": "None", + "value": 3 + }, + "max_size": "0x4000000", + "error_handle": 65534, + "slots": 2 + } + ], + "memory_array_mapped_address": [ + { + "handle": 44, + "array_handle": 41, + "start_address": "0x0", + "end_address": "0x200000000", + "part_width": 1 + } + ], + "memory_device": [ + { + "handle": 42, + "location": "Controller0-ChannelA-DIMM0", + "bank_location": "BANK 0", + "manufacturer": "Team Group Inc", + "part_number": "SD5-5600", + "array_handle": 41, + "error_handle": 65534, + "width": 64, + "ecc_bits": 0, + "size": 8388608, + "form_factor": { + "hex": "000d", + "name": "SODIMM", + "value": 13 + }, + "set": 0, + "memory_type": { + "hex": "0022", + "name": "Other", + "value": 34 + }, + "memory_type_details": [ + "Synchronous" + ], + "speed": 5600 + }, + { + "handle": 43, + "location": "Controller1-ChannelA-DIMM0", + "bank_location": "BANK 0", + "manufacturer": "", + "part_number": "", + "array_handle": 41, + "error_handle": 65534, + "width": 0, + "ecc_bits": 0, + "size": 0, + "form_factor": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "set": 0, + "memory_type": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "memory_type_details": null, + "speed": 0 + } + ], + "memory_device_mapped_address": [ + { + "handle": 48, + "memory_device_handle": 42, + "array_map_handle": 44, + "start_address": "0x0", + "end_address": "0x200000000", + "row_position": 255, + "interleave_position": 0, + "interleave_depth": 0 + } + ], + "port_connector": [ + { + "handle": 4, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J98", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB1" + }, + { + "handle": 5, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J80", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB2" + }, + { + "handle": 6, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J80", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB3" + }, + { + "handle": 7, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J44", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB4" + }, + { + "handle": 8, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J91", + "external_connector_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "external_reference_designator": "USB5" + }, + { + "handle": 9, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J90", + "external_connector_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "external_reference_designator": "USB6" + }, + { + "handle": 10, + "port_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "internal_reference_designator": "J90", + "external_connector_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "external_reference_designator": "Thunderbolt" + }, + { + "handle": 11, + "port_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "internal_reference_designator": "J91", + "external_connector_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "external_reference_designator": "Thunderbolt" + }, + { + "handle": 12, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J92", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB7" + }, + { + "handle": 13, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J96", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB8" + }, + { + "handle": 14, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J97", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB9" + }, + { + "handle": 15, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "CON1", + "external_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "external_reference_designator": "Power" + }, + { + "handle": 16, + "port_type": { + "hex": "001c", + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J206", + "external_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "external_reference_designator": "HDMI1" + }, + { + "handle": 17, + "port_type": { + "hex": "001c", + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J51", + "external_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "external_reference_designator": "HDMI2" + }, + { + "handle": 18, + "port_type": { + "hex": "001f", + "name": "Network Port", + "value": 31 + }, + "internal_reference_designator": "J8", + "external_connector_type": { + "hex": "000b", + "name": "RJ-45", + "value": 11 + }, + "external_reference_designator": "LAN" + }, + { + "handle": 19, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "J43 - M.2 SSD" + }, + { + "handle": 20, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "J36 - M.2 WIFI" + }, + { + "handle": 21, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "J44 - M.2 2242" + }, + { + "handle": 22, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "P8 - FAN" + }, + { + "handle": 23, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "SODIMM0" + }, + { + "handle": 24, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "SODIMM1" + }, + { + "handle": 25, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "P56 - SATA" + } + ], + "processor": [ + { + "handle": 63, + "socket": "U3E1", + "socket_type": { + "hex": "0041", + "name": "Other", + "value": 65 + }, + "socket_populated": true, + "manufacturer": "Intel(R) Corporation", + "version": "Intel(R) Core(TM) 3 100U", + "part": "To Be Filled By O.E.M.", + "processor_type": { + "hex": "0003", + "name": "CPU", + "value": 3 + }, + "processor_family": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "processor_status": { + "hex": "0001", + "name": "Enabled", + "value": 1 + }, + "clock_ext": 100, + "clock_max": 4700, + "cache_handle_l1": 60, + "cache_handle_l2": 61, + "cache_handle_l3": 62 + } + ], + "slot": [ + { + "handle": 26, + "designation": "M2_A", + "slot_type": { + "hex": "0015", + "name": "Other", + "value": 21 + }, + "bus_width": { + "hex": "0008", + "name": "Other", + "value": 8 + }, + "usage": { + "hex": "0004", + "name": "In Use", + "value": 4 + }, + "length": { + "hex": "0003", + "name": "Short", + "value": 3 + }, + "id": 0, + "features": [ + "3.3 V", + "Shared", + "PME#" + ] + }, + { + "handle": 27, + "designation": "M2_B", + "slot_type": { + "hex": "0017", + "name": "Other", + "value": 23 + }, + "bus_width": { + "hex": "000a", + "name": "Other", + "value": 10 + }, + "usage": { + "hex": "0004", + "name": "In Use", + "value": 4 + }, + "length": { + "hex": "0004", + "name": "Long", + "value": 4 + }, + "id": 1, + "features": [ + "3.3 V", + "PME#" + ] + }, + { + "handle": 28, + "designation": "M2_C", + "slot_type": { + "hex": "0016", + "name": "Other", + "value": 22 + }, + "bus_width": { + "hex": "0008", + "name": "Other", + "value": 8 + }, + "usage": { + "hex": "0004", + "name": "In Use", + "value": 4 + }, + "length": { + "hex": "0003", + "name": "Short", + "value": 3 + }, + "id": 2, + "features": [ + "3.3 V", + "Shared", + "PME#" + ] + } + ], + "system": { + "handle": 1, + "manufacturer": "ASUSTeK COMPUTER INC.", + "product": "NUC14RVK-B", + "version": "90AR0062-M00020", + "wake_up": { + "hex": "0006", + "name": "Power Switch", + "value": 6 + } + } + } +} diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..ca64f69 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,73 @@ +# AGENTS.md + +## What this repo is + +NixOS flake that defines kiosk systems running the RadiantWave app. Not application code — this is the OS image and deployment configuration. The actual app lives in the `rhemawave` flake input (from Codeberg). + +Hosted on Codeberg: `https://codeberg.org/RhemaWave-Technologies/KioskConfig` + +## Key commands + +```bash +# Build a system closure (any config name from flake.nix) +nix build .#nixosConfigurations..config.system.build.toplevel + +# Build a bootable ISO +nix build .#nixosConfigurations..config.system.build.isoImage + +# Deploy to a remote kiosk over SSH +nixos-rebuild switch --flake .# --target-host root@ + +# Push build result to Attic cache +attic push kiosk ./result + +# Evaluate available config names +nix eval .#nixosConfigurations --apply builtins.attrNames +``` + +## Config variants + +| Name | Target hardware | Disk device | Notes | +|---|---|---|---| +| `rhemawavekiosk` | Intel NUC 14 (NVMe) | `/dev/nvme0n1` | Production, uses `rhemawave` main | +| `rhemawavekiosk-dev` | Intel NUC 14 (NVMe) | `/dev/nvme0n1` | Dev, uses `rhemawave-dev` ref | +| `rhemawavekiosk-commercial` | Commercial HW (SATA) | `/dev/sda` | Production | +| `rhemawavekiosk-commercial-dev` | Commercial HW (SATA) | `/dev/sda` | Dev | +| `rhemawavekiosk-android` | Intel NUC 14 | `/dev/nvme0n1` | + rotated display (portrait) | +| `rhemawavekiosk-rpi` | Raspberry Pi 5 | — | Uses `nixos-raspberrypi` | +| `rhemawavekiosk-rpi-dev` | Raspberry Pi 5 | — | Dev, uses `rhemawave-dev` | + +ISOs: `usb-iso`, `commercial-usb-iso`, `android-iso`, `dev-iso` — each bakes in the corresponding system closure for zero-touch install. + +## Branching model + +Single branch (`main`). Production vs. dev split is at the **flake input** level (`rhemawave` vs `rhemawave-dev`), not at the branch level. + +## CI (Forgejo) + +`.forgejo/workflows/build-dev.yml` — triggered by `repository_dispatch` (`radiantwave-dev-built`) from the RadiantWave repo. Updates `rhemawave-dev` input, builds dev closure + ISO, commits updated `flake.lock`. Runs on `neils-server-runner`. + +## Important gotchas + +- **Disk device differs by variant**: `disk-config.nix` uses `/dev/nvme0n1`, `commercial-disk-config.nix` uses `/dev/sda`. Don't mix them up. +- **ISO configs reference specific system closures**: `iso-config.nix` hardcodes `rhemawavekiosk`, `dev-iso.nix` hardcodes `rhemawavekiosk-dev`, `commercial-iso-config.nix` hardcodes `rhemawavekiosk-commercial`. Changing a config name in `flake.nix` requires updating the corresponding ISO config. +- **Attic cache token**: ISO configs embed a JWT token for Attic in `/etc/nix/netrc`. If builds fail with auth errors, the token may have expired (expiry in the JWT payload). +- **`rotated_display.nix` uses `mkForce`** on `loginShellInit` — it replaces the entire kiosk startup script from `configuration.nix`, don't edit both. +- **SOPS**: `.sops.yaml` configures age-based encryption for `secrets.yaml`. You'll need the private key matching `age1t2wpzv...` to decrypt. +- **Flake inputs**: `rhemawave` tracks main, `rhemawave-dev` tracks `?ref=dev`. Updating them independently is intentional. + +## File map + +- `flake.nix` — all system definitions, entry point +- `configuration.nix` — shared NixOS config (packages, services, kiosk user, auto-upgrade, health check, VM variant) +- `disk-config.nix` — NVMe disk layout (NUC) +- `commercial-disk-config.nix` — SATA disk layout (commercial HW) +- `iso-config.nix` — production ISO + zero-touch installer +- `dev-iso.nix` — dev ISO + zero-touch installer +- `commercial-iso-config.nix` — commercial ISO + zero-touch installer +- `rotated_display.nix` — portrait display override for Android variant +- `facter.json` — hardware facter report (NUC 14) +- `14rvk.json`, `pn54.json` — additional hardware facter reports +- `assets/` — logo and splash image +- `plymouth-theme/` — boot splash theme +- `commands.md` — quick-reference for build/deploy commands diff --git a/assets/RWT_Logo-Dark.svg b/assets/RWT_Logo-Dark.svg new file mode 100644 index 0000000..0127ed4 --- /dev/null +++ b/assets/RWT_Logo-Dark.svg @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/splash.png b/assets/splash.png new file mode 100644 index 0000000..a042520 Binary files /dev/null and b/assets/splash.png differ diff --git a/build-rpi.sh b/build-rpi.sh new file mode 100755 index 0000000..26de78b --- /dev/null +++ b/build-rpi.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash +set -euo pipefail + +CONFIG="rhemawavekiosk-rpi" +VARIANT="" + +for arg in "$@"; do + case "$arg" in + --dev) CONFIG="rhemawavekiosk-rpi-dev"; VARIANT="-dev" ;; + *) echo "Unknown arg: $arg"; exit 1 ;; + esac +done + +TIMESTAMP=$(date +"%m%d%Y-%H%M") +FILENAME="radiantwave-kiosk-rpi${VARIANT}_${TIMESTAMP}.img.zst" +REPO="$(pwd)" +NIX_STORE="kiosk-nix-store" + +echo "==> Building ${CONFIG}..." +echo "==> Output: ${REPO}/${FILENAME}" +echo "" + +podman volume create "${NIX_STORE}" 2>/dev/null || true + +podman run --rm \ + -v "${REPO}:/repo" \ + -v "${NIX_STORE}:/nix/store" \ + -w /repo \ + nixos/nix:latest \ + sh -c ' + set -ex + mkdir -p /etc/nix + echo "experimental-features = nix-command flakes" > /etc/nix/nix.conf + echo "accept-flake-config = true" >> /etc/nix/nix.conf + echo "extra-substituters = https://cache.nixos.org https://nixos-raspberrypi.cachix.org" >> /etc/nix/nix.conf + echo "extra-trusted-public-keys = nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI=" >> /etc/nix/nix.conf + echo "max-jobs = 4" >> /etc/nix/nix.conf + + echo "==> Building sdImage (first run slow, cached after)..." + nix --accept-flake-config build \ + .#nixosConfigurations.'${CONFIG}'.config.system.build.sdImage \ + --fallback \ + --print-build-logs + + echo "==> Build complete, copying..." + cp result/sd-image/*.img* /repo/'${FILENAME}' + echo "==> Done: ${FILENAME}" + ls -lh /repo/'${FILENAME}' + ' diff --git a/commands.md b/commands.md new file mode 100644 index 0000000..cd4230c --- /dev/null +++ b/commands.md @@ -0,0 +1,43 @@ +Build ISO installer +nix build .#nixosConfigurations.installer-iso.config.system.build.isoImage + +Build kiosk system and push to Attic cache +nix build .#nixosConfigurations.rhemawavekiosk.config.system.build.toplevel +attic push kiosk ./result + +Deploy to a specific kiosk over SSH +nixos-rebuild switch --flake .#rhemawavekiosk --target-host root@ + +--- + +## How these build paths work + +The build commands follow the flake output attribute tree. Start with `flake.nix`: + +```nix +nixosConfigurations = { + rhemawavekiosk = nixpkgs.lib.nixosSystem { ... }; # production machine + installer-iso = nixpkgs.lib.nixosSystem { ... }; # USB installer +}; +``` + +Each `nixosConfiguration` is a full NixOS system. You access what you want to build +by walking the attribute tree with dots: + +``` +.#nixosConfigurations..config.system.build. +│ │ │ │ +│ │ │ └─ what to build: +│ │ │ toplevel = full system closure +│ │ │ isoImage = bootable ISO +│ │ │ +│ │ └─ name from flake.nix (rhemawavekiosk, installer-iso) +│ │ +│ └─ nixosConfigurations = standard flake output for NixOS systems +│ +└─ .# = "this flake, attribute..." +``` + +You can explore what's available with: + nix eval .#nixosConfigurations --apply builtins.attrNames + nix eval .#nixosConfigurations.rhemawavekiosk.config.system.build --apply builtins.attrNames diff --git a/commercial-disk-config.nix b/commercial-disk-config.nix new file mode 100644 index 0000000..c8854d1 --- /dev/null +++ b/commercial-disk-config.nix @@ -0,0 +1,44 @@ +{ lib, ... }: +{ + disko.devices = { + disk.disk1 = { + device = lib.mkDefault "/dev/sda"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + boot = { + name = "boot"; + size = "1M"; + type = "EF00"; + }; + esp = { + name = "ESP"; + size = "500M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + extraArgs = [ "-n" "EFIBOOT" ]; + }; + }; + root = { + name = "root"; + size = "100%"; + content = { + type = "filesystem"; + format = "xfs"; + mountpoint = "/"; + extraArgs = [ "-L" "nixos" ]; + mountOptions = [ + "defaults" + "pquota" + ]; + }; + }; + }; + }; + }; + }; +} diff --git a/commercial-iso-config.nix b/commercial-iso-config.nix new file mode 100644 index 0000000..72d8cf9 --- /dev/null +++ b/commercial-iso-config.nix @@ -0,0 +1,128 @@ +{ + pkgs, + inputs, + self, + ... +}: +let + # TODO: Parameterize this to combine with iso-config.nix + # Currently hardcoded to rhemawavekiosk-commercial; should accept target config as param + targetSystem = + self.nixosConfigurations.rhemawavekiosk-commercial.config.system.build.toplevel; + + diskoScript = + self.nixosConfigurations.rhemawavekiosk-commercial.config.system.build.diskoScript; +in +{ + nix.settings = { + experimental-features = [ + "nix-command" + "flakes" + ]; + + substituters = [ + "https://cache.nixos.org" + ]; + + flake-registry = ""; + }; + + nix.registry.nixpkgs = pkgs.lib.mkForce { + to = { + type = "path"; + path = "${inputs.nixpkgs}"; + }; + }; + + environment.variables.KIOSK_FLAKE = "${self}"; + + virtualisation.vmVariant = { + virtualisation.memorySize = 8096; + virtualisation.diskSize = 100000; + virtualisation.cores = 4; + virtualisation.qemu.options = [ + # "-nic none" + ]; + virtualisation.forwardPorts = [ + { from = "host"; host.port = 2222; guest.port = 22; } + ]; + }; + + environment.etc."nix/netrc" = { + text = '' + password eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjIwODgzODk2ODEsIm5iZiI6MTc3MjgxMzY4MSwic3ViIjoia2lvc2siLCJodHRwczovL2p3dC5hdHRpYy5ycy92MSI6eyJjYWNoZXMiOnsia2lvc2siOnsiciI6MX19fX0.N6Ktrmmu1LSy2PP8uNF25VHRP1dxPZJ4M0MR1kUpVi0 + ''; + mode = "0400"; + }; + + nix.extraOptions = '' + netrc-file = /etc/nix/netrc + ''; + + networking.networkmanager.enable = true; + + systemd.services.NetworkManager-wait-online.enable = false; + + nix.settings.connect-timeout = 0; + + services.openssh.enable = true; + + users.users.root.openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB4vXx7sOOVAyxdS/N1LEI+L8wYICf+gbzs6Kz7K8Je5 cnclack@pm.me:Thinkpad" + ]; + + systemd.services.zero-touch-install = { + description = "Zero-Touch Kiosk Installation"; + + wantedBy = [ "multi-user.target" ]; + + wants = [ ]; + after = [ "systemd-udev-settle.service" ]; + + path = with pkgs; [ + nix + git + util-linux + nixos-install-tools + curl + networkmanager + mount + umount + disko + ]; + + environment = { + NIX_PATH = "nixpkgs=${inputs.nixpkgs}"; + KIOSK_FLAKE = "${self}"; + DISKO_SCRIPT = "${diskoScript}"; + }; + + script = '' + set -euo pipefail + + echo "Running disko script..." + echo "Script: $DISKO_SCRIPT" + + ${diskoScript} + + echo "Installing RhemaWave" + echo "Closure Path: ${targetSystem}" + + nixos-install \ + --system "${targetSystem}" \ + --no-root-passwd \ + --no-channel-copy + + # Redirect to console and show completion message + exec > /dev/tty1 2>&1 + echo "" + echo "=============================================" + echo " Installation complete!" + echo "" + echo " Please remove the USB drive and reboot." + echo "=============================================" + + # Wait indefinitely for user action + sleep infinity +''; }; +} diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..f061178 --- /dev/null +++ b/configuration.nix @@ -0,0 +1,202 @@ +{ pkgs, rhemawave, upgradeFlakeRef, ... }: + +let + rhemaApp = rhemawave.packages.${pkgs.system}.default; + myKey = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB4vXx7sOOVAyxdS/N1LEI+L8wYICf+gbzs6Kz7K8Je5 cnclack@pm.me:Thinkpad" ]; +in +{ + # Included packages + environment.systemPackages = [ + pkgs.cage pkgs.rsync pkgs.dbus pkgs.mesa pkgs.git pkgs.tailscale pkgs.sqlite + rhemaApp + ]; + + # This populates the EFI partition and tells the NUC how to start NixOS. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # Hardware-specific: NUC 14 needs these for the NVMe and Graphics + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "i915" "drm" "drm_kms_helper" ]; + boot.kernelParams = [ "quiet" "splash" ]; + + # --- Essential Services --- + services.pipewire = { enable = true; alsa.enable = true; pulse.enable = true; }; + services.seatd.enable = true; + services.openssh.enable = true; + services.openssh.settings.PermitRootLogin = "prohibit-password"; + hardware.graphics.enable = true; + system.autoUpgrade = { + enable = true; + flake = upgradeFlakeRef; + dates = "*:00/10"; + flags = [ "--refresh" "-L" ]; + operation = "switch"; + }; + time.timeZone = "America/Chicago"; + + # Networking Network-Manager + services.resolved.enable = false; + networking.networkmanager.enable = true; + systemd.services.NetworkManager-wait-online.enable = false; + systemd.network.wait-online.enable = false; + + # --- Users & SSH Keys --- + users.users.root.openssh.authorizedKeys.keys = myKey; + users.users.kiosk = { + isNormalUser = true; + uid = 1000; + extraGroups = ["audio" "video" "input" "networkmanager" "wheel"]; + openssh.authorizedKeys.keys = myKey; + password = "Fuckp@ssw0rds"; + }; + services.getty.autologinUser = "kiosk"; + + # --- Set ownership of Radiantwave files --- + systemd.tmpfiles.rules = [ + "d /home/kiosk/.local/share/rhemawave 0770 kiosk kiosk -" + ]; + + system.activationScripts.cleanRadiantFiles = '' + rm -rf /home/kiosk/.local/share/rhemawave/audio + ''; + + # --- Backup service: runs before nixos-upgrade --- + systemd.services.rhemawave-backup = { + description = "Backup RadiantWave user data before upgrade"; + before = [ "nixos-upgrade.service" ]; + wantedBy = [ "nixos-upgrade.service" ]; + serviceConfig = { + Type = "oneshot"; + User = "kiosk"; + }; + script = '' + BACKUP_DIR="/home/kiosk/.local/share/rhemawave-backup" + SOURCE_DIR="/home/kiosk/.local/share/rhemawave" + + mkdir -p "$BACKUP_DIR" + + ${pkgs.rsync}/bin/rsync -a \ + --exclude='audio/' \ + "$SOURCE_DIR/" "$BACKUP_DIR/" + + echo "Backup completed at $(date)" > "$BACKUP_DIR/.backup-timestamp" + ''; + }; + + # --- Health check service: runs after nixos-upgrade --- + systemd.services.rhemawave-healthcheck = { + description = "Verify RadiantWave is running after upgrade, rollback if not"; + after = [ "nixos-upgrade.service" ]; + wantedBy = [ "nixos-upgrade.service" ]; + serviceConfig = { + Type = "oneshot"; + # Give cage time to start rhemawave after the switch + ExecStartPre = "${pkgs.coreutils}/bin/sleep 90"; + }; + script = '' + if ${pkgs.procps}/bin/pgrep -x rhemawave > /dev/null; then + echo "RadiantWave is running, upgrade successful" + exit 0 + fi + + echo "RadiantWave not found after upgrade, rolling back..." + + # Roll back to previous NixOS generation + /run/current-system/sw/bin/nixos-rebuild switch --rollback + + echo "Rollback completed at $(date)" + ''; + }; + + # --- 3. The Kiosk Startup Script --- + environment.loginShellInit = '' + if [ "$(tty)" = "/dev/tty1" ]; then + export GODEBUG=netdns=cgo + export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt + + # Smart Network Wait + for i in {1..10}; do + if ${pkgs.iputils}/bin/ping -c 1 8.8.8.8 &> /dev/null; then + break + fi + sleep 1 + done + + # Graphics fixes + export SDL_VIDEODRIVER=wayland + export QT_QPA_PLATFORM=wayland + export XDG_SESSION_TYPE=wayland + export WLR_RENDERER=pixman + export WLR_NO_HARDWARE_CURSORS=1 + + # Asset sync + start app + mkdir -p /home/kiosk/.local/share/rhemawave + ${pkgs.rsync}/bin/rsync -ru ${rhemaApp}/share/rhemawave/ /home/kiosk/.local/share/rhemawave/ + + exec dbus-run-session cage -- ${rhemaApp}/bin/rhemawave -d -s > /tmp/kiosk.log 2>&1 + fi + ''; + + # # Tailscale Configuration + # systemd.tmpfiles.rules = [ + # "d /etc/tailscale 0700 root root -" + # "f /etc/tailscale/preauth-key 0600 root root - ${preAuthKey}" + # ]; + + # services.tailscale = { + # enable = true; + # authKeyFile = "/etc/tailscale/preauth-key"; + # openFirewall = true; + # authKeyParameters.preauthorized = true; + # extraUpFlags = [ + # "--login-server" headscaleUrl + # ]; + # }; + + # systemd.services.tailscale-set-hostname = { + # description = "Set Tailscale hostname based on the RhemaWave license key"; + # after = [ "tailscale-autoconnect.service" ]; + # wants = [ "tailscaled.service" ]; + # wantedBy = [ "multi-user.target" ]; + # serviceConfig = { + # Type = "oneshot"; + # RemainAfterExit = true; + # }; + # script = '' + # if [ -f "${licenseKeyFile}" ]; then + # KEY=$(cat "${licenseKeyFile}" | tr -d '[:space:]') + # if [ -n "$KEY" ]; then + # echo "Setting Tailscale hostname to: $KEY" + # ${pkgs.lib.getExe pkgs.tailscale} set --hostname="$KEY" + # exit 0 + # fi + # fi + # echo "No license key found, skipping hostname override" + # ''; + # }; + + # Virtual machine declaration + virtualisation.vmVariant = { + boot.loader.systemd-boot.enable = pkgs.lib.mkForce false; + boot.loader.efi.canTouchEfiVariables = pkgs.lib.mkForce false; + virtualisation.forwardPorts = [ + { from = "host"; host.port = 2222; guest.port = 22; } + ]; + virtualisation.qemu.options = [ + "-device intel-hda" + "-device hda-duplex" + "-vga virtio" + ]; + virtualisation = { + cores = 8; + memorySize = 8192; + }; + services.logrotate.enable = false; + }; + virtualisation.diskSize = 10485760; + + # NixOS settings. + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + nix.settings.accept-flake-config = true; + system.stateVersion = "24.05"; +} diff --git a/dev-iso.nix b/dev-iso.nix new file mode 100644 index 0000000..c53cc30 --- /dev/null +++ b/dev-iso.nix @@ -0,0 +1,128 @@ +{ + pkgs, + inputs, + self, + ... +}: +let + targetSystem = + self.nixosConfigurations.rhemawavekiosk-dev.config.system.build.toplevel; + + # 🔧 FIX: prebuilt disko script (restores v1.0.1 behavior) + diskoScript = + self.nixosConfigurations.rhemawavekiosk-dev.config.system.build.diskoScript; +in +{ + nix.settings = { + experimental-features = [ + "nix-command" + "flakes" + ]; + + # 🔧 FIX: restore cache (prevents massive rebuild/download cascade) + substituters = [ + "https://cache.nixos.org" + ]; + + flake-registry = ""; + }; + + nix.registry.nixpkgs = pkgs.lib.mkForce { + to = { + type = "path"; + path = "${inputs.nixpkgs}"; + }; + }; + + environment.variables.KIOSK_FLAKE = "${self}"; + + virtualisation.vmVariant = { + virtualisation.memorySize = 8096; + virtualisation.diskSize = 100000; + virtualisation.cores = 4; + virtualisation.qemu.options = [ + # "-nic none" + ]; + virtualisation.forwardPorts = [ + { from = "host"; host.port = 2222; guest.port = 22; } + ]; + }; + + environment.etc."nix/netrc" = { + text = '' + password eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjIwODgzODk2ODEsIm5iZiI6MTc3MjgxMzY4MSwic3ViIjoia2lvc2siLCJodHRwczovL2p3dC5hdHRpYy5ycy92MSI6eyJjYWNoZXMiOnsia2lvc2siOnsiciI6MX19fX0.N6Ktrmmu1LSy2PP8uNF25VHRP1dxPZJ4M0MR1kUpVi0 + ''; + mode = "0400"; + }; + + nix.extraOptions = '' + netrc-file = /etc/nix/netrc + ''; + + networking.networkmanager.enable = true; + + systemd.services.NetworkManager-wait-online.enable = false; + + nix.settings.connect-timeout = 0; + + services.openssh.enable = true; + + users.users.root.openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB4vXx7sOOVAyxdS/N1LEI+L8wYICf+gbzs6Kz7K8Je5 cnclack@pm.me:Thinkpad" + ]; + + systemd.services.zero-touch-install = { + description = "Zero-Touch Kiosk Installation"; + + wantedBy = [ "multi-user.target" ]; + + # 🔧 FIX: remove runtime network dependency + wants = [ ]; + after = [ "systemd-udev-settle.service" ]; + + path = with pkgs; [ + nix + git + util-linux + nixos-install-tools + curl + networkmanager + mount + umount + disko + ]; + + environment = { + NIX_PATH = "nixpkgs=${inputs.nixpkgs}"; + KIOSK_FLAKE = "${self}"; + DISKO_SCRIPT = "${diskoScript}"; + }; + + script = '' + set -euo pipefail + + DISK=/dev/vda + + echo "Running disko script..." + echo "Script: $DISKO_SCRIPT" + + # 🔧 FIX: use prebuilt script instead of runtime disko eval + ${diskoScript} + + echo "Installing RhemaWave" + echo "Closure Path: ${targetSystem}" + + nixos-install \ + --system "${targetSystem}" \ + --no-root-passwd \ + --no-channel-copy + + echo "============================================" + echo " Installation complete!" + echo " Rebooting in 5 seconds..." + echo "============================================" + sleep 5 + systemctl reboot --force + ''; + }; +} \ No newline at end of file diff --git a/disk-config.nix b/disk-config.nix new file mode 100644 index 0000000..44e2f6b --- /dev/null +++ b/disk-config.nix @@ -0,0 +1,44 @@ +{ lib, ... }: +{ + disko.devices = { + disk.disk1 = { + device = lib.mkDefault "/dev/nvme0n1"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + boot = { + name = "boot"; + size = "1M"; + type = "EF00"; + }; + esp = { + name = "ESP"; + size = "500M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + extraArgs = [ "-n" "EFIBOOT" ]; + }; + }; + root = { + name = "root"; + size = "100%"; + content = { + type = "filesystem"; + format = "xfs"; + mountpoint = "/"; + extraArgs = [ "-L" "nixos" ]; + mountOptions = [ + "defaults" + "pquota" + ]; + }; + }; + }; + }; + }; + }; +} diff --git a/facter.json b/facter.json new file mode 100644 index 0000000..b1a3620 --- /dev/null +++ b/facter.json @@ -0,0 +1,4549 @@ +{ + "version": 1, + "system": "x86_64-linux", + "virtualisation": "none", + "uefi": { + "supported": true, + "platform_size": 64 + }, + "hardware": { + "bios": { + "apm_info": { + "supported": false, + "enabled": false, + "version": 0, + "sub_version": 0, + "bios_flags": 0 + }, + "vbe_info": { + "version": 0, + "video_memory": 0 + }, + "pnp": false, + "pnp_id": 0, + "lba_support": false, + "low_memory_size": 0, + "smbios_version": 774 + }, + "bluetooth": [ + { + "index": 42, + "attached_to": 41, + "class_list": [ + "usb", + "bluetooth" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0115", + "name": "Bluetooth Device", + "value": 277 + }, + "vendor": { + "hex": "8087", + "value": 32903 + }, + "device": { + "hex": "0033", + "value": 51 + }, + "model": "Bluetooth Device", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.0", + "sysfs_bus_id": "3-10:1.0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00e0", + "name": "wireless", + "value": 224 + }, + "device_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "device_protocol": 1, + "interface_class": { + "hex": "00e0", + "name": "wireless", + "value": 224 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "btusb", + "driver_module": "btusb", + "drivers": [ + "btusb" + ], + "driver_modules": [ + "btusb" + ], + "module_alias": "usb:v8087p0033d0000dcE0dsc01dp01icE0isc01ip01in00" + }, + { + "index": 48, + "attached_to": 41, + "class_list": [ + "usb", + "bluetooth" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0115", + "name": "Bluetooth Device", + "value": 277 + }, + "vendor": { + "hex": "8087", + "value": 32903 + }, + "device": { + "hex": "0033", + "value": 51 + }, + "model": "Bluetooth Device", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.1", + "sysfs_bus_id": "3-10:1.1", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00e0", + "name": "wireless", + "value": 224 + }, + "device_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "device_protocol": 1, + "interface_class": { + "hex": "00e0", + "name": "wireless", + "value": 224 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 1, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "btusb", + "driver_module": "btusb", + "drivers": [ + "btusb" + ], + "driver_modules": [ + "btusb" + ], + "module_alias": "usb:v8087p0033d0000dcE0dsc01dp01icE0isc01ip01in01" + } + ], + "bridge": [ + { + "index": 15, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0001", + "name": "ISA bridge", + "value": 1 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "519d", + "value": 20893 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel ISA bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.0", + "sysfs_bus_id": "0000:00:1f.0", + "sysfs_iommu_group_id": 15, + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d0000519Dsv00001043sd000088CBbc06sc01i00", + "label": "Onboard - Other" + }, + { + "index": 16, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 7 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a72f", + "value": 42799 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:07.2", + "sysfs_bus_id": "0000:00:07.2", + "sysfs_iommu_group_id": 5, + "detail": { + "function": 2, + "command": 1031, + "header_type": 1, + "secondary_bus": 44, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00008086d0000A72Fsv00001043sd000088CBbc06sc04i00" + }, + { + "index": 21, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 7 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a76e", + "value": 42862 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:07.0", + "sysfs_bus_id": "0000:00:07.0", + "sysfs_iommu_group_id": 4, + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 2, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00008086d0000A76Esv00001043sd000088CBbc06sc04i00" + }, + { + "index": 25, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a71b", + "value": 42779 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:00.0", + "sysfs_bus_id": "0000:00:00.0", + "sysfs_iommu_group_id": 1, + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d0000A71Bsv00001043sd000088CBbc06sc00i00", + "label": "Onboard - Other" + }, + { + "index": 27, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 6 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "device": { + "hex": "a74d", + "value": 42829 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:06.0", + "sysfs_bus_id": "0000:00:06.0", + "sysfs_iommu_group_id": 3, + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 1, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00008086d0000A74Dsv00000000sd00000000bc06sc04i00" + }, + { + "index": 28, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 29 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51b0", + "value": 20912 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:1d.0", + "sysfs_bus_id": "0000:00:1d.0", + "sysfs_iommu_group_id": 14, + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 86, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00008086d000051B0sv00001043sd000088CBbc06sc04i00" + } + ], + "cpu": [ + { + "architecture": "x86_64", + "vendor_name": "GenuineIntel", + "model_name": "Intel(R) Core(TM) 3 100U", + "family": 6, + "model": 186, + "stepping": 3, + "features": [ + "fpu", + "vme", + "de", + "pse", + "tsc", + "msr", + "pae", + "mce", + "cx8", + "apic", + "sep", + "mtrr", + "pge", + "mca", + "cmov", + "pat", + "pse36", + "clflush", + "dts", + "acpi", + "mmx", + "fxsr", + "sse", + "sse2", + "ss", + "ht", + "tm", + "pbe", + "syscall", + "nx", + "pdpe1gb", + "rdtscp", + "lm", + "constant_tsc", + "art", + "arch_perfmon", + "pebs", + "bts", + "rep_good", + "nopl", + "xtopology", + "nonstop_tsc", + "cpuid", + "aperfmperf", + "tsc_known_freq", + "pni", + "pclmulqdq", + "dtes64", + "monitor", + "ds_cpl", + "vmx", + "est", + "tm2", + "ssse3", + "sdbg", + "fma", + "cx16", + "xtpr", + "pdcm", + "pcid", + "sse4_1", + "sse4_2", + "x2apic", + "movbe", + "popcnt", + "tsc_deadline_timer", + "aes", + "xsave", + "avx", + "f16c", + "rdrand", + "lahf_lm", + "abm", + "3dnowprefetch", + "cpuid_fault", + "epb", + "ssbd", + "ibrs", + "ibpb", + "stibp", + "ibrs_enhanced", + "tpr_shadow", + "flexpriority", + "ept", + "vpid", + "ept_ad", + "fsgsbase", + "tsc_adjust", + "bmi1", + "avx2", + "smep", + "bmi2", + "erms", + "invpcid", + "rdseed", + "adx", + "smap", + "clflushopt", + "clwb", + "intel_pt", + "sha_ni", + "xsaveopt", + "xsavec", + "xgetbv1", + "xsaves", + "split_lock_detect", + "user_shstk", + "avx_vnni", + "dtherm", + "ida", + "arat", + "pln", + "pts", + "hwp", + "hwp_notify", + "hwp_act_window", + "hwp_epp", + "hwp_pkg_req", + "hfi", + "vnmi", + "umip", + "pku", + "ospke", + "waitpkg", + "gfni", + "vaes", + "vpclmulqdq", + "rdpid", + "movdiri", + "movdir64b", + "fsrm", + "md_clear", + "serialize", + "arch_lbr", + "ibt", + "flush_l1d", + "arch_capabilities" + ], + "bugs": [ + "spectre_v1", + "spectre_v2", + "spec_store_bypass", + "swapgs", + "eibrs_pbrsb", + "rfds", + "bhi", + "spectre_v2_user", + "old_microcode", + "vmscape" + ], + "power_management": [ + "" + ], + "bogo": 4992, + "cache": 10240, + "units": 64, + "page_size": 4096, + "physical_id": 0, + "siblings": 8, + "cores": 6, + "fpu": false, + "fpu_exception": false, + "cpuid_level": 32, + "write_protect": false, + "clflush_size": 64, + "cache_alignment": 64, + "address_sizes": { + "physical": "0x27", + "virtual": "0x30" + } + } + ], + "disk": [ + { + "index": 37, + "attached_to": 20, + "class_list": [ + "disk", + "block_device", + "nvme" + ], + "bus_type": { + "hex": "0096", + "name": "NVME", + "value": 150 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "vendor": { + "hex": "1d79", + "value": 7545 + }, + "sub_vendor": { + "hex": "1d79", + "value": 7545 + }, + "device": { + "hex": "5766", + "name": "TS256GMTE110S", + "value": 22374 + }, + "sub_device": { + "hex": "5766", + "value": 22374 + }, + "serial": "J350391920", + "model": "TS256GMTE110S", + "sysfs_id": "/class/block/nvme0n1", + "sysfs_bus_id": "nvme0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:06.0/0000:01:00.0/nvme/nvme0", + "unix_device_names": [ + "/dev/disk/by-id/nvme-TS256GMTE110S_J350391920", + "/dev/disk/by-id/nvme-TS256GMTE110S_J350391920_1", + "/dev/disk/by-id/nvme-eui.4a333530333931394ce0001832302020", + "/dev/disk/by-path/pci-0000:01:00.0-nvme-1", + "/dev/nvme0n1" + ], + "resources": [ + { + "type": "disk_geo", + "cylinders": 244198, + "heads": 64, + "sectors": 32, + "size": "0x0", + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 500118192, + "value_2": 512 + } + ], + "driver": "nvme", + "driver_module": "nvme", + "drivers": [ + "nvme" + ], + "driver_modules": [ + "nvme" + ] + }, + { + "index": 38, + "attached_to": 31, + "class_list": [ + "disk", + "usb", + "scsi", + "block_device" + ], + "bus_type": { + "hex": "0084", + "name": "SCSI", + "value": 132 + }, + "slot": { + "bus": 2, + "number": 0 + }, + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "vendor": { + "hex": "0951", + "name": "Kingston", + "value": 2385 + }, + "device": { + "hex": "1666", + "name": "DataTraveler 3.0", + "value": 5734 + }, + "revision": { + "hex": "0000", + "name": "PMAP", + "value": 0 + }, + "serial": "CE8879F15749", + "model": "Kingston DataTraveler 3.0", + "sysfs_id": "/class/block/sda", + "sysfs_bus_id": "2:0:0:0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.0/host2/target2:0:0/2:0:0:0", + "unix_device_names": [ + "/dev/disk/by-id/usb-Kingston_DataTraveler_3.0_C87F54C69BB4E89179450B40-0:0", + "/dev/disk/by-path/pci-0000:00:14.0-usb-0:9:1.0-scsi-0:0:0:0", + "/dev/disk/by-path/pci-0000:00:14.0-usbv2-0:9:1.0-scsi-0:0:0:0", + "/dev/sda" + ], + "unix_device_name2": "/dev/sg0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + }, + { + "type": "disk_geo", + "cylinders": 59136, + "heads": 64, + "sectors": 32, + "size": "0x0", + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 121110528, + "value_2": 512 + } + ], + "driver": "usb-storage", + "driver_module": "usb_storage", + "drivers": [ + "sd", + "usb-storage" + ], + "driver_modules": [ + "sd_mod", + "usb_storage" + ], + "module_alias": "usb:v0951p1666d0110dc00dsc00dp00ic08isc06ip50in00" + } + ], + "graphics_card": [ + { + "index": 30, + "attached_to": 0, + "class_list": [ + "graphics_card", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 2 + }, + "base_class": { + "hex": "0003", + "name": "Display controller", + "value": 3 + }, + "sub_class": { + "hex": "0000", + "name": "VGA compatible controller", + "value": 0 + }, + "pci_interface": { + "hex": "0000", + "name": "VGA", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a7ad", + "value": 42925 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0004", + "value": 4 + }, + "model": "Intel VGA compatible controller", + "sysfs_id": "/devices/pci0000:00/0000:00:02.0", + "sysfs_bus_id": "0000:00:02.0", + "sysfs_iommu_group_id": 0, + "resources": [ + { + "type": "io", + "base": 12288, + "range": 64, + "enabled": true, + "access": "read_write" + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "i915", + "driver_module": "i915", + "drivers": [ + "i915" + ], + "driver_modules": [ + "i915" + ], + "module_alias": "pci:v00008086d0000A7ADsv00001043sd000088CBbc03sc00i00", + "label": "Onboard - Video" + } + ], + "hub": [ + { + "index": 41, + "attached_to": 31, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.13 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:00:14.0", + "model": "Linux 6.18.13 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-0:1.0", + "sysfs_bus_id": "3-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0002d0618dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 44, + "attached_to": 31, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.13 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:00:14.0", + "model": "Linux 6.18.13 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb4/4-0:1.0", + "sysfs_bus_id": "4-0:1.0", + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0003d0618dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 47, + "attached_to": 14, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.13 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:00:0d.0", + "model": "Linux 6.18.13 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb1/1-0:1.0", + "sysfs_bus_id": "1-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0002d0618dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 50, + "attached_to": 14, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.13 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:00:0d.0", + "model": "Linux 6.18.13 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb2/2-0:1.0", + "sysfs_bus_id": "2-0:1.0", + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0003d0618dc09dsc00dp03ic09isc00ip00in00" + } + ], + "keyboard": [ + { + "index": 39, + "attached_to": 41, + "class_list": [ + "keyboard", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0108", + "name": "Keyboard", + "value": 264 + }, + "sub_class": { + "hex": "0000", + "name": "Keyboard", + "value": 0 + }, + "vendor": { + "hex": "413d", + "name": "SONiX", + "value": 16701 + }, + "device": { + "hex": "2114", + "name": "AMAZON MD005 Wired Keyboard", + "value": 8468 + }, + "revision": { + "hex": "0000", + "name": "1.04", + "value": 0 + }, + "model": "SONiX AMAZON MD005 Wired Keyboard", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0", + "sysfs_bus_id": "3-3:1.0", + "unix_device_names": [ + "/dev/input/by-id/usb-SONiX_AMAZON_MD005_Wired_Keyboard-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:3:1.0-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:3:1.0-event-kbd", + "/dev/input/event2" + ], + "resources": [ + { + "type": "baud", + "speed": 1500000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "driver_info": { + "type": "keyboard", + "xkb_rules": "xfree86", + "xkb_model": "pc104" + }, + "module_alias": "usb:v413Dp2114d0104dc00dsc00dp00ic03isc01ip01in00" + } + ], + "memory": [ + { + "index": 11, + "attached_to": 0, + "class_list": [ + "memory" + ], + "base_class": { + "hex": "0101", + "name": "Internally Used Class", + "value": 257 + }, + "sub_class": { + "hex": "0002", + "name": "Main Memory", + "value": 2 + }, + "model": "Main Memory", + "resources": [ + { + "type": "phys_mem", + "range": 8053063680 + } + ] + } + ], + "monitor": [ + { + "index": 36, + "attached_to": 30, + "class_list": [ + "monitor" + ], + "base_class": { + "hex": "0100", + "name": "Monitor", + "value": 256 + }, + "sub_class": { + "hex": "0002", + "name": "LCD Monitor", + "value": 2 + }, + "vendor": { + "hex": "0472", + "value": 1138 + }, + "device": { + "hex": "0e35", + "name": "SH242Y G0", + "value": 3637 + }, + "serial": "444104C4D2X00", + "model": "SH242Y G0", + "resources": [ + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 70, + "interlaced": false + }, + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "monitor", + "width": 1280, + "height": 1024, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1280, + "height": 1024, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "monitor", + "width": 1280, + "height": 720, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1920, + "height": 1080, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 72, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "monitor", + "width": 720, + "height": 400, + "vertical_frequency": 70, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 56, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 72, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "size", + "unit": "mm", + "value_1": 527, + "value_2": 297 + } + ], + "detail": { + "manufacture_year": 2024, + "manufacture_week": 41, + "vertical_sync": { + "min": 48, + "max": 120 + }, + "horizontal_sync": { + "min": 15, + "max": 160 + }, + "horizontal_sync_timings": { + "disp": 1920, + "sync_start": 2008, + "sync_end": 2052, + "total": 2200 + }, + "vertical_sync_timings": { + "disp": 1080, + "sync_start": 1084, + "sync_end": 1089, + "total": 1125 + }, + "clock": 148500, + "width": 1920, + "height": 1080, + "width_millimetres": 527, + "height_millimetres": 297, + "horizontal_flag": 45, + "vertical_flag": 43, + "vendor": "", + "name": "SH242Y G0" + }, + "driver_info": { + "type": "display", + "width": 1920, + "height": 1080, + "vertical_sync": { + "min": 48, + "max": 120 + }, + "horizontal_sync": { + "min": 15, + "max": 160 + }, + "bandwidth": 0, + "horizontal_sync_timings": { + "disp": 1920, + "sync_start": 2008, + "sync_end": 2052, + "total": 2200 + }, + "vertical_sync_timings": { + "disp": 1080, + "sync_start": 1084, + "sync_end": 1089, + "total": 1125 + }, + "horizontal_flag": 45, + "vertical_flag": 43 + } + } + ], + "mouse": [ + { + "index": 49, + "attached_to": 41, + "class_list": [ + "mouse", + "usb" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0105", + "name": "Mouse", + "value": 261 + }, + "sub_class": { + "hex": "0003", + "name": "USB Mouse", + "value": 3 + }, + "vendor": { + "hex": "1532", + "name": "Razer", + "value": 5426 + }, + "device": { + "hex": "0071", + "name": "Razer DeathAdder Essential White Edition", + "value": 113 + }, + "revision": { + "hex": "0000", + "name": "2.00", + "value": 0 + }, + "compat_vendor": "Unknown", + "compat_device": "Generic USB Mouse", + "model": "Razer DeathAdder Essential White Edition", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0", + "sysfs_bus_id": "3-2:1.0", + "unix_device_names": [ + "/dev/input/mice" + ], + "unix_device_name2": "/dev/input/mouse0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 2, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "driver_info": { + "type": "mouse", + "db_entry_0": [ + "explorerps/2", + "exps2" + ], + "xf86": "explorerps/2", + "gpm": "exps2", + "buttons": -1, + "wheels": -1 + }, + "module_alias": "usb:v1532p0071d0200dc00dsc00dp00ic03isc01ip02in00" + } + ], + "network_controller": [ + { + "index": 18, + "attached_to": 0, + "class_list": [ + "network_controller", + "pci", + "wlan_card" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0082", + "name": "WLAN controller", + "value": 130 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "device": { + "hex": "51f1", + "value": 20977 + }, + "sub_device": { + "hex": "0094", + "value": 148 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel WLAN controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.3", + "sysfs_bus_id": "0000:00:14.3", + "sysfs_iommu_group_id": 11, + "unix_device_names": [ + "wlan0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 50 + }, + { + "type": "phwaddr", + "address": 50 + }, + { + "type": "wlan", + "channels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "36", + "40", + "44", + "48", + "52", + "56", + "60", + "64", + "100", + "104", + "108", + "112", + "116", + "120", + "124", + "128", + "132", + "136", + "140" + ], + "frequencies": [ + "2.412", + "2.417", + "2.422", + "2.427", + "2.432", + "2.437", + "2.442", + "2.447", + "2.452", + "2.457", + "2.462", + "2.467", + "2.472", + "5.18", + "5.2", + "5.22", + "5.24", + "5.26", + "5.28", + "5.3", + "5.32", + "5.5", + "5.52", + "5.54", + "5.56", + "5.58", + "5.6", + "5.62", + "5.64", + "5.66", + "5.68", + "5.7" + ], + "auth_modes": [ + "open", + "sharedkey", + "wpa-psk", + "wpa-eap" + ], + "enc_modes": [ + "WEP40", + "WEP104", + "TKIP", + "CCMP" + ] + } + ], + "detail": { + "function": 3, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": [ + "iwlwifi" + ], + "driver_modules": [ + "iwlwifi" + ], + "module_alias": "pci:v00008086d000051F1sv00008086sd00000094bc02sc80i00", + "label": "Onboard - Ethernet" + }, + { + "index": 32, + "attached_to": 28, + "class_list": [ + "network_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 86, + "number": 0 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0000", + "name": "Ethernet controller", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "125c", + "value": 4700 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0004", + "value": 4 + }, + "model": "Intel Ethernet controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1d.0/0000:56:00.0", + "sysfs_bus_id": "0000:56:00.0", + "sysfs_iommu_group_id": 17, + "unix_device_names": [ + "enp86s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 56 + }, + { + "type": "phwaddr", + "address": 56 + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "igc", + "driver_module": "igc", + "drivers": [ + "igc" + ], + "driver_modules": [ + "igc" + ], + "module_alias": "pci:v00008086d0000125Csv00001043sd000088CBbc02sc00i00" + } + ], + "network_interface": [ + { + "index": 51, + "attached_to": 0, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0000", + "name": "Loopback", + "value": 0 + }, + "model": "Loopback network interface", + "sysfs_id": "/class/net/lo", + "unix_device_names": [ + "lo" + ] + }, + { + "index": 52, + "attached_to": 32, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0001", + "name": "Ethernet", + "value": 1 + }, + "model": "Ethernet network interface", + "sysfs_id": "/class/net/enp86s0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:1d.0/0000:56:00.0", + "unix_device_names": [ + "enp86s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 56 + }, + { + "type": "phwaddr", + "address": 56 + } + ], + "driver": "igc", + "driver_module": "igc", + "drivers": [ + "igc" + ], + "driver_modules": [ + "igc" + ] + }, + { + "index": 53, + "attached_to": 18, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "000a", + "name": "WLAN", + "value": 10 + }, + "model": "WLAN network interface", + "sysfs_id": "/class/net/wlan0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:14.3", + "unix_device_names": [ + "wlan0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 50 + }, + { + "type": "phwaddr", + "address": 50 + } + ], + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": [ + "iwlwifi" + ], + "driver_modules": [ + "iwlwifi" + ] + } + ], + "pci": [ + { + "index": 13, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 8 + }, + "base_class": { + "hex": "0008", + "name": "Generic system peripheral", + "value": 8 + }, + "sub_class": { + "hex": "0080", + "name": "System peripheral", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a74f", + "value": 42831 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel System peripheral", + "sysfs_id": "/devices/pci0000:00/0000:00:08.0", + "sysfs_bus_id": "0000:00:08.0", + "sysfs_iommu_group_id": 6, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d0000A74Fsv00001043sd000088CBbc08sc80i00", + "label": "Onboard - Other" + }, + { + "index": 17, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 4 + }, + "base_class": { + "hex": "0011", + "name": "Signal processing controller", + "value": 17 + }, + "sub_class": { + "hex": "0080", + "name": "Signal processing controller", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a71d", + "value": 42781 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Signal processing controller", + "sysfs_id": "/devices/pci0000:00/0000:00:04.0", + "sysfs_bus_id": "0000:00:04.0", + "sysfs_iommu_group_id": 2, + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "proc_thermal_pci", + "driver_module": "processor_thermal_device_pci", + "drivers": [ + "proc_thermal_pci" + ], + "driver_modules": [ + "processor_thermal_device_pci" + ], + "module_alias": "pci:v00008086d0000A71Dsv00001043sd000088CBbc11sc80i00", + "label": "Onboard - Other" + }, + { + "index": 19, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 22 + }, + "base_class": { + "hex": "0007", + "name": "Communication controller", + "value": 7 + }, + "sub_class": { + "hex": "0080", + "name": "Communication controller", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51e0", + "value": 20960 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Communication controller", + "sysfs_id": "/devices/pci0000:00/0000:00:16.0", + "sysfs_bus_id": "0000:00:16.0", + "sysfs_iommu_group_id": 12, + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "mei_me", + "driver_module": "mei_me", + "drivers": [ + "mei_me" + ], + "driver_modules": [ + "mei_me" + ], + "module_alias": "pci:v00008086d000051E0sv00001043sd000088CBbc07sc80i00", + "label": "Onboard - Other" + }, + { + "index": 22, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0080", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51a4", + "value": 20900 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Serial bus controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.5", + "sysfs_bus_id": "0000:00:1f.5", + "sysfs_iommu_group_id": 15, + "detail": { + "function": 5, + "command": 1026, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "intel-spi", + "driver_module": "spi_intel_pci", + "drivers": [ + "intel-spi" + ], + "driver_modules": [ + "spi_intel_pci" + ], + "module_alias": "pci:v00008086d000051A4sv00001043sd000088CBbc0Csc80i00", + "label": "Onboard - Other" + }, + { + "index": 26, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 18 + }, + "base_class": { + "hex": "0007", + "name": "Communication controller", + "value": 7 + }, + "sub_class": { + "hex": "0000", + "name": "Serial controller", + "value": 0 + }, + "pci_interface": { + "hex": "0000", + "name": "8250", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51fc", + "value": 20988 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Serial controller", + "sysfs_id": "/devices/pci0000:00/0000:00:12.0", + "sysfs_bus_id": "0000:00:12.0", + "sysfs_iommu_group_id": 9, + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "intel_ish_ipc", + "driver_module": "intel_ish_ipc", + "drivers": [ + "intel_ish_ipc" + ], + "driver_modules": [ + "intel_ish_ipc" + ], + "module_alias": "pci:v00008086d000051FCsv00001043sd000088CBbc07sc00i00", + "label": "Onboard - Other" + }, + { + "index": 29, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "hex": "0005", + "name": "Memory controller", + "value": 5 + }, + "sub_class": { + "hex": "0000", + "name": "RAM memory", + "value": 0 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51ef", + "value": 20975 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel RAM memory", + "sysfs_id": "/devices/pci0000:00/0000:00:14.2", + "sysfs_bus_id": "0000:00:14.2", + "sysfs_iommu_group_id": 10, + "detail": { + "function": 2, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d000051EFsv00001043sd000088CBbc05sc00i00", + "label": "Onboard - Other" + }, + { + "index": 33, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0005", + "name": "SMBus", + "value": 5 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51a3", + "value": 20899 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel SMBus", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.4", + "sysfs_bus_id": "0000:00:1f.4", + "sysfs_iommu_group_id": 15, + "resources": [ + { + "type": "io", + "base": 61344, + "range": 32, + "enabled": true, + "access": "read_write" + } + ], + "detail": { + "function": 4, + "command": 3, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "i801_smbus", + "driver_module": "i2c_i801", + "drivers": [ + "i801_smbus" + ], + "driver_modules": [ + "i2c_i801" + ], + "module_alias": "pci:v00008086d000051A3sv00001043sd000088CBbc0Csc05i00", + "label": "Onboard - Other" + }, + { + "index": 35, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 10 + }, + "base_class": { + "hex": "0011", + "name": "Signal processing controller", + "value": 17 + }, + "sub_class": { + "hex": "0080", + "name": "Signal processing controller", + "value": 128 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a77d", + "value": 42877 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Signal processing controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0a.0", + "sysfs_bus_id": "0000:00:0a.0", + "sysfs_iommu_group_id": 7, + "detail": { + "function": 0, + "command": 2, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "intel_vsec", + "driver_module": "intel_vsec", + "drivers": [ + "intel_vsec" + ], + "driver_modules": [ + "intel_vsec" + ], + "module_alias": "pci:v00008086d0000A77Dsv00001043sd000088CBbc11sc80i00", + "label": "Onboard - Other" + } + ], + "sound": [ + { + "index": 24, + "attached_to": 0, + "class_list": [ + "sound", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "hex": "0004", + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "hex": "0001", + "name": "Multimedia audio controller", + "value": 1 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51ca", + "value": 20938 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Multimedia audio controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.3", + "sysfs_bus_id": "0000:00:1f.3", + "sysfs_iommu_group_id": 15, + "detail": { + "function": 3, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "snd_hda_intel", + "driver_module": "snd_hda_intel", + "drivers": [ + "snd_hda_intel" + ], + "driver_modules": [ + "snd_hda_intel" + ], + "module_alias": "pci:v00008086d000051CAsv00001043sd000088CBbc04sc01i00", + "label": "Onboard - Sound" + } + ], + "storage_controller": [ + { + "index": 12, + "attached_to": 0, + "class_list": [ + "storage_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 23 + }, + "base_class": { + "hex": "0001", + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "hex": "0006", + "value": 6 + }, + "pci_interface": { + "hex": "0001", + "value": 1 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51d3", + "value": 20947 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel Mass storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:17.0", + "sysfs_bus_id": "0000:00:17.0", + "sysfs_iommu_group_id": 13, + "resources": [ + { + "type": "io", + "base": 12384, + "range": 32, + "enabled": true, + "access": "read_write" + }, + { + "type": "io", + "base": 12416, + "range": 4, + "enabled": true, + "access": "read_write" + }, + { + "type": "io", + "base": 12432, + "range": 8, + "enabled": true, + "access": "read_write" + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 1 + }, + "driver": "ahci", + "driver_module": "ahci", + "drivers": [ + "ahci" + ], + "driver_modules": [ + "ahci" + ], + "module_alias": "pci:v00008086d000051D3sv00001043sd000088CBbc01sc06i01", + "label": "Onboard - SATA" + }, + { + "index": 20, + "attached_to": 27, + "class_list": [ + "storage_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 1, + "number": 0 + }, + "base_class": { + "hex": "0001", + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "hex": "0008", + "value": 8 + }, + "pci_interface": { + "hex": "0002", + "value": 2 + }, + "vendor": { + "hex": "1d79", + "value": 7545 + }, + "sub_vendor": { + "hex": "1d79", + "value": 7545 + }, + "device": { + "hex": "5766", + "value": 22374 + }, + "sub_device": { + "hex": "5766", + "value": 22374 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Mass storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:06.0/0000:01:00.0", + "sysfs_bus_id": "0000:01:00.0", + "sysfs_iommu_group_id": 16, + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 2 + }, + "driver": "nvme", + "driver_module": "nvme", + "drivers": [ + "nvme" + ], + "driver_modules": [ + "nvme" + ], + "module_alias": "pci:v00001D79d00005766sv00001D79sd00005766bc01sc08i02" + } + ], + "system": { + "form_factor": "laptop" + }, + "usb": [ + { + "index": 40, + "attached_to": 41, + "class_list": [ + "usb", + "unknown" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "hex": "1532", + "name": "Razer", + "value": 5426 + }, + "device": { + "hex": "0071", + "name": "Razer DeathAdder Essential White Edition", + "value": 113 + }, + "revision": { + "hex": "0000", + "name": "2.00", + "value": 0 + }, + "model": "Razer DeathAdder Essential White Edition", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.1", + "sysfs_bus_id": "3-2:1.1", + "unix_device_names": [ + "/dev/input/by-id/usb-Razer_Razer_DeathAdder_Essential_White_Edition-event-if01", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:2:1.1-event", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:2:1.1-event", + "/dev/input/event3" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 1, + "interface_number": 1, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v1532p0071d0200dc00dsc00dp00ic03isc00ip01in01" + }, + { + "index": 43, + "attached_to": 41, + "class_list": [ + "usb", + "unknown" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "hex": "413d", + "name": "SONiX", + "value": 16701 + }, + "device": { + "hex": "2114", + "name": "AMAZON MD005 Wired Keyboard", + "value": 8468 + }, + "revision": { + "hex": "0000", + "name": "1.04", + "value": 0 + }, + "model": "SONiX AMAZON MD005 Wired Keyboard", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.1", + "sysfs_bus_id": "3-3:1.1", + "unix_device_names": [ + "/dev/input/by-id/usb-SONiX_AMAZON_MD005_Wired_Keyboard-event-if01", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:3:1.1-event", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:3:1.1-event", + "/dev/input/event5" + ], + "resources": [ + { + "type": "baud", + "speed": 1500000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 1, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v413Dp2114d0104dc00dsc00dp00ic03isc00ip00in01" + }, + { + "index": 46, + "attached_to": 41, + "class_list": [ + "usb", + "unknown" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "hex": "1532", + "name": "Razer", + "value": 5426 + }, + "device": { + "hex": "0071", + "name": "Razer DeathAdder Essential White Edition", + "value": 113 + }, + "revision": { + "hex": "0000", + "name": "2.00", + "value": 0 + }, + "model": "Razer DeathAdder Essential White Edition", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.2", + "sysfs_bus_id": "3-2:1.2", + "unix_device_names": [ + "/dev/input/by-id/usb-Razer_Razer_DeathAdder_Essential_White_Edition-if02-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:2:1.2-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:2:1.2-event-kbd", + "/dev/input/event4" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "0003", + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 1, + "interface_number": 2, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": [ + "usbhid" + ], + "driver_modules": [ + "usbhid" + ], + "module_alias": "usb:v1532p0071d0200dc00dsc00dp00ic03isc00ip01in02" + } + ], + "usb_controller": [ + { + "index": 14, + "attached_to": 0, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 13 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0030", + "value": 48 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "a71e", + "value": 42782 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0", + "sysfs_bus_id": "0000:00:0d.0", + "sysfs_iommu_group_id": 8, + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00008086d0000A71Esv00001043sd000088CBbc0Csc03i30", + "label": "Onboard - Other" + }, + { + "index": 23, + "attached_to": 0, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 13 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0040", + "value": 64 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "2222", + "value": 8738 + }, + "device": { + "hex": "a76d", + "value": 42861 + }, + "sub_device": { + "hex": "1111", + "value": 4369 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.3", + "sysfs_bus_id": "0000:00:0d.3", + "sysfs_iommu_group_id": 8, + "detail": { + "function": 3, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 64 + }, + "driver": "thunderbolt", + "driver_module": "thunderbolt", + "drivers": [ + "thunderbolt" + ], + "driver_modules": [ + "thunderbolt" + ], + "module_alias": "pci:v00008086d0000A76Dsv00002222sd00001111bc0Csc03i40", + "label": "Onboard - Other" + }, + { + "index": 31, + "attached_to": 0, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0030", + "value": 48 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "51ed", + "value": 20973 + }, + "sub_device": { + "hex": "88cb", + "value": 35019 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0", + "sysfs_bus_id": "0000:00:14.0", + "sysfs_iommu_group_id": 10, + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00008086d000051EDsv00001043sd000088CBbc0Csc03i30", + "label": "Onboard - Other" + }, + { + "index": 34, + "attached_to": 0, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 13 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0040", + "value": 64 + }, + "vendor": { + "hex": "8086", + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "hex": "2222", + "value": 8738 + }, + "device": { + "hex": "a73e", + "value": 42814 + }, + "sub_device": { + "hex": "1111", + "value": 4369 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.2", + "sysfs_bus_id": "0000:00:0d.2", + "sysfs_iommu_group_id": 8, + "detail": { + "function": 2, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 64 + }, + "driver": "thunderbolt", + "driver_module": "thunderbolt", + "drivers": [ + "thunderbolt" + ], + "driver_modules": [ + "thunderbolt" + ], + "module_alias": "pci:v00008086d0000A73Esv00002222sd00001111bc0Csc03i40", + "label": "Onboard - Other" + } + ] + }, + "smbios": { + "bios": { + "handle": 0, + "vendor": "ASUSTeK COMPUTER INC.", + "version": "RVRPLR30.0037.2024.1209.2113", + "date": "12/09/2024", + "features": [ + "PCI supported", + "BIOS flashable", + "BIOS shadowing allowed", + "CD boot supported", + "Selectable boot supported", + "BIOS ROM socketed", + "EDD spec supported", + "1.2MB NEC 9800 Japanese Floppy supported", + "1.2MB Toshiba Japanese Floppy supported", + "360kB Floppy supported", + "1.2MB Floppy supported", + "720kB Floppy supported", + "2.88MB Floppy supported", + "Print Screen supported", + "Serial Services supported", + "Printer Services supported", + "CGA/Mono Video supported", + "ACPI supported", + "USB Legacy supported", + "BIOS Boot Spec supported" + ], + "start_address": "0xf0000", + "rom_size": 16777216 + }, + "board": { + "handle": 2, + "manufacturer": "ASUSTeK COMPUTER INC.", + "product": "NUC14RVB", + "version": "60AS0080-MBDA02", + "board_type": { + "hex": "000a", + "name": "Motherboard", + "value": 10 + }, + "features": [ + "Hosting Board", + "Replaceable" + ], + "location": "", + "chassis": 3 + }, + "cache": [ + { + "handle": 55, + "socket": "L1 Cache", + "size_max": 96, + "size_current": 96, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "hex": "0004", + "name": "Parity", + "value": 4 + }, + "cache_type": { + "hex": "0004", + "name": "Data", + "value": 4 + }, + "associativity": { + "hex": "0009", + "name": "Other", + "value": 9 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 56, + "socket": "L1 Cache", + "size_max": 64, + "size_current": 64, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "hex": "0004", + "name": "Parity", + "value": 4 + }, + "cache_type": { + "hex": "0003", + "name": "Instruction", + "value": 3 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 57, + "socket": "L2 Cache", + "size_max": 2560, + "size_current": 2560, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 1, + "ecc": { + "hex": "0005", + "name": "Single-bit", + "value": 5 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 58, + "socket": "L3 Cache", + "size_max": 10240, + "size_current": 10240, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 2, + "ecc": { + "hex": "0006", + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 59, + "socket": "L1 Cache", + "size_max": 128, + "size_current": 128, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "hex": "0004", + "name": "Parity", + "value": 4 + }, + "cache_type": { + "hex": "0004", + "name": "Data", + "value": 4 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 60, + "socket": "L1 Cache", + "size_max": 256, + "size_current": 256, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "hex": "0004", + "name": "Parity", + "value": 4 + }, + "cache_type": { + "hex": "0003", + "name": "Instruction", + "value": 3 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 61, + "socket": "L2 Cache", + "size_max": 2048, + "size_current": 2048, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 1, + "ecc": { + "hex": "0005", + "name": "Single-bit", + "value": 5 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0008", + "name": "16-way Set-Associative", + "value": 8 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + }, + { + "handle": 62, + "socket": "L3 Cache", + "size_max": 10240, + "size_current": 10240, + "speed": 0, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 2, + "ecc": { + "hex": "0006", + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "sram_type_current": [ + "Synchronous" + ], + "sram_type_supported": [ + "Synchronous" + ] + } + ], + "chassis": [ + { + "handle": 3, + "manufacturer": "ASUSTeK COMPUTER INC.", + "version": "2.0", + "chassis_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "lock_present": false, + "bootup_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "power_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "thermal_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "security_state": { + "hex": "0003", + "name": "None", + "value": 3 + }, + "oem": "0x0" + } + ], + "group_associations": [ + { + "handle": 87, + "name": "$MEI", + "handles": [ + 0 + ] + }, + { + "handle": 90, + "name": "Firmware Version Info", + "handles": [ + 214748364849, + 219043332146, + 223338299443, + 227633266740, + 231928234037, + 360777252918, + 84 + ] + } + ], + "language": [ + { + "handle": 30, + "languages": [ + "en|US|iso8859-1" + ] + } + ], + "memory_array": [ + { + "handle": 41, + "location": { + "hex": "0003", + "name": "Motherboard", + "value": 3 + }, + "usage": { + "hex": "0003", + "name": "System memory", + "value": 3 + }, + "ecc": { + "hex": "0003", + "name": "None", + "value": 3 + }, + "max_size": "0x4000000", + "error_handle": 65534, + "slots": 2 + } + ], + "memory_array_mapped_address": [ + { + "handle": 44, + "array_handle": 41, + "start_address": "0x0", + "end_address": "0x200000000", + "part_width": 1 + } + ], + "memory_device": [ + { + "handle": 42, + "location": "Controller0-ChannelA-DIMM0", + "bank_location": "BANK 0", + "manufacturer": "Team Group Inc", + "part_number": "SD5-5600", + "array_handle": 41, + "error_handle": 65534, + "width": 64, + "ecc_bits": 0, + "size": 8388608, + "form_factor": { + "hex": "000d", + "name": "SODIMM", + "value": 13 + }, + "set": 0, + "memory_type": { + "hex": "0022", + "name": "Other", + "value": 34 + }, + "memory_type_details": [ + "Synchronous" + ], + "speed": 5600 + }, + { + "handle": 43, + "location": "Controller1-ChannelA-DIMM0", + "bank_location": "BANK 0", + "manufacturer": "", + "part_number": "", + "array_handle": 41, + "error_handle": 65534, + "width": 0, + "ecc_bits": 0, + "size": 0, + "form_factor": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "set": 0, + "memory_type": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "memory_type_details": null, + "speed": 0 + } + ], + "memory_device_mapped_address": [ + { + "handle": 48, + "memory_device_handle": 42, + "array_map_handle": 44, + "start_address": "0x0", + "end_address": "0x200000000", + "row_position": 255, + "interleave_position": 0, + "interleave_depth": 0 + } + ], + "port_connector": [ + { + "handle": 4, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J98", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB1" + }, + { + "handle": 5, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J80", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB2" + }, + { + "handle": 6, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J80", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB3" + }, + { + "handle": 7, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J44", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB4" + }, + { + "handle": 8, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J91", + "external_connector_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "external_reference_designator": "USB5" + }, + { + "handle": 9, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J90", + "external_connector_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "external_reference_designator": "USB6" + }, + { + "handle": 10, + "port_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "internal_reference_designator": "J90", + "external_connector_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "external_reference_designator": "Thunderbolt" + }, + { + "handle": 11, + "port_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "internal_reference_designator": "J91", + "external_connector_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "external_reference_designator": "Thunderbolt" + }, + { + "handle": 12, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J92", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB7" + }, + { + "handle": 13, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J96", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB8" + }, + { + "handle": 14, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J97", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB9" + }, + { + "handle": 15, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "CON1", + "external_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "external_reference_designator": "Power" + }, + { + "handle": 16, + "port_type": { + "hex": "001c", + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J206", + "external_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "external_reference_designator": "HDMI1" + }, + { + "handle": 17, + "port_type": { + "hex": "001c", + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J51", + "external_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "external_reference_designator": "HDMI2" + }, + { + "handle": 18, + "port_type": { + "hex": "001f", + "name": "Network Port", + "value": 31 + }, + "internal_reference_designator": "J8", + "external_connector_type": { + "hex": "000b", + "name": "RJ-45", + "value": 11 + }, + "external_reference_designator": "LAN" + }, + { + "handle": 19, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "J43 - M.2 SSD" + }, + { + "handle": 20, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "J36 - M.2 WIFI" + }, + { + "handle": 21, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "J44 - M.2 2242" + }, + { + "handle": 22, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "P8 - FAN" + }, + { + "handle": 23, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "SODIMM0" + }, + { + "handle": 24, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "SODIMM1" + }, + { + "handle": 25, + "port_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_connector_type": { + "hex": "00ff", + "name": "Other", + "value": 255 + }, + "internal_reference_designator": "P56 - SATA" + } + ], + "processor": [ + { + "handle": 63, + "socket": "U3E1", + "socket_type": { + "hex": "0041", + "name": "Other", + "value": 65 + }, + "socket_populated": true, + "manufacturer": "Intel(R) Corporation", + "version": "Intel(R) Core(TM) 3 100U", + "part": "To Be Filled By O.E.M.", + "processor_type": { + "hex": "0003", + "name": "CPU", + "value": 3 + }, + "processor_family": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "processor_status": { + "hex": "0001", + "name": "Enabled", + "value": 1 + }, + "clock_ext": 100, + "clock_max": 4700, + "cache_handle_l1": 60, + "cache_handle_l2": 61, + "cache_handle_l3": 62 + } + ], + "slot": [ + { + "handle": 26, + "designation": "M2_A", + "slot_type": { + "hex": "0015", + "name": "Other", + "value": 21 + }, + "bus_width": { + "hex": "0008", + "name": "Other", + "value": 8 + }, + "usage": { + "hex": "0004", + "name": "In Use", + "value": 4 + }, + "length": { + "hex": "0003", + "name": "Short", + "value": 3 + }, + "id": 0, + "features": [ + "3.3 V", + "Shared", + "PME#" + ] + }, + { + "handle": 27, + "designation": "M2_B", + "slot_type": { + "hex": "0017", + "name": "Other", + "value": 23 + }, + "bus_width": { + "hex": "000a", + "name": "Other", + "value": 10 + }, + "usage": { + "hex": "0004", + "name": "In Use", + "value": 4 + }, + "length": { + "hex": "0004", + "name": "Long", + "value": 4 + }, + "id": 1, + "features": [ + "3.3 V", + "PME#" + ] + }, + { + "handle": 28, + "designation": "M2_C", + "slot_type": { + "hex": "0016", + "name": "Other", + "value": 22 + }, + "bus_width": { + "hex": "0008", + "name": "Other", + "value": 8 + }, + "usage": { + "hex": "0004", + "name": "In Use", + "value": 4 + }, + "length": { + "hex": "0003", + "name": "Short", + "value": 3 + }, + "id": 2, + "features": [ + "3.3 V", + "Shared", + "PME#" + ] + } + ], + "system": { + "handle": 1, + "manufacturer": "ASUSTeK COMPUTER INC.", + "product": "NUC14RVK-B", + "version": "90AR0062-M00020", + "wake_up": { + "hex": "0006", + "name": "Power Switch", + "value": 6 + } + } + } +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..a19bfda --- /dev/null +++ b/flake.lock @@ -0,0 +1,299 @@ +{ + "nodes": { + "argononed": { + "flake": false, + "locked": { + "lastModified": 1729566243, + "narHash": "sha256-DPNI0Dpk5aym3Baf5UbEe5GENDrSmmXVdriRSWE+rgk=", + "owner": "nvmd", + "repo": "argononed", + "rev": "16dbee54d49b66d5654d228d1061246b440ef7cf", + "type": "github" + }, + "original": { + "owner": "nvmd", + "repo": "argononed", + "type": "github" + } + }, + "disko": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1781152676, + "narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=", + "owner": "nix-community", + "repo": "disko", + "rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "disko", + "type": "github" + } + }, + "flake-compat": { + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixos-facter-modules": { + "locked": { + "lastModified": 1773858690, + "narHash": "sha256-oW0/lC0oRG5H5LaK6Rmh9L1wmkn9TbenM4bXwnIEDKA=", + "owner": "numtide", + "repo": "nixos-facter-modules", + "rev": "139dcef4dfc97009629c445806f197883351ab4a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nixos-facter-modules", + "type": "github" + } + }, + "nixos-images": { + "inputs": { + "nixos-stable": [ + "nixos-raspberrypi", + "nixpkgs" + ], + "nixos-unstable": [ + "nixos-raspberrypi", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1747747741, + "narHash": "sha256-LUOH27unNWbGTvZFitHonraNx0JF/55h30r9WxqrznM=", + "owner": "nvmd", + "repo": "nixos-images", + "rev": "cbbd6db325775096680b65e2a32fb6187c09bbb4", + "type": "github" + }, + "original": { + "owner": "nvmd", + "ref": "sdimage-installer", + "repo": "nixos-images", + "type": "github" + } + }, + "nixos-raspberrypi": { + "inputs": { + "argononed": "argononed", + "flake-compat": "flake-compat", + "nixos-images": "nixos-images", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1779023229, + "narHash": "sha256-MInilg7B/06c34SwOuGSBho4l0H1EZcmvxTkSWCs5pE=", + "owner": "nvmd", + "repo": "nixos-raspberrypi", + "rev": "06c6e3513e1ee64b651913193fc6ac38aa4963f5", + "type": "github" + }, + "original": { + "owner": "nvmd", + "ref": "main", + "repo": "nixos-raspberrypi", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1778737229, + "narHash": "sha256-6xWoytx8jFW4PF1GjRm/i/53trbpKGfz6zjzQGBr4cI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d7a713c0b7e47c908258e71cba7a2d77cc8d71d5", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1782175435, + "narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "89570f24e97e614aa34aa9ab1c927b6578a43775", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1776877367, + "narHash": "sha256-EHq1/OX139R1RvBzOJ0aMRT3xnWyqtHBRUBuO1gFzjI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0726a0ecb6d4e08f6adced58726b95db924cef57", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1776877367, + "narHash": "sha256-EHq1/OX139R1RvBzOJ0aMRT3xnWyqtHBRUBuO1gFzjI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0726a0ecb6d4e08f6adced58726b95db924cef57", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "rhemawave": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1782591778, + "narHash": "sha256-Aw9vAwpKkaSbreK3KlfRygV+pez0l61vBGvNdYqdEpM=", + "ref": "refs/heads/main", + "rev": "9f8212cf550b7c2cb1f41e5540cc6e68be62ee72", + "revCount": 189, + "type": "git", + "url": "https://codeberg.org/RhemaWave-Technologies/RhemaWave.git" + }, + "original": { + "type": "git", + "url": "https://codeberg.org/RhemaWave-Technologies/RhemaWave.git" + } + }, + "rhemawave-dev": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1783810010, + "narHash": "sha256-LGEvcPYqIenopOSCg/GzvXPF1dJCtqTwd5rJQDLAfvg=", + "ref": "dev", + "rev": "cbb10ecda31f855fedd6034a7f2040c1a65f1e17", + "revCount": 226, + "type": "git", + "url": "https://codeberg.org/RhemaWave-Technologies/RhemaWave.git" + }, + "original": { + "ref": "dev", + "type": "git", + "url": "https://codeberg.org/RhemaWave-Technologies/RhemaWave.git" + } + }, + "root": { + "inputs": { + "disko": "disko", + "nixos-facter-modules": "nixos-facter-modules", + "nixos-raspberrypi": "nixos-raspberrypi", + "nixpkgs": "nixpkgs_2", + "rhemawave": "rhemawave", + "rhemawave-dev": "rhemawave-dev" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..f99fef7 --- /dev/null +++ b/flake.nix @@ -0,0 +1,225 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + disko.url = "github:nix-community/disko"; + disko.inputs.nixpkgs.follows = "nixpkgs"; + nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; + rhemawave.url = "git+https://codeberg.org/RhemaWave-Technologies/RhemaWave.git"; + rhemawave-dev.url = "git+https://codeberg.org/RhemaWave-Technologies/RhemaWave.git?ref=dev"; + nixos-raspberrypi.url = "github:nvmd/nixos-raspberrypi/main"; + }; + + outputs = + { + self, + nixpkgs, + disko, + nixos-facter-modules, + rhemawave, + rhemawave-dev, + nixos-raspberrypi, + ... + }@inputs: + let + system = "x86_64-linux"; + + mkKioskSystem = { system, rhemawave, upgradeFlakeRef, extraModules ? [], diskModule, enableAutoUpgrade ? true, extraSpecialArgs ? {}}: + nixpkgs.lib.nixosSystem { + inherit system; + + specialArgs = { + inherit rhemawave; + inherit upgradeFlakeRef; + } // extraSpecialArgs; + + modules = [ + ./configuration.nix + disko.nixosModules.disko + diskModule + nixos-facter-modules.nixosModules.facter + { facter.reportPath = ./facter.json; } + rhemawave.nixosModules.default + ] ++ extraModules; + }; + + mkRpiKioskSystem = { rhemawave, upgradeFlakeRef, extraModules ? [], enableAutoUpgrade ? true }: + nixos-raspberrypi.lib.nixosSystem { + specialArgs = { + inherit rhemawave upgradeFlakeRef; + inherit nixos-raspberrypi; + }; + + modules = [ + ({ ... }: { + imports = with nixos-raspberrypi.nixosModules; [ + sd-image + raspberry-pi-5.base + raspberry-pi-5.page-size-16k + raspberry-pi-5.display-vc4 + ]; + }) + ./configuration.nix + rhemawave.nixosModules.default + { + # system.autoUpgrade = { + # enable = enableAutoUpgrade; + # flake = upgradeFlakeRef; + # dates = "*:00/10"; + # allowReboot = true; + # flags = [ "--refresh" ]; + # }; + boot.loader.systemd-boot.enable = nixpkgs.lib.mkForce false; + boot.loader.efi.canTouchEfiVariables = nixpkgs.lib.mkForce false; + boot.loader.raspberry-pi.bootloader = "kernel"; + + nix.settings.extra-substituters = [ + "https://nixos-raspberrypi.cachix.org" + ]; + nix.settings.extra-trusted-public-keys = [ + "nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI=" + ]; + } + ] ++ extraModules; + }; + in + { + packages.x86_64-linux.rhemawavekiosk = self.nixosConfigurations.rhemawavekiosk.config.system.build.toplevel; + packages.x86_64-linux.rhemawavekiosk-dev = self.nixosConfigurations.rhemawavekiosk-dev.config.system.build.toplevel; + packages.x86_64-linux.rhemawavekiosk-commercial = self.nixosConfigurations.rhemawavekiosk-commercial.config.system.build.toplevel; + packages.x86_64-linux.rhemawavekiosk-android = self.nixosConfigurations.rhemawavekiosk-android.config.system.build.toplevel; + nixosConfigurations = { + rhemawavekiosk = mkKioskSystem { + system = "x86_64-linux"; + rhemawave = rhemawave; + diskModule = ./disk-config.nix; + upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git#rhemawavekiosk"; + extraModules = []; + }; + rhemawavekiosk-dev = mkKioskSystem { + system = "x86_64-linux"; + rhemawave = rhemawave-dev; + diskModule = ./disk-config.nix; + upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git?ref=dev#rhemawavekiosk-dev"; + extraModules = []; + }; + rhemawavekiosk-commercial = mkKioskSystem { + system = "x86_64-linux"; + rhemawave = rhemawave; + diskModule = ./commercial-disk-config.nix; + upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git#rhemawavekiosk-commercial"; + extraModules = []; + }; + rhemawavekiosk-commercial-dev = mkKioskSystem { + system = "x86_64-linux"; + rhemawave = rhemawave; + diskModule = ./commercial-disk-config.nix; + upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git?ref=dev#rhemawavekiosk-commercial"; + extraModules = []; + }; + rhemawavekiosk-android = mkKioskSystem { + system = "x86_64-linux"; + rhemawave = rhemawave; + diskModule = ./disk-config.nix; + upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git#rhemawavekiosk-android"; + extraModules = [./rotated_display.nix ]; + }; + rhemawavekiosk-rpi = mkRpiKioskSystem { + rhemawave = rhemawave; + upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git#rhemawavekiosk-rpi"; + }; + rhemawavekiosk-rpi-dev = mkRpiKioskSystem { + rhemawave = rhemawave-dev; + upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git?ref=dev#rhemawavekiosk-rpi-dev"; + }; + usb-iso = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { + inherit inputs; + inherit self; + }; + modules = [ + "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" + disko.nixosModules.disko + ./iso-config.nix + ./disk-config.nix + ({ pkgs, ... }: { + environment.systemPackages = [ + disko.packages.${system}.default + ]; + isoImage.storeContents = [ + self.packages.x86_64-linux.rhemawavekiosk + ]; + environment.etc."disko-config.nix".source = ./disk-config.nix; + }) + ]; + }; + commercial-usb-iso = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { + inherit inputs; + inherit self; + }; + modules = [ + "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" + disko.nixosModules.disko + ./commercial-iso-config.nix + ./commercial-disk-config.nix + ({ pkgs, ... }: { + environment.systemPackages = [ + disko.packages.${system}.default + ]; + isoImage.storeContents = [ + self.packages.x86_64-linux.rhemawavekiosk-commercial + ]; + environment.etc."disko-config.nix".source = ./commercial-disk-config.nix; + }) + ]; + }; + + android-iso = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { + inherit inputs; + inherit self; + }; + modules = [ + "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" + disko.nixosModules.disko + ./iso-config.nix + ./disk-config.nix + ({ pkgs, ... }: { + environment.systemPackages = [ + disko.packages.${system}.default + ]; + isoImage.storeContents = [ + self.packages.x86_64-linux.rhemawavekiosk-android + ]; + environment.etc."disko-config.nix".source = ./disk-config.nix; + }) + ]; + }; + dev-iso = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { + inherit inputs; + inherit self; + }; + modules = [ + "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" + disko.nixosModules.disko + ./dev-iso.nix + ./disk-config.nix + ({ pkgs, ... }: { + environment.systemPackages = [ + disko.packages.${system}.default + ]; + isoImage.storeContents = [ + self.packages.x86_64-linux.rhemawavekiosk-dev + ]; + environment.etc."disko-config.nix".source = ./disk-config.nix; + }) + ]; + }; + }; + }; +} diff --git a/hardware/x86_64-nvme-uefi.nix b/hardware/x86_64-nvme-uefi.nix new file mode 100644 index 0000000..6d69f52 --- /dev/null +++ b/hardware/x86_64-nvme-uefi.nix @@ -0,0 +1,29 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-label/nixos"; + fsType = "xfs"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-label/EFIBOOT"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.enableRedistributableFirmware = true; +} diff --git a/iso-config.nix b/iso-config.nix new file mode 100644 index 0000000..0c6de20 --- /dev/null +++ b/iso-config.nix @@ -0,0 +1,123 @@ +{ + pkgs, + inputs, + self, + ... +}: +let + targetSystem = + self.nixosConfigurations.rhemawavekiosk.config.system.build.toplevel; + + diskoScript = + self.nixosConfigurations.rhemawavekiosk.config.system.build.diskoScript; +in +{ + nix.settings = { + experimental-features = [ + "nix-command" + "flakes" + ]; + + substituters = [ + "https://cache.nixos.org" + ]; + + flake-registry = ""; + }; + + nix.registry.nixpkgs = pkgs.lib.mkForce { + to = { + type = "path"; + path = "${inputs.nixpkgs}"; + }; + }; + + environment.variables.KIOSK_FLAKE = "${self}"; + + virtualisation.vmVariant = { + virtualisation.memorySize = 8096; + virtualisation.diskSize = 100000; + virtualisation.cores = 4; + virtualisation.qemu.options = [ + # "-nic none" + ]; + virtualisation.forwardPorts = [ + { from = "host"; host.port = 2222; guest.port = 22; } + ]; + }; + + environment.etc."nix/netrc" = { + text = '' + password eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjIwODgzODk2ODEsIm5iZiI6MTc3MjgxMzY4MSwic3ViIjoia2lvc2siLCJodHRwczovL2p3dC5hdHRpYy5ycy92MSI6eyJjYWNoZXMiOnsia2lvc2siOnsiciI6MX19fX0.N6Ktrmmu1LSy2PP8uNF25VHRP1dxPZJ4M0MR1kUpVi0 + ''; + mode = "0400"; + }; + + nix.extraOptions = '' + netrc-file = /etc/nix/netrc + ''; + + networking.networkmanager.enable = true; + + systemd.services.NetworkManager-wait-online.enable = false; + + nix.settings.connect-timeout = 0; + + services.openssh.enable = true; + + users.users.root.openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB4vXx7sOOVAyxdS/N1LEI+L8wYICf+gbzs6Kz7K8Je5 cnclack@pm.me:Thinkpad" + ]; + + systemd.services.zero-touch-install = { + description = "Zero-Touch Kiosk Installation"; + + wantedBy = [ "multi-user.target" ]; + + wants = [ ]; + after = [ "systemd-udev-settle.service" ]; + + path = with pkgs; [ + nix + git + util-linux + nixos-install-tools + curl + networkmanager + mount + umount + disko + ]; + + environment = { + NIX_PATH = "nixpkgs=${inputs.nixpkgs}"; + KIOSK_FLAKE = "${self}"; + DISKO_SCRIPT = "${diskoScript}"; + }; + + +script = '' + set -euo pipefail + + echo "Running disko script..." + echo "Script: $DISKO_SCRIPT" + + ${diskoScript} + + echo "Installing RhemaWave" + echo "Closure Path: ${targetSystem}" + + nixos-install \ + --system "${targetSystem}" \ + --no-root-passwd \ + --no-channel-copy + + echo "============================================" + echo " Installation complete!" + echo " Rebooting in 5 seconds..." + echo "============================================" + sleep 5 + systemctl reboot --force + ''; + }; +} diff --git a/plymouth-theme/rhemawave.plymouth b/plymouth-theme/rhemawave.plymouth new file mode 100644 index 0000000..0f73526 --- /dev/null +++ b/plymouth-theme/rhemawave.plymouth @@ -0,0 +1,8 @@ +[Plymouth Theme] +Name=RhemaWave +Description=RhemaWave kiosk splash screen +ModuleName=script + +[script] +ImageDir=/usr/share/plymouth/themes/rhemawave +ScriptFile=/usr/share/plymouth/themes/rhemawave/rhemawave.script diff --git a/plymouth-theme/rhemawave.script b/plymouth-theme/rhemawave.script new file mode 100644 index 0000000..e03716a --- /dev/null +++ b/plymouth-theme/rhemawave.script @@ -0,0 +1,6 @@ +wallpaper_image = Image("splash.png"); +screen_width = Window.GetWidth(); +screen_height = Window.GetHeight(); +resized_wallpaper_image = wallpaper_image.Scale(screen_width, screen_height); +wallpaper_sprite = Sprite(resized_wallpaper_image); +wallpaper_sprite.SetZ(-100); diff --git a/pn54.json b/pn54.json new file mode 100644 index 0000000..6ae399d --- /dev/null +++ b/pn54.json @@ -0,0 +1,5006 @@ +{ + "version": 1, + "system": "x86_64-linux", + "virtualisation": "none", + "uefi": { + "supported": true, + "platform_size": 64 + }, + "hardware": { + "bios": { + "apm_info": { + "supported": false, + "enabled": false, + "version": 0, + "sub_version": 0, + "bios_flags": 0 + }, + "vbe_info": { + "version": 0, + "video_memory": 0 + }, + "pnp": false, + "pnp_id": 0, + "lba_support": false, + "low_memory_size": 0, + "smbios_version": 775 + }, + "bluetooth": [ + { + "index": 64, + "attached_to": 72, + "class_list": [ + "usb", + "bluetooth" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0115", + "name": "Bluetooth Device", + "value": 277 + }, + "vendor": { + "hex": "13d3", + "name": "MediaTek Inc.", + "value": 5075 + }, + "device": { + "hex": "3602", + "name": "Wireless_Device", + "value": 13826 + }, + "revision": { + "hex": "0000", + "name": "1.00", + "value": 0 + }, + "serial": "000000000", + "model": "MediaTek Wireless_Device", + "sysfs_id": "/devices/pci0000:00/0000:00:08.3/0000:68:00.0/usb5/5-5/5-5:1.0", + "sysfs_bus_id": "5-5:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00ef", + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "hex": "00e0", + "name": "wireless", + "value": 224 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 0, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "hex": "00e0", + "name": "wireless", + "value": 224 + }, + "function_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "function_protocol": 1, + "interface_count": 3, + "first_interface": 0 + } + }, + "hotplug": "usb", + "driver": "btusb", + "driver_module": "btusb", + "drivers": [ + "btusb" + ], + "driver_modules": [ + "btusb" + ], + "module_alias": "usb:v13D3p3602d0100dcEFdsc02dp01icE0isc01ip01in00" + }, + { + "index": 69, + "attached_to": 72, + "class_list": [ + "usb", + "bluetooth" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0115", + "name": "Bluetooth Device", + "value": 277 + }, + "vendor": { + "hex": "13d3", + "name": "MediaTek Inc.", + "value": 5075 + }, + "device": { + "hex": "3602", + "name": "Wireless_Device", + "value": 13826 + }, + "revision": { + "hex": "0000", + "name": "1.00", + "value": 0 + }, + "serial": "000000000", + "model": "MediaTek Wireless_Device", + "sysfs_id": "/devices/pci0000:00/0000:00:08.3/0000:68:00.0/usb5/5-5/5-5:1.1", + "sysfs_bus_id": "5-5:1.1", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00ef", + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "hex": "00e0", + "name": "wireless", + "value": 224 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 1, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "hex": "00e0", + "name": "wireless", + "value": 224 + }, + "function_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "function_protocol": 1, + "interface_count": 3, + "first_interface": 0 + } + }, + "hotplug": "usb", + "driver": "btusb", + "driver_module": "btusb", + "drivers": [ + "btusb" + ], + "driver_modules": [ + "btusb" + ], + "module_alias": "usb:v13D3p3602d0100dcEFdsc02dp01icE0isc01ip01in01" + }, + { + "index": 74, + "attached_to": 72, + "class_list": [ + "usb", + "bluetooth" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0115", + "name": "Bluetooth Device", + "value": 277 + }, + "vendor": { + "hex": "13d3", + "name": "MediaTek Inc.", + "value": 5075 + }, + "device": { + "hex": "3602", + "name": "Wireless_Device", + "value": 13826 + }, + "revision": { + "hex": "0000", + "name": "1.00", + "value": 0 + }, + "serial": "000000000", + "model": "MediaTek Wireless_Device", + "sysfs_id": "/devices/pci0000:00/0000:00:08.3/0000:68:00.0/usb5/5-5/5-5:1.2", + "sysfs_bus_id": "5-5:1.2", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "00ef", + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "hex": "0002", + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "hex": "00e0", + "name": "wireless", + "value": 224 + }, + "interface_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 2, + "interface_alternate_setting": 1, + "interface_association": { + "function_class": { + "hex": "00e0", + "name": "wireless", + "value": 224 + }, + "function_subclass": { + "hex": "0001", + "name": "audio", + "value": 1 + }, + "function_protocol": 1, + "interface_count": 3, + "first_interface": 0 + } + }, + "hotplug": "usb", + "driver": "btusb", + "driver_module": "btusb", + "drivers": [ + "btusb" + ], + "driver_modules": [ + "btusb" + ], + "module_alias": "usb:v13D3p3602d0100dcEFdsc02dp01icE0isc01ip01in02" + } + ], + "bridge": [ + { + "index": 22, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 8 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1124", + "value": 4388 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:08.0", + "sysfs_bus_id": "0000:00:08.0", + "sysfs_iommu_group_id": 10, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001124sv00000000sd00000000bc06sc00i00" + }, + { + "index": 23, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "124b", + "value": 4683 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.3", + "sysfs_bus_id": "0000:00:18.3", + "sysfs_iommu_group_id": 15, + "detail": { + "function": 3, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "k10temp", + "driver_module": "k10temp", + "drivers": [ + "k10temp" + ], + "driver_modules": [ + "k10temp" + ], + "module_alias": "pci:v00001022d0000124Bsv00000000sd00000000bc06sc00i00" + }, + { + "index": 24, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 1 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1125", + "value": 4389 + }, + "sub_device": { + "hex": "1125", + "value": 4389 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.2", + "sysfs_bus_id": "0000:00:01.2", + "sysfs_iommu_group_id": 2, + "detail": { + "function": 2, + "command": 1031, + "header_type": 1, + "secondary_bus": 1, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00001022d00001125sv00001022sd00001125bc06sc04i00" + }, + { + "index": 26, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 2 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1126", + "value": 4390 + }, + "sub_device": { + "hex": "1453", + "value": 5203 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:02.5", + "sysfs_bus_id": "0000:00:02.5", + "sysfs_iommu_group_id": 7, + "detail": { + "function": 5, + "command": 1031, + "header_type": 1, + "secondary_bus": 100, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00001022d00001126sv00001022sd00001453bc06sc04i00" + }, + { + "index": 27, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1249", + "value": 4681 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.1", + "sysfs_bus_id": "0000:00:18.1", + "sysfs_iommu_group_id": 15, + "detail": { + "function": 1, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001249sv00000000sd00000000bc06sc00i00" + }, + { + "index": 28, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 1 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1124", + "value": 4388 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:01.0", + "sysfs_bus_id": "0000:00:01.0", + "sysfs_iommu_group_id": 1, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001124sv00000000sd00000000bc06sc00i00" + }, + { + "index": 30, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 2 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1126", + "value": 4390 + }, + "sub_device": { + "hex": "1453", + "value": 5203 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:02.3", + "sysfs_bus_id": "0000:00:02.3", + "sysfs_iommu_group_id": 6, + "detail": { + "function": 3, + "command": 1031, + "header_type": 1, + "secondary_bus": 99, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00001022d00001126sv00001022sd00001453bc06sc04i00" + }, + { + "index": 31, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0001", + "name": "ISA bridge", + "value": 1 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "790e", + "value": 30990 + }, + "sub_device": { + "hex": "790e", + "value": 30990 + }, + "revision": { + "hex": "0051", + "value": 81 + }, + "model": "AMD ISA bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:14.3", + "sysfs_bus_id": "0000:00:14.3", + "sysfs_iommu_group_id": 14, + "detail": { + "function": 3, + "command": 15, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000790Esv00001022sd0000790Ebc06sc01i00" + }, + { + "index": 32, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 2 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1126", + "value": 4390 + }, + "sub_device": { + "hex": "1453", + "value": 5203 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:02.1", + "sysfs_bus_id": "0000:00:02.1", + "sysfs_iommu_group_id": 4, + "detail": { + "function": 1, + "command": 1031, + "header_type": 1, + "secondary_bus": 97, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00001022d00001126sv00001022sd00001453bc06sc04i00" + }, + { + "index": 35, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 8 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1112", + "value": 4370 + }, + "sub_device": { + "hex": "150c", + "value": 5388 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:08.3", + "sysfs_bus_id": "0000:00:08.3", + "sysfs_iommu_group_id": 13, + "detail": { + "function": 3, + "command": 1031, + "header_type": 1, + "secondary_bus": 104, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00001022d00001112sv00001022sd0000150Cbc06sc04i00" + }, + { + "index": 36, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "124e", + "value": 4686 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.6", + "sysfs_bus_id": "0000:00:18.6", + "sysfs_iommu_group_id": 15, + "detail": { + "function": 6, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000124Esv00000000sd00000000bc06sc00i00" + }, + { + "index": 38, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1122", + "value": 4386 + }, + "sub_device": { + "hex": "1507", + "value": 5383 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:00.0", + "sysfs_bus_id": "0000:00:00.0", + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001122sv00001022sd00001507bc06sc00i00" + }, + { + "index": 40, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 8 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1110", + "value": 4368 + }, + "sub_device": { + "hex": "150c", + "value": 5388 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1", + "sysfs_bus_id": "0000:00:08.1", + "sysfs_iommu_group_id": 11, + "detail": { + "function": 1, + "command": 1031, + "header_type": 1, + "secondary_bus": 102, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00001022d00001110sv00001022sd0000150Cbc06sc04i00" + }, + { + "index": 42, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "124c", + "value": 4684 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.4", + "sysfs_bus_id": "0000:00:18.4", + "sysfs_iommu_group_id": 15, + "detail": { + "function": 4, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000124Csv00000000sd00000000bc06sc00i00" + }, + { + "index": 43, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 3 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1124", + "value": 4388 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:03.0", + "sysfs_bus_id": "0000:00:03.0", + "sysfs_iommu_group_id": 9, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001124sv00000000sd00000000bc06sc00i00" + }, + { + "index": 44, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 2 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1126", + "value": 4390 + }, + "sub_device": { + "hex": "1453", + "value": 5203 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:02.6", + "sysfs_bus_id": "0000:00:02.6", + "sysfs_iommu_group_id": 8, + "detail": { + "function": 6, + "command": 1031, + "header_type": 1, + "secondary_bus": 101, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00001022d00001126sv00001022sd00001453bc06sc04i00" + }, + { + "index": 46, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "124a", + "value": 4682 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.2", + "sysfs_bus_id": "0000:00:18.2", + "sysfs_iommu_group_id": 15, + "detail": { + "function": 2, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000124Asv00000000sd00000000bc06sc00i00" + }, + { + "index": 50, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1248", + "value": 4680 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.0", + "sysfs_bus_id": "0000:00:18.0", + "sysfs_iommu_group_id": 15, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001248sv00000000sd00000000bc06sc00i00" + }, + { + "index": 51, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 2 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1126", + "value": 4390 + }, + "sub_device": { + "hex": "1453", + "value": 5203 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:02.2", + "sysfs_bus_id": "0000:00:02.2", + "sysfs_iommu_group_id": 5, + "detail": { + "function": 2, + "command": 1031, + "header_type": 1, + "secondary_bus": 98, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00001022d00001126sv00001022sd00001453bc06sc04i00" + }, + { + "index": 53, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 2 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1124", + "value": 4388 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:02.0", + "sysfs_bus_id": "0000:00:02.0", + "sysfs_iommu_group_id": 3, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001124sv00000000sd00000000bc06sc00i00" + }, + { + "index": 54, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "124f", + "value": 4687 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.7", + "sysfs_bus_id": "0000:00:18.7", + "sysfs_iommu_group_id": 15, + "detail": { + "function": 7, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000124Fsv00000000sd00000000bc06sc00i00" + }, + { + "index": 58, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 8 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0004", + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "hex": "0000", + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1111", + "value": 4369 + }, + "sub_device": { + "hex": "150c", + "value": 5388 + }, + "model": "AMD PCI bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:08.2", + "sysfs_bus_id": "0000:00:08.2", + "sysfs_iommu_group_id": 12, + "detail": { + "function": 2, + "command": 1031, + "header_type": 1, + "secondary_bus": 103, + "prog_if": 0 + }, + "driver": "pcieport", + "driver_module": "pcieportdrv", + "drivers": [ + "pcieport" + ], + "driver_modules": [ + "pcieportdrv" + ], + "module_alias": "pci:v00001022d00001111sv00001022sd0000150Cbc06sc04i00" + }, + { + "index": 59, + "attached_to": 0, + "class_list": [ + "pci", + "bridge" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 24 + }, + "base_class": { + "hex": "0006", + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "hex": "0000", + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "124d", + "value": 4685 + }, + "model": "AMD Host bridge", + "sysfs_id": "/devices/pci0000:00/0000:00:18.5", + "sysfs_bus_id": "0000:00:18.5", + "sysfs_iommu_group_id": 15, + "detail": { + "function": 5, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d0000124Dsv00000000sd00000000bc06sc00i00" + } + ], + "cpu": [ + { + "architecture": "x86_64", + "vendor_name": "AuthenticAMD", + "model_name": "AMD Ryzen AI 7 350 w/ Radeon 860M", + "family": 26, + "model": 96, + "stepping": 0, + "features": [ + "fpu", + "vme", + "de", + "pse", + "tsc", + "msr", + "pae", + "mce", + "cx8", + "apic", + "sep", + "mtrr", + "pge", + "mca", + "cmov", + "pat", + "pse36", + "clflush", + "mmx", + "fxsr", + "sse", + "sse2", + "ht", + "syscall", + "nx", + "mmxext", + "fxsr_opt", + "pdpe1gb", + "rdtscp", + "lm", + "constant_tsc", + "rep_good", + "amd_lbr_v2", + "nopl", + "xtopology", + "nonstop_tsc", + "cpuid", + "extd_apicid", + "aperfmperf", + "rapl", + "pni", + "pclmulqdq", + "monitor", + "ssse3", + "fma", + "cx16", + "sse4_1", + "sse4_2", + "movbe", + "popcnt", + "aes", + "xsave", + "avx", + "f16c", + "rdrand", + "lahf_lm", + "cmp_legacy", + "svm", + "extapic", + "cr8_legacy", + "abm", + "sse4a", + "misalignsse", + "3dnowprefetch", + "osvw", + "ibs", + "skinit", + "wdt", + "tce", + "topoext", + "perfctr_core", + "perfctr_nb", + "bpext", + "perfctr_llc", + "mwaitx", + "cpuid_fault", + "cpb", + "cat_l3", + "cdp_l3", + "hw_pstate", + "ssbd", + "mba", + "perfmon_v2", + "ibrs", + "ibpb", + "stibp", + "ibrs_enhanced", + "vmmcall", + "fsgsbase", + "tsc_adjust", + "bmi1", + "avx2", + "smep", + "bmi2", + "erms", + "invpcid", + "cqm", + "rdt_a", + "avx512f", + "avx512dq", + "adx", + "smap", + "avx512ifma", + "clflushopt", + "clwb", + "avx512cd", + "sha_ni", + "avx512bw", + "avx512vl", + "xsaveopt", + "xsavec", + "xgetbv1", + "xsaves", + "cqm_llc", + "cqm_occup_llc", + "cqm_mbm_total", + "cqm_mbm_local", + "user_shstk", + "avx_vnni", + "avx512_bf16", + "clzero", + "irperf", + "xsaveerptr", + "rdpru", + "wbnoinvd", + "cppc", + "arat", + "npt", + "lbrv", + "svm_lock", + "nrip_save", + "tsc_scale", + "vmcb_clean", + "flushbyasid", + "decodeassists", + "pausefilter", + "pfthreshold", + "avic", + "v_vmsave_vmload", + "vgi" + ], + "bugs": [ + "sysret_ss_attrs", + "spectre_v1", + "spectre_v2", + "spec_store_bypass", + "srso", + "spectre_v2_user", + "vmscape" + ], + "power_management": [ + "ts", + "ttp", + "tm", + "hwpstate", + "cpb", + "eff_freq_ro", + "[13]", + "[14]" + ], + "bogo": 3992, + "cache": 1024, + "units": 16, + "page_size": 4096, + "physical_id": 0, + "siblings": 16, + "cores": 8, + "fpu": false, + "fpu_exception": false, + "cpuid_level": 16, + "write_protect": false, + "tlb_size": 192, + "clflush_size": 64, + "cache_alignment": 64, + "address_sizes": { + "physical": "0x30", + "virtual": "0x30" + } + } + ], + "disk": [ + { + "index": 62, + "attached_to": 60, + "class_list": [ + "disk", + "block_device", + "nvme" + ], + "bus_type": { + "hex": "0096", + "name": "NVME", + "value": 150 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0106", + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "hex": "0000", + "name": "Disk", + "value": 0 + }, + "vendor": { + "hex": "1e4b", + "value": 7755 + }, + "sub_vendor": { + "hex": "1e4b", + "value": 7755 + }, + "device": { + "hex": "1202", + "name": "TEAM Ind N845-M80", + "value": 4610 + }, + "sub_device": { + "hex": "1202", + "value": 4610 + }, + "serial": "250414002S0060", + "model": "TEAM Ind N845-M80", + "sysfs_id": "/class/block/nvme0n1", + "sysfs_bus_id": "nvme0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:02.1/0000:61:00.0/nvme/nvme0", + "unix_device_names": [ + "/dev/disk/by-id/nvme-TEAM_Ind_N845-M80_250414002S0060", + "/dev/disk/by-id/nvme-TEAM_Ind_N845-M80_250414002S0060_1", + "/dev/disk/by-id/nvme-nvme.1e4b-3235303431343030325330303630-5445414d20496e64204e3834352d4d3830-00000001", + "/dev/disk/by-path/pci-0000:61:00.0-nvme-1", + "/dev/nvme0n1" + ], + "rom_id": "0x80", + "resources": [ + { + "type": "disk_geo", + "cylinders": 244198, + "heads": 64, + "sectors": 32, + "size": "0x0", + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 500118192, + "value_2": 512 + } + ], + "driver": "nvme", + "driver_module": "nvme", + "drivers": [ + "nvme" + ], + "driver_modules": [ + "nvme" + ] + } + ], + "graphics_card": [ + { + "index": 29, + "attached_to": 40, + "class_list": [ + "graphics_card", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 102, + "number": 0 + }, + "base_class": { + "hex": "0003", + "name": "Display controller", + "value": 3 + }, + "sub_class": { + "hex": "0080", + "name": "Display controller", + "value": 128 + }, + "vendor": { + "hex": "1002", + "name": "ATI Technologies Inc", + "value": 4098 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "1114", + "value": 4372 + }, + "sub_device": { + "hex": "8908", + "value": 35080 + }, + "revision": { + "hex": "00c2", + "value": 194 + }, + "model": "ATI Display controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:66:00.0", + "sysfs_bus_id": "0000:66:00.0", + "sysfs_iommu_group_id": 21, + "resources": [ + { + "type": "io", + "base": 53248, + "range": 256, + "enabled": true, + "access": "read_write" + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "amdgpu", + "driver_module": "amdgpu", + "drivers": [ + "amdgpu" + ], + "driver_modules": [ + "amdgpu" + ], + "module_alias": "pci:v00001002d00001114sv00001043sd00008908bc03sc80i00" + } + ], + "hub": [ + { + "index": 63, + "attached_to": 55, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.16 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:68:00.0", + "model": "Linux 6.18.16 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.3/0000:68:00.0/usb6/6-0:1.0", + "sysfs_bus_id": "6-0:1.0", + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0003d0618dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 65, + "attached_to": 20, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.16 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:66:00.4", + "model": "Linux 6.18.16 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:66:00.4/usb3/3-0:1.0", + "sysfs_bus_id": "3-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0002d0618dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 66, + "attached_to": 49, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.16 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:68:00.4", + "model": "Linux 6.18.16 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.3/0000:68:00.4/usb7/7-0:1.0", + "sysfs_bus_id": "7-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0002d0618dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 68, + "attached_to": 20, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.16 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:66:00.4", + "model": "Linux 6.18.16 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:66:00.4/usb4/4-0:1.0", + "sysfs_bus_id": "4-0:1.0", + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0003d0618dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 70, + "attached_to": 49, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.16 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:68:00.4", + "model": "Linux 6.18.16 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.3/0000:68:00.4/usb8/8-0:1.0", + "sysfs_bus_id": "8-0:1.0", + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0003d0618dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 71, + "attached_to": 52, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.16 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:62:00.0", + "model": "Linux 6.18.16 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:02.2/0000:62:00.0/usb1/1-0:1.0", + "sysfs_bus_id": "1-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0002d0618dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 72, + "attached_to": 55, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.16 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0002", + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:68:00.0", + "model": "Linux 6.18.16 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.3/0000:68:00.0/usb5/5-0:1.0", + "sysfs_bus_id": "5-0:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0002d0618dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 73, + "attached_to": 52, + "class_list": [ + "usb", + "hub" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "010a", + "name": "Hub", + "value": 266 + }, + "vendor": { + "hex": "1d6b", + "name": "Linux 6.18.16 xhci-hcd", + "value": 7531 + }, + "device": { + "hex": "0003", + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "hex": "0000", + "name": "6.18", + "value": 0 + }, + "serial": "0000:62:00.0", + "model": "Linux 6.18.16 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:02.2/0000:62:00.0/usb2/2-0:1.0", + "sysfs_bus_id": "2-0:1.0", + "detail": { + "device_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "hex": "0009", + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "driver_module": "usbcore", + "drivers": [ + "hub" + ], + "driver_modules": [ + "usbcore" + ], + "module_alias": "usb:v1D6Bp0003d0618dc09dsc00dp03ic09isc00ip00in00" + } + ], + "memory": [ + { + "index": 19, + "attached_to": 0, + "class_list": [ + "memory" + ], + "base_class": { + "hex": "0101", + "name": "Internally Used Class", + "value": 257 + }, + "sub_class": { + "hex": "0002", + "name": "Main Memory", + "value": 2 + }, + "model": "Main Memory", + "resources": [ + { + "type": "phys_mem", + "range": 16106127360 + } + ] + } + ], + "monitor": [ + { + "index": 61, + "attached_to": 29, + "class_list": [ + "monitor" + ], + "base_class": { + "hex": "0100", + "name": "Monitor", + "value": 256 + }, + "sub_class": { + "hex": "0002", + "name": "LCD Monitor", + "value": 2 + }, + "vendor": { + "hex": "220e", + "value": 8718 + }, + "device": { + "hex": "36d8", + "name": "HP U28 4K HDR", + "value": 14040 + }, + "serial": "1CR0440J1G", + "model": "HP U28 4K HDR", + "resources": [ + { + "type": "monitor", + "width": 1024, + "height": 768, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1600, + "height": 900, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 1920, + "height": 1080, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 3840, + "height": 2160, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 720, + "height": 400, + "vertical_frequency": 70, + "interlaced": false + }, + { + "type": "monitor", + "width": 800, + "height": 600, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "size", + "unit": "mm", + "value_1": 621, + "value_2": 341 + } + ], + "detail": { + "manufacture_year": 2020, + "manufacture_week": 44, + "vertical_sync": { + "min": 30, + "max": 60 + }, + "horizontal_sync": { + "min": 27, + "max": 136 + }, + "horizontal_sync_timings": { + "disp": 3840, + "sync_start": 3888, + "sync_end": 3920, + "total": 4000 + }, + "vertical_sync_timings": { + "disp": 2160, + "sync_start": 2163, + "sync_end": 2168, + "total": 2222 + }, + "clock": 533250, + "width": 3840, + "height": 2160, + "width_millimetres": 621, + "height_millimetres": 341, + "horizontal_flag": 45, + "vertical_flag": 43, + "vendor": "", + "name": "HP U28 4K HDR" + }, + "driver_info": { + "type": "display", + "width": 3840, + "height": 2160, + "vertical_sync": { + "min": 30, + "max": 60 + }, + "horizontal_sync": { + "min": 27, + "max": 136 + }, + "bandwidth": 0, + "horizontal_sync_timings": { + "disp": 3840, + "sync_start": 3888, + "sync_end": 3920, + "total": 4000 + }, + "vertical_sync_timings": { + "disp": 2160, + "sync_start": 2163, + "sync_end": 2168, + "total": 2222 + }, + "horizontal_flag": 45, + "vertical_flag": 43 + } + } + ], + "network_controller": [ + { + "index": 33, + "attached_to": 44, + "class_list": [ + "network_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 101, + "number": 0 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0000", + "name": "Ethernet controller", + "value": 0 + }, + "vendor": { + "hex": "10ec", + "value": 4332 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "8125", + "value": 33061 + }, + "sub_device": { + "hex": "87d7", + "value": 34775 + }, + "revision": { + "hex": "0005", + "value": 5 + }, + "model": "Ethernet controller", + "sysfs_id": "/devices/pci0000:00/0000:00:02.6/0000:65:00.0", + "sysfs_bus_id": "0000:65:00.0", + "sysfs_iommu_group_id": 20, + "unix_device_names": [ + "enp101s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 98 + }, + { + "type": "io", + "base": 57344, + "range": 256, + "enabled": true, + "access": "read_write" + }, + { + "type": "phwaddr", + "address": 98 + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "r8169", + "driver_module": "r8169", + "drivers": [ + "r8169" + ], + "driver_modules": [ + "r8169" + ], + "module_alias": "pci:v000010ECd00008125sv00001043sd000087D7bc02sc00i00" + }, + { + "index": 41, + "attached_to": 26, + "class_list": [ + "network_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 100, + "number": 0 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0000", + "name": "Ethernet controller", + "value": 0 + }, + "vendor": { + "hex": "10ec", + "value": 4332 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "8125", + "value": 33061 + }, + "sub_device": { + "hex": "87d7", + "value": 34775 + }, + "revision": { + "hex": "0005", + "value": 5 + }, + "model": "Ethernet controller", + "sysfs_id": "/devices/pci0000:00/0000:00:02.5/0000:64:00.0", + "sysfs_bus_id": "0000:64:00.0", + "sysfs_iommu_group_id": 19, + "unix_device_names": [ + "enp100s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 98 + }, + { + "type": "io", + "base": 61440, + "range": 256, + "enabled": true, + "access": "read_write" + }, + { + "type": "phwaddr", + "address": 98 + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "r8169", + "driver_module": "r8169", + "drivers": [ + "r8169" + ], + "driver_modules": [ + "r8169" + ], + "module_alias": "pci:v000010ECd00008125sv00001043sd000087D7bc02sc00i00" + }, + { + "index": 48, + "attached_to": 30, + "class_list": [ + "network_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 99, + "number": 0 + }, + "base_class": { + "hex": "0002", + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "hex": "0080", + "name": "Network controller", + "value": 128 + }, + "vendor": { + "hex": "14c3", + "value": 5315 + }, + "sub_vendor": { + "hex": "1a3b", + "value": 6715 + }, + "device": { + "hex": "7925", + "value": 31013 + }, + "sub_device": { + "hex": "6000", + "value": 24576 + }, + "model": "Network controller", + "sysfs_id": "/devices/pci0000:00/0000:00:02.3/0000:63:00.0", + "sysfs_bus_id": "0000:63:00.0", + "sysfs_iommu_group_id": 18, + "unix_device_names": [ + "wlan0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 53 + }, + { + "type": "phwaddr", + "address": 97 + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "mt7925e", + "driver_module": "mt7925e", + "drivers": [ + "mt7925e" + ], + "driver_modules": [ + "mt7925e" + ], + "module_alias": "pci:v000014C3d00007925sv00001A3Bsd00006000bc02sc80i00" + } + ], + "network_interface": [ + { + "index": 75, + "attached_to": 33, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0001", + "name": "Ethernet", + "value": 1 + }, + "model": "Ethernet network interface", + "sysfs_id": "/class/net/enp101s0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:02.6/0000:65:00.0", + "unix_device_names": [ + "enp101s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 98 + }, + { + "type": "phwaddr", + "address": 98 + } + ], + "driver": "r8169", + "driver_module": "r8169", + "drivers": [ + "r8169" + ], + "driver_modules": [ + "r8169" + ] + }, + { + "index": 76, + "attached_to": 41, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0001", + "name": "Ethernet", + "value": 1 + }, + "model": "Ethernet network interface", + "sysfs_id": "/class/net/enp100s0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:02.5/0000:64:00.0", + "unix_device_names": [ + "enp100s0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 98 + }, + { + "type": "phwaddr", + "address": 98 + } + ], + "driver": "r8169", + "driver_module": "r8169", + "drivers": [ + "r8169" + ], + "driver_modules": [ + "r8169" + ] + }, + { + "index": 77, + "attached_to": 0, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "0000", + "name": "Loopback", + "value": 0 + }, + "model": "Loopback network interface", + "sysfs_id": "/class/net/lo", + "unix_device_names": [ + "lo" + ] + }, + { + "index": 78, + "attached_to": 48, + "class_list": [ + "network_interface" + ], + "base_class": { + "hex": "0107", + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "hex": "000a", + "name": "WLAN", + "value": 10 + }, + "model": "WLAN network interface", + "sysfs_id": "/class/net/wlan0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:02.3/0000:63:00.0", + "unix_device_names": [ + "wlan0" + ], + "resources": [ + { + "type": "hwaddr", + "address": 53 + }, + { + "type": "phwaddr", + "address": 97 + } + ], + "driver": "mt7925e", + "driver_module": "mt7925e", + "drivers": [ + "mt7925e" + ], + "driver_modules": [ + "mt7925e" + ] + } + ], + "pci": [ + { + "index": 21, + "attached_to": 58, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 103, + "number": 0 + }, + "base_class": { + "hex": "0013", + "value": 19 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1116", + "value": 4374 + }, + "sub_device": { + "hex": "1116", + "value": 4374 + }, + "model": "unknown unknown", + "sysfs_id": "/devices/pci0000:00/0000:00:08.2/0000:67:00.0", + "sysfs_bus_id": "0000:67:00.0", + "sysfs_iommu_group_id": 27, + "detail": { + "function": 0, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001116sv00001022sd00001116bc13sc00i00" + }, + { + "index": 25, + "attached_to": 40, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 102, + "number": 0 + }, + "base_class": { + "hex": "0010", + "name": "Encryption controller", + "value": 16 + }, + "sub_class": { + "hex": "0080", + "name": "Encryption controller", + "value": 128 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "17e0", + "value": 6112 + }, + "sub_device": { + "hex": "17e0", + "value": 6112 + }, + "model": "AMD Encryption controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:66:00.2", + "sysfs_bus_id": "0000:66:00.2", + "sysfs_iommu_group_id": 23, + "detail": { + "function": 2, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "ccp", + "driver_module": "ccp", + "drivers": [ + "ccp" + ], + "driver_modules": [ + "ccp" + ], + "module_alias": "pci:v00001022d000017E0sv00001022sd000017E0bc10sc80i00" + }, + { + "index": 34, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0008", + "name": "Generic system peripheral", + "value": 8 + }, + "sub_class": { + "hex": "0006", + "value": 6 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1123", + "value": 4387 + }, + "sub_device": { + "hex": "1123", + "value": 4387 + }, + "model": "AMD Generic system peripheral", + "sysfs_id": "/devices/pci0000:00/0000:00:00.2", + "sysfs_bus_id": "0000:00:00.2", + "detail": { + "function": 2, + "command": 1028, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d00001123sv00001022sd00001123bc08sc06i00" + }, + { + "index": 37, + "attached_to": 40, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 102, + "number": 0 + }, + "base_class": { + "hex": "0004", + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "hex": "0080", + "name": "Multimedia controller", + "value": 128 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "15e2", + "value": 5602 + }, + "sub_device": { + "hex": "8909", + "value": 35081 + }, + "revision": { + "hex": "0071", + "value": 113 + }, + "model": "AMD Multimedia controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:66:00.5", + "sysfs_bus_id": "0000:66:00.5", + "sysfs_iommu_group_id": 25, + "detail": { + "function": 5, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "snd_acp_pci", + "driver_module": "snd_acp_pci", + "drivers": [ + "snd_acp_pci" + ], + "driver_modules": [ + "snd_acp_pci" + ], + "module_alias": "pci:v00001022d000015E2sv00001043sd00008909bc04sc80i00" + }, + { + "index": 39, + "attached_to": 58, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 103, + "number": 0 + }, + "base_class": { + "hex": "0011", + "name": "Signal processing controller", + "value": 17 + }, + "sub_class": { + "hex": "0080", + "name": "Signal processing controller", + "value": 128 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "17f0", + "value": 6128 + }, + "sub_device": { + "hex": "17f0", + "value": 6128 + }, + "revision": { + "hex": "0020", + "value": 32 + }, + "model": "AMD Signal processing controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.2/0000:67:00.1", + "sysfs_bus_id": "0000:67:00.1", + "sysfs_iommu_group_id": 28, + "detail": { + "function": 1, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00001022d000017F0sv00001022sd000017F0bc11sc80i00" + }, + { + "index": 57, + "attached_to": 0, + "class_list": [ + "pci", + "unknown" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0005", + "name": "SMBus", + "value": 5 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "790b", + "value": 30987 + }, + "sub_device": { + "hex": "790b", + "value": 30987 + }, + "revision": { + "hex": "0071", + "value": 113 + }, + "model": "AMD SMBus", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0", + "sysfs_bus_id": "0000:00:14.0", + "sysfs_iommu_group_id": 14, + "detail": { + "function": 0, + "command": 1027, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "piix4_smbus", + "driver_module": "i2c_piix4", + "drivers": [ + "piix4_smbus" + ], + "driver_modules": [ + "i2c_piix4" + ], + "module_alias": "pci:v00001022d0000790Bsv00001022sd0000790Bbc0Csc05i00" + } + ], + "sound": [ + { + "index": 47, + "attached_to": 40, + "class_list": [ + "sound", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 102, + "number": 0 + }, + "base_class": { + "hex": "0004", + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "hex": "0003", + "value": 3 + }, + "vendor": { + "hex": "1002", + "name": "ATI Technologies Inc", + "value": 4098 + }, + "sub_vendor": { + "hex": "1002", + "name": "ATI Technologies Inc", + "value": 4098 + }, + "device": { + "hex": "1640", + "value": 5696 + }, + "sub_device": { + "hex": "1640", + "value": 5696 + }, + "model": "ATI Multimedia controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:66:00.1", + "sysfs_bus_id": "0000:66:00.1", + "sysfs_iommu_group_id": 22, + "detail": { + "function": 1, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "snd_hda_intel", + "driver_module": "snd_hda_intel", + "drivers": [ + "snd_hda_intel" + ], + "driver_modules": [ + "snd_hda_intel" + ], + "module_alias": "pci:v00001002d00001640sv00001002sd00001640bc04sc03i00" + }, + { + "index": 56, + "attached_to": 40, + "class_list": [ + "sound", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 102, + "number": 0 + }, + "base_class": { + "hex": "0004", + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "hex": "0003", + "value": 3 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1043", + "value": 4163 + }, + "device": { + "hex": "15e3", + "value": 5603 + }, + "sub_device": { + "hex": "8909", + "value": 35081 + }, + "model": "AMD Multimedia controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:66:00.6", + "sysfs_bus_id": "0000:66:00.6", + "sysfs_iommu_group_id": 26, + "detail": { + "function": 6, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 0 + }, + "driver": "snd_hda_intel", + "driver_module": "snd_hda_intel", + "drivers": [ + "snd_hda_intel" + ], + "driver_modules": [ + "snd_hda_intel" + ], + "module_alias": "pci:v00001022d000015E3sv00001043sd00008909bc04sc03i00", + "label": "Realtek ALC245" + } + ], + "storage_controller": [ + { + "index": 60, + "attached_to": 32, + "class_list": [ + "storage_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 97, + "number": 0 + }, + "base_class": { + "hex": "0001", + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "hex": "0008", + "value": 8 + }, + "pci_interface": { + "hex": "0002", + "value": 2 + }, + "vendor": { + "hex": "1e4b", + "value": 7755 + }, + "sub_vendor": { + "hex": "1e4b", + "value": 7755 + }, + "device": { + "hex": "1202", + "value": 4610 + }, + "sub_device": { + "hex": "1202", + "value": 4610 + }, + "revision": { + "hex": "0001", + "value": 1 + }, + "model": "Mass storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:02.1/0000:61:00.0", + "sysfs_bus_id": "0000:61:00.0", + "sysfs_iommu_group_id": 16, + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 2 + }, + "driver": "nvme", + "driver_module": "nvme", + "drivers": [ + "nvme" + ], + "driver_modules": [ + "nvme" + ], + "module_alias": "pci:v00001E4Bd00001202sv00001E4Bsd00001202bc01sc08i02" + } + ], + "system": { + "form_factor": "laptop" + }, + "usb": [ + { + "index": 67, + "attached_to": 65, + "class_list": [ + "usb", + "unknown" + ], + "bus_type": { + "hex": "0086", + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "hex": "0000", + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "hex": "04f3", + "name": "Elan Microelectronics Corportation", + "value": 1267 + }, + "device": { + "hex": "0ca4", + "name": "ELAN:ARM-M4", + "value": 3236 + }, + "revision": { + "hex": "0000", + "name": "1.08", + "value": 0 + }, + "model": "Elan Microelectronics Corportation ELAN:ARM-M4", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:66:00.4/usb3/3-1/3-1:1.0", + "sysfs_bus_id": "3-1:1.0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "hex": "00ff", + "name": "vendor_spec", + "value": 255 + }, + "interface_subclass": { + "hex": "0000", + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "module_alias": "usb:v04F3p0CA4d0108dc00dsc00dp00icFFisc00ip00in00" + } + ], + "usb_controller": [ + { + "index": 20, + "attached_to": 40, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 102, + "number": 0 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0030", + "value": 48 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1128", + "value": 4392 + }, + "sub_device": { + "hex": "15b9", + "value": 5561 + }, + "model": "AMD USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.1/0000:66:00.4", + "sysfs_bus_id": "0000:66:00.4", + "sysfs_iommu_group_id": 24, + "detail": { + "function": 4, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00001022d00001128sv00001022sd000015B9bc0Csc03i30" + }, + { + "index": 45, + "attached_to": 35, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 104, + "number": 0 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0040", + "value": 64 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1121", + "value": 4385 + }, + "sub_device": { + "hex": "1121", + "value": 4385 + }, + "model": "AMD USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.3/0000:68:00.6", + "sysfs_bus_id": "0000:68:00.6", + "sysfs_iommu_group_id": 31, + "detail": { + "function": 6, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 64 + }, + "driver": "thunderbolt", + "driver_module": "thunderbolt", + "drivers": [ + "thunderbolt" + ], + "driver_modules": [ + "thunderbolt" + ], + "module_alias": "pci:v00001022d00001121sv00001022sd00001121bc0Csc03i40" + }, + { + "index": 49, + "attached_to": 35, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 104, + "number": 0 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0030", + "value": 48 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "111e", + "value": 4382 + }, + "sub_device": { + "hex": "111e", + "value": 4382 + }, + "model": "AMD USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.3/0000:68:00.4", + "sysfs_bus_id": "0000:68:00.4", + "sysfs_iommu_group_id": 30, + "detail": { + "function": 4, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00001022d0000111Esv00001022sd0000111Ebc0Csc03i30" + }, + { + "index": 52, + "attached_to": 51, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 98, + "number": 0 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0030", + "value": 48 + }, + "vendor": { + "hex": "1b21", + "value": 6945 + }, + "sub_vendor": { + "hex": "1b21", + "value": 6945 + }, + "device": { + "hex": "2142", + "value": 8514 + }, + "sub_device": { + "hex": "2142", + "value": 8514 + }, + "model": "USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:02.2/0000:62:00.0", + "sysfs_bus_id": "0000:62:00.0", + "sysfs_iommu_group_id": 17, + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00001B21d00002142sv00001B21sd00002142bc0Csc03i30" + }, + { + "index": 55, + "attached_to": 35, + "class_list": [ + "usb_controller", + "pci" + ], + "bus_type": { + "hex": "0004", + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 104, + "number": 0 + }, + "base_class": { + "hex": "000c", + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "hex": "0003", + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "hex": "0030", + "value": 48 + }, + "vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "sub_vendor": { + "hex": "1022", + "name": "AMD", + "value": 4130 + }, + "device": { + "hex": "1118", + "value": 4376 + }, + "sub_device": { + "hex": "15b9", + "value": 5561 + }, + "model": "AMD USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:08.3/0000:68:00.0", + "sysfs_bus_id": "0000:68:00.0", + "sysfs_iommu_group_id": 29, + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": [ + "xhci_hcd" + ], + "driver_modules": [ + "xhci_pci" + ], + "module_alias": "pci:v00001022d00001118sv00001022sd000015B9bc0Csc03i30" + } + ] + }, + "smbios": { + "bios": { + "handle": 0, + "vendor": "American Megatrends Inc.", + "version": "KRKPNSTD.0021.2025.0320.1404", + "date": "03/20/2025", + "features": [ + "PCI supported", + "BIOS flashable", + "BIOS shadowing allowed", + "CD boot supported", + "Selectable boot supported", + "BIOS ROM socketed", + "EDD spec supported", + "ACPI supported", + "BIOS Boot Spec supported" + ], + "start_address": "0xf0000", + "rom_size": 16777216 + }, + "board": { + "handle": 2, + "manufacturer": "ASUSTeK COMPUTER INC.", + "product": "ELM_PN54", + "version": "RevA", + "board_type": { + "hex": "000a", + "name": "Motherboard", + "value": 10 + }, + "features": [ + "Hosting Board", + "Replaceable" + ], + "location": "", + "chassis": 3 + }, + "cache": [ + { + "handle": 12, + "socket": "L1 - Cache", + "size_max": 640, + "size_current": 640, + "speed": 1, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "hex": "0006", + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0007", + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": [ + "Pipeline Burst" + ], + "sram_type_supported": [ + "Pipeline Burst" + ] + }, + { + "handle": 13, + "socket": "L2 - Cache", + "size_max": 8192, + "size_current": 8192, + "speed": 1, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 1, + "ecc": { + "hex": "0006", + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0008", + "name": "16-way Set-Associative", + "value": 8 + }, + "sram_type_current": [ + "Pipeline Burst" + ], + "sram_type_supported": [ + "Pipeline Burst" + ] + }, + { + "handle": 14, + "socket": "L3 - Cache", + "size_max": 16384, + "size_current": 16384, + "speed": 1, + "mode": { + "hex": "0001", + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "hex": "0000", + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 2, + "ecc": { + "hex": "0006", + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "hex": "0005", + "name": "Unified", + "value": 5 + }, + "associativity": { + "hex": "0008", + "name": "16-way Set-Associative", + "value": 8 + }, + "sram_type_current": [ + "Pipeline Burst" + ], + "sram_type_supported": [ + "Pipeline Burst" + ] + } + ], + "chassis": [ + { + "handle": 3, + "manufacturer": "", + "version": "", + "chassis_type": { + "hex": "0023", + "name": "Other", + "value": 35 + }, + "lock_present": false, + "bootup_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "power_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "thermal_state": { + "hex": "0003", + "name": "Safe", + "value": 3 + }, + "security_state": { + "hex": "0003", + "name": "None", + "value": 3 + }, + "oem": "0x0" + } + ], + "language": [ + { + "handle": 5, + "languages": [ + "en|US|iso8859-1" + ] + } + ], + "memory_array": [ + { + "handle": 18, + "location": { + "hex": "0003", + "name": "Motherboard", + "value": 3 + }, + "usage": { + "hex": "0003", + "name": "System memory", + "value": 3 + }, + "ecc": { + "hex": "0003", + "name": "None", + "value": 3 + }, + "max_size": "0x4000000", + "error_handle": 17, + "slots": 2 + } + ], + "memory_array_mapped_address": [ + { + "handle": 19, + "array_handle": 18, + "start_address": "0x0", + "end_address": "0x400000000", + "part_width": 2 + } + ], + "memory_device": [ + { + "handle": 21, + "location": "DIMM 0", + "bank_location": "P0 CHANNEL A", + "manufacturer": "Micron Technology", + "part_number": "CT8G56C46S5.M4D1", + "array_handle": 18, + "error_handle": 20, + "width": 64, + "ecc_bits": 0, + "size": 8388608, + "form_factor": { + "hex": "000d", + "name": "SODIMM", + "value": 13 + }, + "set": 0, + "memory_type": { + "hex": "0022", + "name": "Other", + "value": 34 + }, + "memory_type_details": [ + "Synchronous" + ], + "speed": 5600 + }, + { + "handle": 24, + "location": "DIMM 0", + "bank_location": "P0 CHANNEL B", + "manufacturer": "Micron Technology", + "part_number": "CT8G56C46S5.M4D1", + "array_handle": 18, + "error_handle": 23, + "width": 64, + "ecc_bits": 0, + "size": 8388608, + "form_factor": { + "hex": "000d", + "name": "SODIMM", + "value": 13 + }, + "set": 0, + "memory_type": { + "hex": "0022", + "name": "Other", + "value": 34 + }, + "memory_type_details": [ + "Synchronous" + ], + "speed": 5600 + } + ], + "memory_device_mapped_address": [ + { + "handle": 22, + "memory_device_handle": 21, + "array_map_handle": 19, + "start_address": "0x0", + "end_address": "0x200000000", + "row_position": 255, + "interleave_position": 255, + "interleave_depth": 255 + }, + { + "handle": 25, + "memory_device_handle": 24, + "array_map_handle": 19, + "start_address": "0x200000000", + "end_address": "0x400000000", + "row_position": 255, + "interleave_position": 255, + "interleave_depth": 255 + } + ], + "memory_error": [ + { + "handle": 17, + "error_type": { + "hex": "0003", + "name": "OK", + "value": 3 + }, + "granularity": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "operation": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "syndrome": 0, + "array_address": "0x80000000", + "device_address": "0x80000000", + "range": 2147483648 + }, + { + "handle": 20, + "error_type": { + "hex": "0003", + "name": "OK", + "value": 3 + }, + "granularity": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "operation": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "syndrome": 0, + "array_address": "0x80000000", + "device_address": "0x80000000", + "range": 2147483648 + }, + { + "handle": 23, + "error_type": { + "hex": "0003", + "name": "OK", + "value": 3 + }, + "granularity": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "operation": { + "hex": "0002", + "name": "Unknown", + "value": 2 + }, + "syndrome": 0, + "array_address": "0x80000000", + "device_address": "0x80000000", + "range": 2147483648 + } + ], + "port_connector": [ + { + "handle": 27, + "port_type": { + "hex": "000d", + "name": "Keyboard Port", + "value": 13 + }, + "internal_reference_designator": "J130", + "external_connector_type": { + "hex": "000f", + "name": "PS/2", + "value": 15 + }, + "external_reference_designator": "Keyboard" + }, + { + "handle": 28, + "port_type": { + "hex": "000e", + "name": "Mouse Port", + "value": 14 + }, + "internal_reference_designator": "J131", + "external_connector_type": { + "hex": "000f", + "name": "PS/2", + "value": 15 + }, + "external_reference_designator": "Touch pad" + }, + { + "handle": 29, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J90", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB3.2-A" + }, + { + "handle": 30, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J93", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB2.0-A" + }, + { + "handle": 31, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J76", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB3.2-A" + }, + { + "handle": 32, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J49", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB-C 20G PORT0" + }, + { + "handle": 33, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J62", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB-C 20G PORT1" + }, + { + "handle": 34, + "port_type": { + "hex": "0010", + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "J137", + "external_connector_type": { + "hex": "0012", + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB-C 10G PORT2" + }, + { + "handle": 35, + "port_type": { + "hex": "001c", + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J79", + "external_reference_designator": "HDMI2.1 CONN" + }, + { + "handle": 36, + "port_type": { + "hex": "001f", + "name": "Network Port", + "value": 31 + }, + "internal_reference_designator": "J91", + "external_connector_type": { + "hex": "000b", + "name": "RJ-45", + "value": 11 + }, + "external_reference_designator": "Network" + }, + { + "handle": 37, + "port_type": { + "hex": "001c", + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J31", + "external_reference_designator": "eDP CONN" + }, + { + "handle": 38, + "port_type": { + "hex": "001c", + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "J45", + "external_reference_designator": "DP1" + }, + { + "handle": 39, + "port_type": { + "hex": "001d", + "name": "Audio Port", + "value": 29 + }, + "internal_reference_designator": "J15", + "external_connector_type": { + "hex": "001f", + "name": "Mini-jack [headphones]", + "value": 31 + }, + "external_reference_designator": "Microphone" + }, + { + "handle": 40, + "port_type": { + "hex": "001d", + "name": "Audio Port", + "value": 29 + }, + "internal_reference_designator": "J16", + "external_connector_type": { + "hex": "001f", + "name": "Mini-jack [headphones]", + "value": 31 + }, + "external_reference_designator": "Headphone" + } + ], + "processor": [ + { + "handle": 15, + "socket": "FP8DDR5", + "socket_type": { + "hex": "0001", + "name": "Other", + "value": 1 + }, + "socket_populated": true, + "manufacturer": "Advanced Micro Devices, Inc.", + "version": "AMD Ryzen AI 7 350 w/ Radeon 860M", + "part": "Unknown", + "processor_type": { + "hex": "0003", + "name": "CPU", + "value": 3 + }, + "processor_family": { + "hex": "006b", + "name": "Other", + "value": 107 + }, + "processor_status": { + "hex": "0001", + "name": "Enabled", + "value": 1 + }, + "clock_ext": 100, + "clock_max": 5050, + "cache_handle_l1": 12, + "cache_handle_l2": 13, + "cache_handle_l3": 14 + } + ], + "slot": [ + { + "handle": 41, + "designation": "J96;PCIe x8 slot;", + "slot_type": { + "hex": "00a9", + "name": "Other", + "value": 169 + }, + "bus_width": { + "hex": "000b", + "name": "Other", + "value": 11 + }, + "usage": { + "hex": "0003", + "name": "Available", + "value": 3 + }, + "length": { + "hex": "0003", + "name": "Short", + "value": 3 + }, + "id": 1, + "features": [ + "3.3 V", + "PME#", + "Hot-Plug" + ] + }, + { + "handle": 42, + "designation": "J98;M.2 WLAN slot;", + "slot_type": { + "hex": "0015", + "name": "Other", + "value": 21 + }, + "bus_width": { + "hex": "0008", + "name": "Other", + "value": 8 + }, + "usage": { + "hex": "0004", + "name": "In Use", + "value": 4 + }, + "length": { + "hex": "0003", + "name": "Short", + "value": 3 + }, + "id": 2, + "features": [ + "3.3 V", + "PME#", + "Hot-Plug" + ] + }, + { + "handle": 43, + "designation": "J109;M.2 WWAN slot;", + "slot_type": { + "hex": "0016", + "name": "Other", + "value": 22 + }, + "bus_width": { + "hex": "0008", + "name": "Other", + "value": 8 + }, + "usage": { + "hex": "0004", + "name": "In Use", + "value": 4 + }, + "length": { + "hex": "0003", + "name": "Short", + "value": 3 + }, + "id": 3, + "features": [ + "3.3 V", + "PME#", + "Hot-Plug" + ] + }, + { + "handle": 44, + "designation": "J100;M.2 SSD0 slot;", + "slot_type": { + "hex": "0017", + "name": "Other", + "value": 23 + }, + "bus_width": { + "hex": "000a", + "name": "Other", + "value": 10 + }, + "usage": { + "hex": "0004", + "name": "In Use", + "value": 4 + }, + "length": { + "hex": "0003", + "name": "Short", + "value": 3 + }, + "id": 4, + "features": [ + "3.3 V", + "PME#" + ] + } + ], + "system": { + "handle": 1, + "manufacturer": "ASUSTeK COMPUTER INC.", + "product": "ELM_PN54", + "version": "90MR01B2-M00080", + "wake_up": { + "hex": "0006", + "name": "Power Switch", + "value": 6 + } + } + } +} diff --git a/rotated_display.nix b/rotated_display.nix new file mode 100644 index 0000000..88253f1 --- /dev/null +++ b/rotated_display.nix @@ -0,0 +1,34 @@ +{ pkgs, rhemawave, ...}: +let + rhemaApp = rhemawave.packages.${pkgs.system}.default; + kioskscript = pkgs.writeShellScript "kiosk-start" '' + OUTPUT=$(${pkgs.wlr-randr}/bin/wlr-randr | grep -m1 '^\S' | awk '{print $1}') + ${pkgs.wlr-randr}/bin/wlr-randr --output "$OUTPUT" --transform 90 + exec ${rhemaApp}/bin/rhemawave -d -s + ''; +in +{ + environment.systemPackages = [ pkgs.wlr-randr]; + + environment.loginShellInit = pkgs.lib.mkForce '' + if [ "$(tty)" = "/dev/tty1" ]; then + export CODEBUG=netdns=cgo + export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt + for i in {1..10}; do + if ${pkgs.iputils}/bin/ping -c 1 8.8.8.8 &> /dev/null; then + break + fi + sleep 1 + done + + export SDL_VIDEODRIVER=wayland + export QT_QPA_PLATFORM=wayland + export XDG_SESSION_TYPE=wayland + export WLR_RENDERER=pixman + export WLR_NO_HARDWARE_CURSORS=1 + + mkdir -p /home/kiosk/.local/share/rhemawave + exec dbus-run-session cage -- ${kioskscript} > /tmp/kiosk.log 2>&1 + fi + ''; +} diff --git a/vm-disk-config.nix b/vm-disk-config.nix new file mode 100644 index 0000000..90d2e64 --- /dev/null +++ b/vm-disk-config.nix @@ -0,0 +1,49 @@ +{ lib, ... }: +{ + disko.devices = { + disk.disk1 = { + device = lib.mkDefault "/dev/vda"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + boot = { + name = "boot"; + size = "1M"; + type = "EF02"; + }; + esp = { + name = "ESP"; + size = "500M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + }; + }; + swap = { + name = "swap"; + size = "16G"; + content = { + type = "swap"; + }; + }; + root = { + name = "root"; + size = "100%"; + content = { + type = "filesystem"; + format = "xfs"; + mountpoint = "/"; + mountOptions = [ + "defaults" + "pquota" + ]; + }; + }; + }; + }; + }; + }; +}