From c7a3d52a33c5022d080b5d12ffab6b04bc7a4c58 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Thu, 28 Nov 2024 16:37:12 +0100 Subject: [PATCH] Clan-app: init single-disk template --- machines/test-inventory-machine/facter.json | 5332 ++++++++++++++++++- pkgs/clan-cli/clan_cli/api/disk.py | 164 +- pkgs/clan-cli/clan_cli/dirs.py | 1 + templates/disk/single-disk.nix | 6 - 4 files changed, 5468 insertions(+), 35 deletions(-) diff --git a/machines/test-inventory-machine/facter.json b/machines/test-inventory-machine/facter.json index 7b6fc7a61..ec7d1d394 100644 --- a/machines/test-inventory-machine/facter.json +++ b/machines/test-inventory-machine/facter.json @@ -1,4 +1,5334 @@ { "version": 1, - "system": "x86_64-linux" + "system": "x86_64-linux", + "virtualisation": "none", + "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": 772 + }, + "bluetooth": [ + { + "index": 45, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Bluetooth Device", + "value": 277 + }, + "vendor": { + "value": 32903 + }, + "device": { + "value": 51 + }, + "model": "Bluetooth Device", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.0", + "sysfs_bus_id": "1-10:1.0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "wireless", + "value": 224 + }, + "device_subclass": { + "name": "audio", + "value": 1 + }, + "device_protocol": 1, + "interface_class": { + "name": "wireless", + "value": 224 + }, + "interface_subclass": { + "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": 59, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Bluetooth Device", + "value": 277 + }, + "vendor": { + "value": 32903 + }, + "device": { + "value": 51 + }, + "model": "Bluetooth Device", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.1", + "sysfs_bus_id": "1-10:1.1", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "wireless", + "value": 224 + }, + "device_subclass": { + "name": "audio", + "value": 1 + }, + "device_protocol": 1, + "interface_class": { + "name": "wireless", + "value": 224 + }, + "interface_subclass": { + "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": 17, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "ISA bridge", + "value": 1 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 20866 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "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": 12, + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d00005182sv000017AAsd000022E8bc06sc01i00" + }, + { + "index": 19, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 7 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 17967 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "value": 4 + }, + "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, + "resources": [ + { + "type": "irq", + "base": 124, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 2, + "command": 1031, + "header_type": 1, + "secondary_bus": 80, + "irq": 124, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": ["pcieport"], + "module_alias": "pci:v00008086d0000462Fsv000017AAsd000022E8bc06sc04i00" + }, + { + "index": 23, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 7 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 18030 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "value": 4 + }, + "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, + "resources": [ + { + "type": "irq", + "base": 123, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 1, + "secondary_bus": 32, + "irq": 123, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": ["pcieport"], + "module_alias": "pci:v00008086d0000466Esv000017AAsd000022E8bc06sc04i00" + }, + { + "index": 27, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "Host bridge", + "value": 0 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 17921 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "value": 4 + }, + "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, + "irq": 0, + "prog_if": 0 + }, + "driver": "igen6_edac", + "driver_module": "igen6_edac", + "drivers": ["igen6_edac"], + "driver_modules": ["igen6_edac"], + "module_alias": "pci:v00008086d00004601sv000017AAsd000022E8bc06sc00i00" + }, + { + "index": 29, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 6 + }, + "base_class": { + "name": "Bridge", + "value": 6 + }, + "sub_class": { + "name": "PCI bridge", + "value": 4 + }, + "pci_interface": { + "name": "Normal decode", + "value": 0 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 17997 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "value": 4 + }, + "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, + "resources": [ + { + "type": "irq", + "base": 122, + "triggered": 0, + "enabled": true + } + ], + "detail": { + "function": 0, + "command": 1287, + "header_type": 1, + "secondary_bus": 2, + "irq": 122, + "prog_if": 0 + }, + "driver": "pcieport", + "drivers": ["pcieport"], + "module_alias": "pci:v00008086d0000464Dsv000017AAsd000022E8bc06sc04i00" + } + ], + "camera": [ + { + "index": 40, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Camera", + "value": 271 + }, + "vendor": { + "name": "SunplusIT Inc", + "value": 22918 + }, + "device": { + "name": "Integrated RGB Camera", + "value": 8514 + }, + "revision": { + "name": "67.14", + "value": 0 + }, + "serial": "01.00.00", + "model": "SunplusIT Integrated RGB Camera", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.3", + "sysfs_bus_id": "1-4:1.3", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "name": "video", + "value": 14 + }, + "interface_subclass": { + "name": "comm", + "value": 2 + }, + "interface_protocol": 1, + "interface_number": 3, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "name": "video", + "value": 14 + }, + "function_subclass": { + "name": "hid", + "value": 3 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 2 + } + }, + "hotplug": "usb", + "driver": "uvcvideo", + "driver_module": "uvcvideo", + "drivers": ["uvcvideo"], + "driver_modules": ["uvcvideo"], + "module_alias": "usb:v5986p2142d6714dcEFdsc02dp01ic0Eisc02ip01in03" + }, + { + "index": 43, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Camera", + "value": 271 + }, + "vendor": { + "name": "SunplusIT Inc", + "value": 22918 + }, + "device": { + "name": "Integrated RGB Camera", + "value": 8514 + }, + "revision": { + "name": "67.14", + "value": 0 + }, + "serial": "01.00.00", + "model": "SunplusIT Integrated RGB Camera", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.1", + "sysfs_bus_id": "1-4:1.1", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "name": "video", + "value": 14 + }, + "interface_subclass": { + "name": "comm", + "value": 2 + }, + "interface_protocol": 1, + "interface_number": 1, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "name": "video", + "value": 14 + }, + "function_subclass": { + "name": "hid", + "value": 3 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 0 + } + }, + "hotplug": "usb", + "driver": "uvcvideo", + "driver_module": "uvcvideo", + "drivers": ["uvcvideo"], + "driver_modules": ["uvcvideo"], + "module_alias": "usb:v5986p2142d6714dcEFdsc02dp01ic0Eisc02ip01in01" + }, + { + "index": 57, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Camera", + "value": 271 + }, + "vendor": { + "name": "SunplusIT Inc", + "value": 22918 + }, + "device": { + "name": "Integrated RGB Camera", + "value": 8514 + }, + "revision": { + "name": "67.14", + "value": 0 + }, + "serial": "01.00.00", + "model": "SunplusIT Integrated RGB Camera", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.2", + "sysfs_bus_id": "1-4:1.2", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "name": "video", + "value": 14 + }, + "interface_subclass": { + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 2, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "name": "video", + "value": 14 + }, + "function_subclass": { + "name": "hid", + "value": 3 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 2 + } + }, + "hotplug": "usb", + "driver": "uvcvideo", + "driver_module": "uvcvideo", + "drivers": ["uvcvideo"], + "driver_modules": ["uvcvideo"], + "module_alias": "usb:v5986p2142d6714dcEFdsc02dp01ic0Eisc01ip01in02" + }, + { + "index": 63, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Camera", + "value": 271 + }, + "vendor": { + "name": "SunplusIT Inc", + "value": 22918 + }, + "device": { + "name": "Integrated RGB Camera", + "value": 8514 + }, + "revision": { + "name": "67.14", + "value": 0 + }, + "serial": "01.00.00", + "model": "SunplusIT Integrated RGB Camera", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0", + "sysfs_bus_id": "1-4:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "name": "video", + "value": 14 + }, + "interface_subclass": { + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 0, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "name": "video", + "value": 14 + }, + "function_subclass": { + "name": "hid", + "value": 3 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 0 + } + }, + "hotplug": "usb", + "driver": "uvcvideo", + "driver_module": "uvcvideo", + "drivers": ["uvcvideo"], + "driver_modules": ["uvcvideo"], + "module_alias": "usb:v5986p2142d6714dcEFdsc02dp01ic0Eisc01ip01in00" + } + ], + "chip_card": [ + { + "index": 64, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Chipcard Reader", + "value": 270 + }, + "vendor": { + "name": "Alcor Micro, Inc.", + "value": 1423 + }, + "device": { + "name": "EMV Smartcard Reader", + "value": 38208 + }, + "revision": { + "name": "1.20", + "value": 0 + }, + "model": "Alcor Micro EMV Smartcard Reader", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0", + "sysfs_bus_id": "1-8:1.0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "name": "smart_card", + "value": 11 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "module_alias": "usb:v058Fp9540d0120dc00dsc00dp00ic0Bisc00ip00in00" + } + ], + "cpu": [ + { + "architecture": "x86_64", + "vendor_name": "GenuineIntel", + "family": 6, + "model": 154, + "stepping": 4, + "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", + "smx", + "est", + "tm2", + "ssse3", + "sdbg", + "fma", + "cx16", + "xtpr", + "pdcm", + "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" + ], + "bogo": 5222.4, + "cache": 12288, + "units": 64, + "physical_id": 0, + "siblings": 12, + "cores": 10, + "fpu": true, + "fpu_exception": true, + "cpuid_level": 32, + "write_protect": false, + "clflush_size": 64, + "cache_alignment": 64, + "address_sizes": { + "physical": 39, + "virtual": 48 + } + } + ], + "disk": [ + { + "index": 39, + "attached_to": 18, + "bus_type": { + "name": "NVME", + "value": 150 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Mass Storage Device", + "value": 262 + }, + "sub_class": { + "name": "Disk", + "value": 0 + }, + "vendor": { + "value": 5197 + }, + "sub_vendor": { + "value": 5197 + }, + "device": { + "name": "SAMSUNG MZVL21T0HCLR-00BL7", + "value": 43018 + }, + "sub_device": { + "value": 43009 + }, + "serial": "S64PNX0T804482", + "model": "SAMSUNG MZVL21T0HCLR-00BL7", + "sysfs_id": "/class/block/nvme0n1", + "sysfs_bus_id": "nvme0", + "sysfs_device_link": "/devices/pci0000:00/0000:00:06.0/0000:02:00.0/nvme/nvme0", + "unix_device_name": "/dev/nvme0n1", + "unix_device_number": { + "type": 98, + "major": 259, + "minor": 0, + "range": 0 + }, + "unix_device_names": [ + "/dev/disk/by-diskseq/1", + "/dev/disk/by-id/nvme-SAMSUNG_MZVL21T0HCLR-00BL7_S64PNX0T804482", + "/dev/disk/by-id/nvme-SAMSUNG_MZVL21T0HCLR-00BL7_S64PNX0T804482_1", + "/dev/disk/by-id/nvme-eui.002538b821b01182", + "/dev/disk/by-path/pci-0000:02:00.0-nvme-1", + "/dev/nvme0n1" + ], + "rom_id": "0x80", + "resources": [ + { + "type": "disk_geo", + "cylinders": 976762, + "heads": 64, + "sectors": 32, + "size": 0, + "geo_type": "logical" + }, + { + "type": "size", + "unit": "sectors", + "value_1": 2000409264, + "value_2": 512 + } + ], + "driver": "nvme", + "driver_module": "nvme", + "drivers": ["nvme"], + "driver_modules": ["nvme"] + } + ], + "graphics_card": [ + { + "index": 32, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 2 + }, + "base_class": { + "name": "Display controller", + "value": 3 + }, + "sub_class": { + "name": "VGA compatible controller", + "value": 0 + }, + "pci_interface": { + "name": "VGA", + "value": 0 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 17960 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "value": 12 + }, + "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": 8192, + "range": 64, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 202, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 274877906944, + "range": 268435456, + "enabled": true, + "access": "read_only", + "prefetch": "no" + }, + { + "type": "mem", + "base": 413323493376, + "range": 16777216, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 786432, + "range": 131072, + "enabled": false, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 202, + "prog_if": 0 + }, + "driver": "i915", + "driver_module": "i915", + "drivers": ["i915"], + "driver_modules": ["i915"], + "module_alias": "pci:v00008086d00004628sv000017AAsd000022E8bc03sc00i00" + } + ], + "hub": [ + { + "index": 47, + "attached_to": 69, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Hub", + "value": 266 + }, + "vendor": { + "name": "Generic", + "value": 3034 + }, + "device": { + "name": "4-Port USB 3.0 Hub", + "value": 1041 + }, + "revision": { + "name": "1.04", + "value": 0 + }, + "model": "Generic 4-Port USB 3.0 Hub", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0", + "sysfs_bus_id": "2-1:1.0", + "detail": { + "device_class": { + "name": "hub", + "value": 9 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": ["hub"], + "module_alias": "usb:v0BDAp0411d0104dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 48, + "attached_to": 16, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Hub", + "value": 266 + }, + "vendor": { + "name": "Linux 6.11.4 xhci-hcd", + "value": 7531 + }, + "device": { + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "name": "6.11", + "value": 0 + }, + "serial": "0000:00:0d.0", + "model": "Linux 6.11.4 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.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": { + "name": "hub", + "value": 9 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": ["hub"], + "module_alias": "usb:v1D6Bp0002d0611dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 49, + "attached_to": 61, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Hub", + "value": 266 + }, + "vendor": { + "name": "Generic", + "value": 3034 + }, + "device": { + "name": "4-Port USB 2.0 Hub", + "value": 21521 + }, + "revision": { + "name": "1.04", + "value": 0 + }, + "model": "Generic 4-Port USB 2.0 Hub", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0", + "sysfs_bus_id": "1-1.2.1:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "hub", + "value": 9 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 2, + "interface_class": { + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 2, + "interface_number": 0, + "interface_alternate_setting": 1 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": ["hub"], + "module_alias": "usb:v0BDAp5411d0104dc09dsc00dp02ic09isc00ip02in00" + }, + { + "index": 55, + "attached_to": 16, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Hub", + "value": 266 + }, + "vendor": { + "name": "Linux 6.11.4 xhci-hcd", + "value": 7531 + }, + "device": { + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "name": "6.11", + "value": 0 + }, + "serial": "0000:00:0d.0", + "model": "Linux 6.11.4 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0/usb4/4-0:1.0", + "sysfs_bus_id": "4-0:1.0", + "detail": { + "device_class": { + "name": "hub", + "value": 9 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": ["hub"], + "module_alias": "usb:v1D6Bp0003d0611dc09dsc00dp03ic09isc00ip00in00" + }, + { + "index": 61, + "attached_to": 67, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Hub", + "value": 266 + }, + "vendor": { + "value": 6720 + }, + "device": { + "name": "USB 2.0 Hub", + "value": 2049 + }, + "revision": { + "name": "1.00", + "value": 0 + }, + "model": "USB 2.0 Hub", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.2/1-1.2:1.0", + "sysfs_bus_id": "1-1.2:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "hub", + "value": 9 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": ["hub"], + "module_alias": "usb:v1A40p0801d0100dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 62, + "attached_to": 33, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Hub", + "value": 266 + }, + "vendor": { + "name": "Linux 6.11.4 xhci-hcd", + "value": 7531 + }, + "device": { + "name": "xHCI Host Controller", + "value": 2 + }, + "revision": { + "name": "6.11", + "value": 0 + }, + "serial": "0000:00:14.0", + "model": "Linux 6.11.4 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.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": { + "name": "hub", + "value": 9 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": ["hub"], + "module_alias": "usb:v1D6Bp0002d0611dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 67, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Hub", + "value": 266 + }, + "vendor": { + "value": 6720 + }, + "device": { + "name": "USB 2.0 Hub", + "value": 2049 + }, + "revision": { + "name": "1.00", + "value": 0 + }, + "model": "USB 2.0 Hub", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0", + "sysfs_bus_id": "1-1:1.0", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "hub", + "value": 9 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 1, + "interface_class": { + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": ["hub"], + "module_alias": "usb:v1A40p0801d0100dc09dsc00dp01ic09isc00ip00in00" + }, + { + "index": 69, + "attached_to": 33, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Hub", + "value": 266 + }, + "vendor": { + "name": "Linux 6.11.4 xhci-hcd", + "value": 7531 + }, + "device": { + "name": "xHCI Host Controller", + "value": 3 + }, + "revision": { + "name": "6.11", + "value": 0 + }, + "serial": "0000:00:14.0", + "model": "Linux 6.11.4 xhci-hcd xHCI Host Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb2/2-0:1.0", + "sysfs_bus_id": "2-0:1.0", + "detail": { + "device_class": { + "name": "hub", + "value": 9 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 3, + "interface_class": { + "name": "hub", + "value": 9 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "hub", + "drivers": ["hub"], + "module_alias": "usb:v1D6Bp0003d0611dc09dsc00dp03ic09isc00ip00in00" + } + ], + "keyboard": [ + { + "index": 44, + "attached_to": 49, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Keyboard", + "value": 264 + }, + "sub_class": { + "name": "Keyboard", + "value": 0 + }, + "vendor": { + "name": "Keychron", + "value": 13364 + }, + "device": { + "name": "Keychron Q10", + "value": 419 + }, + "revision": { + "name": "1.00", + "value": 0 + }, + "model": "Keychron Q10", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1.1/1-1.2.1.1:1.0", + "sysfs_bus_id": "1-1.2.1.1:1.0", + "unix_device_name": "/dev/input/event15", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 79, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/by-id/usb-Keychron_Keychron_Q10-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:1.2.1.1:1.0-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:1.2.1.1:1.0-event-kbd", + "/dev/input/event15" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "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:v3434p01A3d0100dc00dsc00dp00ic03isc01ip01in00" + } + ], + "memory": [ + { + "index": 15, + "attached_to": 0, + "base_class": { + "name": "Internally Used Class", + "value": 257 + }, + "sub_class": { + "name": "Main Memory", + "value": 2 + }, + "model": "Main Memory", + "resources": [ + { + "type": "mem", + "base": 0, + "range": 16459116544, + "enabled": true, + "access": "read_write", + "prefetch": "unknown" + }, + { + "type": "phys_mem", + "range": 16106127360 + } + ] + } + ], + "monitor": [ + { + "index": 37, + "attached_to": 32, + "base_class": { + "name": "Monitor", + "value": 256 + }, + "sub_class": { + "name": "LCD Monitor", + "value": 2 + }, + "vendor": { + "name": "SAMSUNG", + "value": 19501 + }, + "device": { + "name": "LC32G7xT", + "value": 28762 + }, + "serial": "H4ZT300022", + "model": "SAMSUNG LC32G7xT", + "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": 1152, + "height": 864, + "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": 2560, + "height": 1440, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "monitor", + "width": 640, + "height": 480, + "vertical_frequency": 67, + "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": "monitor", + "width": 832, + "height": 624, + "vertical_frequency": 75, + "interlaced": false + }, + { + "type": "size", + "unit": "mm", + "value_1": 698, + "value_2": 393 + } + ], + "detail": { + "manufacture_year": 2022, + "manufacture_week": 10, + "vertical_sync": { + "min": 48, + "max": 144 + }, + "horizontal_sync": { + "min": 30, + "max": 214 + }, + "horizontal_sync_timings": { + "disp": 2560, + "sync_start": 2568, + "sync_end": 2632, + "total": 2720 + }, + "vertical_sync_timings": { + "disp": 1440, + "sync_start": 1443, + "sync_end": 1448, + "total": 1481 + }, + "clock": 580080, + "width": 2560, + "height": 1440, + "width_millimetres": 698, + "height_millimetres": 393, + "horizontal_flag": 45, + "vertical_flag": 43, + "vendor": "", + "name": "LC32G7xT" + }, + "driver_info": { + "type": "display", + "width": 2560, + "height": 1440, + "vertical_sync": { + "min": 48, + "max": 144 + }, + "horizontal_sync": { + "min": 30, + "max": 214 + }, + "bandwidth": 0, + "horizontal_sync_timings": { + "disp": 2560, + "sync_start": 2568, + "sync_end": 2632, + "total": 2720 + }, + "vertical_sync_timings": { + "disp": 1440, + "sync_start": 1443, + "sync_end": 1448, + "total": 1481 + }, + "horizontal_flag": 45, + "vertical_flag": 43 + } + }, + { + "index": 38, + "attached_to": 32, + "base_class": { + "name": "Monitor", + "value": 256 + }, + "sub_class": { + "name": "LCD Monitor", + "value": 2 + }, + "vendor": { + "name": "AUO", + "value": 1711 + }, + "device": { + "value": 53905 + }, + "serial": "0", + "model": "AUO LCD Monitor", + "resources": [ + { + "type": "monitor", + "width": 1920, + "height": 1200, + "vertical_frequency": 60, + "interlaced": false + }, + { + "type": "size", + "unit": "mm", + "value_1": 301, + "value_2": 188 + } + ], + "detail": { + "manufacture_year": 2020, + "manufacture_week": 22, + "vertical_sync": { + "min": 48, + "max": 60 + }, + "horizontal_sync": { + "min": 75, + "max": 75 + }, + "horizontal_sync_timings": { + "disp": 1920, + "sync_start": 1936, + "sync_end": 1952, + "total": 2104 + }, + "vertical_sync_timings": { + "disp": 1200, + "sync_start": 1203, + "sync_end": 1217, + "total": 1236 + }, + "clock": 156100, + "width": 1920, + "height": 1200, + "width_millimetres": 301, + "height_millimetres": 188, + "horizontal_flag": 45, + "vertical_flag": 45, + "vendor": "AUO", + "name": "" + }, + "driver_info": { + "type": "display", + "width": 1920, + "height": 1200, + "vertical_sync": { + "min": 48, + "max": 60 + }, + "horizontal_sync": { + "min": 75, + "max": 75 + }, + "bandwidth": 0, + "horizontal_sync_timings": { + "disp": 1920, + "sync_start": 1936, + "sync_end": 1952, + "total": 2104 + }, + "vertical_sync_timings": { + "disp": 1200, + "sync_start": 1203, + "sync_end": 1217, + "total": 1236 + }, + "horizontal_flag": 45, + "vertical_flag": 45 + } + } + ], + "mouse": [ + { + "index": 41, + "attached_to": 49, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Mouse", + "value": 261 + }, + "sub_class": { + "name": "USB Mouse", + "value": 3 + }, + "vendor": { + "name": "Keychron", + "value": 13364 + }, + "device": { + "name": "Keychron Q10", + "value": 419 + }, + "revision": { + "name": "1.00", + "value": 0 + }, + "compat_vendor": "Unknown", + "compat_device": "Generic USB Mouse", + "model": "Keychron Q10", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1.1/1-1.2.1.1:1.2", + "sysfs_bus_id": "1-1.2.1.1:1.2", + "unix_device_name": "/dev/input/mice", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 63, + "range": 1 + }, + "unix_device_names": ["/dev/input/mice"], + "unix_device_name2": "/dev/input/mouse3", + "unix_device_number2": { + "type": 99, + "major": 13, + "minor": 35, + "range": 1 + }, + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "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:v3434p01A3d0100dc00dsc00dp00ic03isc00ip00in02" + }, + { + "index": 52, + "attached_to": 49, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Mouse", + "value": 261 + }, + "sub_class": { + "name": "USB Mouse", + "value": 3 + }, + "vendor": { + "name": "Razer", + "value": 5426 + }, + "device": { + "name": "Razer Mamba Elite", + "value": 108 + }, + "revision": { + "name": "2.00", + "value": 0 + }, + "compat_vendor": "Unknown", + "compat_device": "Generic USB Mouse", + "model": "Razer Mamba Elite", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1.2/1-1.2.1.2:1.0", + "sysfs_bus_id": "1-1.2.1.2:1.0", + "unix_device_name": "/dev/input/mice", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 63, + "range": 1 + }, + "unix_device_names": ["/dev/input/mice"], + "unix_device_name2": "/dev/input/mouse4", + "unix_device_number2": { + "type": 99, + "major": 13, + "minor": 36, + "range": 1 + }, + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "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:v1532p006Cd0200dc00dsc00dp00ic03isc01ip02in00" + } + ], + "network_controller": [ + { + "index": 21, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "name": "WLAN controller", + "value": 130 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "device": { + "value": 20976 + }, + "sub_device": { + "value": 144 + }, + "revision": { + "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": 9, + "unix_device_name": "wlp0s20f3", + "unix_device_names": ["wlp0s20f3"], + "resources": [ + { + "type": "hwaddr", + "address": 51 + }, + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413342154752, + "range": 16384, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "phwaddr", + "address": 51 + }, + { + "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, + "irq": 16, + "prog_if": 0 + }, + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": ["iwlwifi"], + "driver_modules": ["iwlwifi"], + "module_alias": "pci:v00008086d000051F0sv00008086sd00000090bc02sc80i00" + }, + { + "index": 31, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "name": "Ethernet controller", + "value": 0 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 6687 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "value": 1 + }, + "model": "Intel Ethernet controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.6", + "sysfs_bus_id": "0000:00:1f.6", + "sysfs_iommu_group_id": 12, + "unix_device_name": "enp0s31f6", + "unix_device_names": ["enp0s31f6"], + "resources": [ + { + "type": "hwaddr", + "address": 57 + }, + { + "type": "irq", + "base": 187, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 3157262336, + "range": 131072, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "phwaddr", + "address": 57 + } + ], + "detail": { + "function": 6, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 187, + "prog_if": 0 + }, + "driver": "e1000e", + "driver_module": "e1000e", + "drivers": ["e1000e"], + "driver_modules": ["e1000e"], + "module_alias": "pci:v00008086d00001A1Fsv000017AAsd000022E8bc02sc00i00" + }, + { + "index": 46, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Network controller", + "value": 2 + }, + "sub_class": { + "name": "Ethernet controller", + "value": 0 + }, + "vendor": { + "name": "Quectel", + "value": 11388 + }, + "device": { + "name": "Quectel EM05-G", + "value": 778 + }, + "revision": { + "name": "2.00", + "value": 0 + }, + "model": "Quectel EM05-G", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0", + "sysfs_bus_id": "1-2:1.0", + "unix_device_name": "wwp0s20f0u2", + "unix_device_names": ["wwp0s20f0u2"], + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + }, + { + "type": "hwaddr", + "address": 100 + } + ], + "detail": { + "device_class": { + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "name": "comm", + "value": 2 + }, + "interface_subclass": { + "name": "video", + "value": 14 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0, + "interface_association": { + "function_class": { + "name": "comm", + "value": 2 + }, + "function_subclass": { + "name": "video", + "value": 14 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 0 + } + }, + "hotplug": "usb", + "driver": "cdc_mbim", + "driver_module": "cdc_mbim", + "drivers": ["cdc_mbim"], + "driver_modules": ["cdc_mbim"], + "module_alias": "usb:v2C7Cp030Ad0200dcEFdsc02dp01ic02isc0Eip00in00" + } + ], + "network_interface": [ + { + "index": 70, + "attached_to": 0, + "base_class": { + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "name": "Loopback", + "value": 0 + }, + "model": "Loopback network interface", + "sysfs_id": "/class/net/lo", + "unix_device_name": "lo", + "unix_device_names": ["lo"] + }, + { + "index": 71, + "attached_to": 46, + "base_class": { + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "name": "Ethernet", + "value": 1 + }, + "model": "Ethernet network interface", + "sysfs_id": "/class/net/wwp0s20f0u2", + "sysfs_device_link": "/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0", + "unix_device_name": "wwp0s20f0u2", + "unix_device_names": ["wwp0s20f0u2"], + "resources": [ + { + "type": "hwaddr", + "address": 100 + } + ], + "driver": "cdc_mbim", + "driver_module": "cdc_mbim", + "drivers": ["cdc_mbim"], + "driver_modules": ["cdc_mbim"] + }, + { + "index": 72, + "attached_to": 21, + "base_class": { + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "name": "Ethernet", + "value": 1 + }, + "model": "Ethernet network interface", + "sysfs_id": "/class/net/wlp0s20f3", + "sysfs_device_link": "/devices/pci0000:00/0000:00:14.3", + "unix_device_name": "wlp0s20f3", + "unix_device_names": ["wlp0s20f3"], + "resources": [ + { + "type": "hwaddr", + "address": 51 + }, + { + "type": "phwaddr", + "address": 51 + } + ], + "driver": "iwlwifi", + "driver_module": "iwlwifi", + "drivers": ["iwlwifi"], + "driver_modules": ["iwlwifi"] + }, + { + "index": 74, + "attached_to": 31, + "base_class": { + "name": "Network Interface", + "value": 263 + }, + "sub_class": { + "name": "Ethernet", + "value": 1 + }, + "model": "Ethernet network interface", + "sysfs_id": "/class/net/enp0s31f6", + "sysfs_device_link": "/devices/pci0000:00/0000:00:1f.6", + "unix_device_name": "enp0s31f6", + "unix_device_names": ["enp0s31f6"], + "resources": [ + { + "type": "hwaddr", + "address": 57 + }, + { + "type": "phwaddr", + "address": 57 + } + ], + "driver": "e1000e", + "driver_module": "e1000e", + "drivers": ["e1000e"], + "driver_modules": ["e1000e"] + } + ], + "sound": [ + { + "index": 26, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "value": 3 + }, + "pci_interface": { + "value": 128 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 20936 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "value": 1 + }, + "model": "Intel Multimedia controller", + "sysfs_id": "/devices/pci0000:00/0000:00:1f.3", + "sysfs_bus_id": "0000:00:1f.3", + "sysfs_iommu_group_id": 12, + "resources": [ + { + "type": "irq", + "base": 203, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413340270592, + "range": 1048576, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 413342138368, + "range": 16384, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 3, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 203, + "prog_if": 128 + }, + "driver": "sof-audio-pci-intel-tgl", + "driver_module": "snd_sof_pci_intel_tgl", + "drivers": ["sof-audio-pci-intel-tgl"], + "driver_modules": ["snd_sof_pci_intel_tgl"], + "module_alias": "pci:v00008086d000051C8sv000017AAsd000022E8bc04sc03i80" + }, + { + "index": 51, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "name": "Multimedia audio controller", + "value": 1 + }, + "vendor": { + "name": "Plantronics, Inc.", + "value": 1151 + }, + "device": { + "name": "Plantronics Blackwire 3210 Series", + "value": 49237 + }, + "revision": { + "name": "2.10", + "value": 0 + }, + "serial": "F7D62FD20CE0BE4A9EF4E79EE9AFE489", + "model": "Plantronics Blackwire 3210 Series", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.2", + "sysfs_bus_id": "1-7:1.2", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "name": "audio", + "value": 1 + }, + "interface_subclass": { + "name": "comm", + "value": 2 + }, + "interface_protocol": 0, + "interface_number": 2, + "interface_alternate_setting": 1 + }, + "hotplug": "usb", + "driver": "snd-usb-audio", + "driver_module": "snd_usb_audio", + "drivers": ["snd-usb-audio"], + "driver_modules": ["snd_usb_audio"], + "module_alias": "usb:v047FpC055d0210dc00dsc00dp00ic01isc02ip00in02" + }, + { + "index": 54, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "name": "Multimedia audio controller", + "value": 1 + }, + "vendor": { + "name": "Plantronics, Inc.", + "value": 1151 + }, + "device": { + "name": "Plantronics Blackwire 3210 Series", + "value": 49237 + }, + "revision": { + "name": "2.10", + "value": 0 + }, + "serial": "F7D62FD20CE0BE4A9EF4E79EE9AFE489", + "model": "Plantronics Blackwire 3210 Series", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0", + "sysfs_bus_id": "1-7:1.0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "name": "audio", + "value": 1 + }, + "interface_subclass": { + "name": "audio", + "value": 1 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "snd-usb-audio", + "driver_module": "snd_usb_audio", + "drivers": ["snd-usb-audio"], + "driver_modules": ["snd_usb_audio"], + "module_alias": "usb:v047FpC055d0210dc00dsc00dp00ic01isc01ip00in00" + }, + { + "index": 68, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Multimedia controller", + "value": 4 + }, + "sub_class": { + "name": "Multimedia audio controller", + "value": 1 + }, + "vendor": { + "name": "Plantronics, Inc.", + "value": 1151 + }, + "device": { + "name": "Plantronics Blackwire 3210 Series", + "value": 49237 + }, + "revision": { + "name": "2.10", + "value": 0 + }, + "serial": "F7D62FD20CE0BE4A9EF4E79EE9AFE489", + "model": "Plantronics Blackwire 3210 Series", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.1", + "sysfs_bus_id": "1-7:1.1", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "name": "audio", + "value": 1 + }, + "interface_subclass": { + "name": "comm", + "value": 2 + }, + "interface_protocol": 0, + "interface_number": 1, + "interface_alternate_setting": 1 + }, + "hotplug": "usb", + "driver": "snd-usb-audio", + "driver_module": "snd_usb_audio", + "drivers": ["snd-usb-audio"], + "driver_modules": ["snd_usb_audio"], + "module_alias": "usb:v047FpC055d0210dc00dsc00dp00ic01isc02ip00in01" + } + ], + "storage_controller": [ + { + "index": 18, + "attached_to": 29, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 2, + "number": 0 + }, + "base_class": { + "name": "Mass storage controller", + "value": 1 + }, + "sub_class": { + "value": 8 + }, + "pci_interface": { + "value": 2 + }, + "vendor": { + "value": 5197 + }, + "sub_vendor": { + "value": 5197 + }, + "device": { + "value": 43018 + }, + "sub_device": { + "value": 43009 + }, + "model": "Mass storage controller", + "sysfs_id": "/devices/pci0000:00/0000:00:06.0/0000:02:00.0", + "sysfs_bus_id": "0000:02:00.0", + "sysfs_iommu_group_id": 13, + "resources": [ + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 3156213760, + "range": 16384, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 16, + "prog_if": 2 + }, + "driver": "nvme", + "driver_module": "nvme", + "drivers": ["nvme"], + "driver_modules": ["nvme"], + "module_alias": "pci:v0000144Dd0000A80Asv0000144Dsd0000A801bc01sc08i02" + } + ], + "system": { + "form_factor": "laptop" + }, + "unknown": [ + { + "index": 20, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 4 + }, + "base_class": { + "name": "Signal processing controller", + "value": 17 + }, + "sub_class": { + "name": "Signal processing controller", + "value": 128 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 17949 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "value": 4 + }, + "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, + "resources": [ + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413341843456, + "range": 131072, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "irq": 16, + "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:v00008086d0000461Dsv000017AAsd000022E8bc11sc80i00" + }, + { + "index": 22, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 22 + }, + "base_class": { + "name": "Communication controller", + "value": 7 + }, + "sub_class": { + "name": "Communication controller", + "value": 128 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 20960 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "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": 11, + "resources": [ + { + "type": "irq", + "base": 141, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413342191616, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 141, + "prog_if": 0 + }, + "driver": "mei_me", + "driver_module": "mei_me", + "drivers": ["mei_me"], + "driver_modules": ["mei_me"], + "module_alias": "pci:v00008086d000051E0sv000017AAsd000022E8bc07sc80i00" + }, + { + "index": 24, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "value": 128 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 20900 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "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": 12, + "resources": [ + { + "type": "mem", + "base": 2692743168, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 5, + "command": 1026, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "driver": "intel-spi", + "driver_module": "spi_intel_pci", + "drivers": ["intel-spi"], + "driver_modules": ["spi_intel_pci"], + "module_alias": "pci:v00008086d000051A4sv000017AAsd000022E8bc0Csc80i00" + }, + { + "index": 28, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 21 + }, + "base_class": { + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "value": 128 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 20968 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "value": 1 + }, + "model": "Intel Serial bus controller", + "sysfs_id": "/devices/pci0000:00/0000:00:15.0", + "sysfs_bus_id": "0000:00:15.0", + "sysfs_iommu_group_id": 10, + "resources": [ + { + "type": "irq", + "base": 27, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 275263782912, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 6, + "header_type": 0, + "secondary_bus": 0, + "irq": 27, + "prog_if": 0 + }, + "driver": "intel-lpss", + "driver_module": "intel_lpss_pci", + "drivers": ["intel-lpss"], + "driver_modules": ["intel_lpss_pci"], + "module_alias": "pci:v00008086d000051E8sv000017AAsd000022E8bc0Csc80i00" + }, + { + "index": 30, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "name": "Memory controller", + "value": 5 + }, + "sub_class": { + "name": "RAM memory", + "value": 0 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 20975 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "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": 8, + "resources": [ + { + "type": "mem", + "base": 413342171136, + "range": 16384, + "enabled": false, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 413342199808, + "range": 4096, + "enabled": false, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 2, + "command": 0, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "module_alias": "pci:v00008086d000051EFsv000017AAsd000022E8bc05sc00i00" + }, + { + "index": 34, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 31 + }, + "base_class": { + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "name": "SMBus", + "value": 5 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 20899 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "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": 12, + "resources": [ + { + "type": "io", + "base": 61344, + "range": 32, + "enabled": true, + "access": "read_write" + }, + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413342187520, + "range": 256, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 4, + "command": 3, + "header_type": 0, + "secondary_bus": 0, + "irq": 16, + "prog_if": 0 + }, + "driver": "i801_smbus", + "driver_module": "i2c_i801", + "drivers": ["i801_smbus"], + "driver_modules": ["i2c_i801"], + "module_alias": "pci:v00008086d000051A3sv000017AAsd000022E8bc0Csc05i00" + }, + { + "index": 36, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 10 + }, + "base_class": { + "name": "Signal processing controller", + "value": 17 + }, + "sub_class": { + "name": "Signal processing controller", + "value": 128 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 18045 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "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": 6, + "resources": [ + { + "type": "mem", + "base": 413342105600, + "range": 32768, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 2, + "header_type": 0, + "secondary_bus": 0, + "irq": 0, + "prog_if": 0 + }, + "driver": "intel_vsec", + "driver_module": "intel_vsec", + "drivers": ["intel_vsec"], + "driver_modules": ["intel_vsec"], + "module_alias": "pci:v00008086d0000467Dsv000017AAsd000022E8bc11sc80i00" + }, + { + "index": 42, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Communication controller", + "value": 7 + }, + "sub_class": { + "name": "Serial controller", + "value": 0 + }, + "pci_interface": { + "value": 128 + }, + "vendor": { + "name": "Quectel", + "value": 11388 + }, + "device": { + "name": "Quectel EM05-G", + "value": 778 + }, + "revision": { + "name": "2.00", + "value": 0 + }, + "model": "Quectel EM05-G", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2", + "sysfs_bus_id": "1-2:1.2", + "unix_device_name": "/dev/ttyUSB0", + "unix_device_number": { + "type": 99, + "major": 188, + "minor": 0, + "range": 1 + }, + "unix_device_names": [ + "/dev/serial/by-id/usb-Quectel_Quectel_EM05-G-if02-port0", + "/dev/serial/by-path/pci-0000:00:14.0-usb-0:2:1.2-port0", + "/dev/serial/by-path/pci-0000:00:14.0-usbv2-0:2:1.2-port0", + "/dev/ttyUSB0" + ], + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "name": "vendor_spec", + "value": 255 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 2, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "option", + "drivers": ["option"], + "module_alias": "usb:v2C7Cp030Ad0200dcEFdsc02dp01icFFisc00ip00in02" + }, + { + "index": 50, + "attached_to": 49, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "name": "Razer", + "value": 5426 + }, + "device": { + "name": "Razer Mamba Elite", + "value": 108 + }, + "revision": { + "name": "2.00", + "value": 0 + }, + "model": "Razer Mamba Elite", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1.2/1-1.2.1.2:1.2", + "sysfs_bus_id": "1-1.2.1.2:1.2", + "unix_device_name": "/dev/input/event23", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 87, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/by-id/usb-Razer_Razer_Mamba_Elite-if02-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:1.2.1.2:1.2-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:1.2.1.2:1.2-event-kbd", + "/dev/input/event23" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "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:v1532p006Cd0200dc00dsc00dp00ic03isc00ip01in02" + }, + { + "index": 53, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "value": 1739 + }, + "device": { + "value": 249 + }, + "serial": "dcd628d79716", + "model": "Unclassified device", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0", + "sysfs_bus_id": "1-3:1.0", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "vendor_spec", + "value": 255 + }, + "device_subclass": { + "name": "audio_video", + "value": 16 + }, + "device_protocol": 255, + "interface_class": { + "name": "vendor_spec", + "value": 255 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 0, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "module_alias": "usb:v06CBp00F9d0000dcFFdsc10dpFFicFFisc00ip00in00" + }, + { + "index": 56, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "name": "SunplusIT Inc", + "value": 22918 + }, + "device": { + "name": "Integrated RGB Camera", + "value": 8514 + }, + "revision": { + "name": "67.14", + "value": 0 + }, + "serial": "01.00.00", + "model": "SunplusIT Integrated RGB Camera", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.4", + "sysfs_bus_id": "1-4:1.4", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "name": "application", + "value": 254 + }, + "interface_subclass": { + "name": "audio", + "value": 1 + }, + "interface_protocol": 1, + "interface_number": 4, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "module_alias": "usb:v5986p2142d6714dcEFdsc02dp01icFEisc01ip01in04" + }, + { + "index": 58, + "attached_to": 49, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "name": "Keychron", + "value": 13364 + }, + "device": { + "name": "Keychron Q10", + "value": 419 + }, + "revision": { + "name": "1.00", + "value": 0 + }, + "model": "Keychron Q10", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1.1/1-1.2.1.1:1.1", + "sysfs_bus_id": "1-1.2.1.1:1.1", + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "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:v3434p01A3d0100dc00dsc00dp00ic03isc00ip00in01" + }, + { + "index": 60, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "name": "Quectel", + "value": 11388 + }, + "device": { + "name": "Quectel EM05-G", + "value": 778 + }, + "revision": { + "name": "2.00", + "value": 0 + }, + "model": "Quectel EM05-G", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1", + "sysfs_bus_id": "1-2:1.1", + "resources": [ + { + "type": "baud", + "speed": 480000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "miscellaneous", + "value": 239 + }, + "device_subclass": { + "name": "comm", + "value": 2 + }, + "device_protocol": 1, + "interface_class": { + "name": "data", + "value": 10 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 2, + "interface_number": 1, + "interface_alternate_setting": 1, + "interface_association": { + "function_class": { + "name": "comm", + "value": 2 + }, + "function_subclass": { + "name": "video", + "value": 14 + }, + "function_protocol": 0, + "interface_count": 2, + "first_interface": 0 + } + }, + "hotplug": "usb", + "driver": "cdc_mbim", + "driver_module": "cdc_mbim", + "drivers": ["cdc_mbim"], + "driver_modules": ["cdc_mbim"], + "module_alias": "usb:v2C7Cp030Ad0200dcEFdsc02dp01ic0Aisc00ip02in01" + }, + { + "index": 65, + "attached_to": 62, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "name": "Plantronics, Inc.", + "value": 1151 + }, + "device": { + "name": "Plantronics Blackwire 3210 Series", + "value": 49237 + }, + "revision": { + "name": "2.10", + "value": 0 + }, + "serial": "F7D62FD20CE0BE4A9EF4E79EE9AFE489", + "model": "Plantronics Blackwire 3210 Series", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.3", + "sysfs_bus_id": "1-7:1.3", + "unix_device_name": "/dev/input/event24", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 88, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/by-id/usb-Plantronics_Plantronics_Blackwire_3210_Series_F7D62FD20CE0BE4A9EF4E79EE9AFE489-event-if03", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:7:1.3-event", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:7:1.3-event", + "/dev/input/event24" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "name": "per_interface", + "value": 0 + }, + "interface_protocol": 0, + "interface_number": 3, + "interface_alternate_setting": 0 + }, + "hotplug": "usb", + "driver": "usbhid", + "driver_module": "usbhid", + "drivers": ["usbhid"], + "driver_modules": ["usbhid"], + "module_alias": "usb:v047FpC055d0210dc00dsc00dp00ic03isc00ip00in03" + }, + { + "index": 66, + "attached_to": 49, + "bus_type": { + "name": "USB", + "value": 134 + }, + "slot": { + "bus": 0, + "number": 0 + }, + "base_class": { + "name": "Unclassified device", + "value": 0 + }, + "sub_class": { + "name": "Unclassified device", + "value": 0 + }, + "vendor": { + "name": "Razer", + "value": 5426 + }, + "device": { + "name": "Razer Mamba Elite", + "value": 108 + }, + "revision": { + "name": "2.00", + "value": 0 + }, + "model": "Razer Mamba Elite", + "sysfs_id": "/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1.2/1-1.2.1.2:1.1", + "sysfs_bus_id": "1-1.2.1.2:1.1", + "unix_device_name": "/dev/input/event21", + "unix_device_number": { + "type": 99, + "major": 13, + "minor": 85, + "range": 1 + }, + "unix_device_names": [ + "/dev/input/by-id/usb-Razer_Razer_Mamba_Elite-if01-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usb-0:1.2.1.2:1.1-event-kbd", + "/dev/input/by-path/pci-0000:00:14.0-usbv2-0:1.2.1.2:1.1-event-kbd", + "/dev/input/event21" + ], + "resources": [ + { + "type": "baud", + "speed": 12000000, + "bits": 0, + "stop_bits": 0, + "parity": 0, + "handshake": 0 + } + ], + "detail": { + "device_class": { + "name": "per_interface", + "value": 0 + }, + "device_subclass": { + "name": "per_interface", + "value": 0 + }, + "device_protocol": 0, + "interface_class": { + "name": "hid", + "value": 3 + }, + "interface_subclass": { + "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:v1532p006Cd0200dc00dsc00dp00ic03isc00ip01in01" + } + ], + "usb_controller": [ + { + "index": 16, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 13 + }, + "base_class": { + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "value": 48 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 17950 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "value": 4 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.0", + "sysfs_bus_id": "0000:00:0d.0", + "sysfs_iommu_group_id": 7, + "resources": [ + { + "type": "irq", + "base": 176, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413342040064, + "range": 65536, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 176, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": ["xhci_hcd"], + "driver_modules": ["xhci_pci"], + "module_alias": "pci:v00008086d0000461Esv000017AAsd000022E8bc0Csc03i30" + }, + { + "index": 25, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 13 + }, + "base_class": { + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "value": 64 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 18029 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "value": 4 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.3", + "sysfs_bus_id": "0000:00:0d.3", + "sysfs_iommu_group_id": 7, + "resources": [ + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413341319168, + "range": 262144, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 413342203904, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 3, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 16, + "prog_if": 64 + }, + "driver": "thunderbolt", + "driver_module": "thunderbolt", + "drivers": ["thunderbolt"], + "driver_modules": ["thunderbolt"], + "module_alias": "pci:v00008086d0000466Dsv000017AAsd000022E8bc0Csc03i40" + }, + { + "index": 33, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 20 + }, + "base_class": { + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "value": 48 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 20973 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "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": 8, + "resources": [ + { + "type": "irq", + "base": 154, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413341974528, + "range": 65536, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 0, + "command": 1030, + "header_type": 0, + "secondary_bus": 0, + "irq": 154, + "prog_if": 48 + }, + "driver": "xhci_hcd", + "driver_module": "xhci_pci", + "drivers": ["xhci_hcd"], + "driver_modules": ["xhci_pci"], + "module_alias": "pci:v00008086d000051EDsv000017AAsd000022E8bc0Csc03i30" + }, + { + "index": 35, + "attached_to": 0, + "bus_type": { + "name": "PCI", + "value": 4 + }, + "slot": { + "bus": 0, + "number": 13 + }, + "base_class": { + "name": "Serial bus controller", + "value": 12 + }, + "sub_class": { + "name": "USB Controller", + "value": 3 + }, + "pci_interface": { + "value": 64 + }, + "vendor": { + "name": "Intel Corporation", + "value": 32902 + }, + "sub_vendor": { + "value": 6058 + }, + "device": { + "value": 17982 + }, + "sub_device": { + "value": 8936 + }, + "revision": { + "value": 4 + }, + "model": "Intel USB Controller", + "sysfs_id": "/devices/pci0000:00/0000:00:0d.2", + "sysfs_bus_id": "0000:00:0d.2", + "sysfs_iommu_group_id": 7, + "resources": [ + { + "type": "irq", + "base": 16, + "triggered": 0, + "enabled": true + }, + { + "type": "mem", + "base": 413341581312, + "range": 262144, + "enabled": true, + "access": "read_write", + "prefetch": "no" + }, + { + "type": "mem", + "base": 413342208000, + "range": 4096, + "enabled": true, + "access": "read_write", + "prefetch": "no" + } + ], + "detail": { + "function": 2, + "command": 1031, + "header_type": 0, + "secondary_bus": 0, + "irq": 16, + "prog_if": 64 + }, + "driver": "thunderbolt", + "driver_module": "thunderbolt", + "drivers": ["thunderbolt"], + "driver_modules": ["thunderbolt"], + "module_alias": "pci:v00008086d0000463Esv000017AAsd000022E8bc0Csc03i40" + } + ] + }, + "smbios": { + "bios": { + "handle": 26, + "vendor": "LENOVO", + "version": "N3MET10W (1.07 )", + "date": "11/07/2022", + "features": [ + "PCI supported", + "PnP supported", + "BIOS flashable", + "BIOS shadowing allowed", + "CD boot supported", + "Selectable boot supported", + "EDD spec supported", + "720kB Floppy supported", + "Print Screen supported", + "8042 Keyboard Services supported", + "Serial Services supported", + "Printer Services supported", + "CGA/Mono Video supported", + "ACPI supported", + "USB Legacy supported", + "BIOS Boot Spec supported" + ], + "start_address": "0xe0000", + "rom_size": 16777216 + }, + "board": { + "handle": 28, + "manufacturer": "LENOVO", + "product": "21AH00HYGE", + "version": "SDK0T76538 WIN", + "board_type": { + "name": "Motherboard", + "value": 10 + }, + "features": ["Hosting Board", "Replaceable"], + "location": "Not Available", + "chassis": 29 + }, + "cache": [ + { + "handle": 17, + "socket": "L1 Cache", + "size_max": 96, + "size_current": 96, + "speed": 0, + "mode": { + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "name": "Parity", + "value": 4 + }, + "cache_type": { + "name": "Data", + "value": 4 + }, + "associativity": { + "name": "Other", + "value": 9 + }, + "sram_type_current": ["Synchronous"], + "sram_type_supported": ["Synchronous"] + }, + { + "handle": 18, + "socket": "L1 Cache", + "size_max": 64, + "size_current": 64, + "speed": 0, + "mode": { + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "name": "Parity", + "value": 4 + }, + "cache_type": { + "name": "Instruction", + "value": 3 + }, + "associativity": { + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": ["Synchronous"], + "sram_type_supported": ["Synchronous"] + }, + { + "handle": 19, + "socket": "L2 Cache", + "size_max": 2560, + "size_current": 2560, + "speed": 0, + "mode": { + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 1, + "ecc": { + "name": "Single-bit", + "value": 5 + }, + "cache_type": { + "name": "Unified", + "value": 5 + }, + "associativity": { + "name": "Other", + "value": 1 + }, + "sram_type_current": ["Synchronous"], + "sram_type_supported": ["Synchronous"] + }, + { + "handle": 20, + "socket": "L3 Cache", + "size_max": 12288, + "size_current": 12288, + "speed": 0, + "mode": { + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 2, + "ecc": { + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "name": "Unified", + "value": 5 + }, + "associativity": { + "name": "Other", + "value": 9 + }, + "sram_type_current": ["Synchronous"], + "sram_type_supported": ["Synchronous"] + }, + { + "handle": 21, + "socket": "L1 Cache", + "size_max": 256, + "size_current": 256, + "speed": 0, + "mode": { + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "name": "Parity", + "value": 4 + }, + "cache_type": { + "name": "Data", + "value": 4 + }, + "associativity": { + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": ["Synchronous"], + "sram_type_supported": ["Synchronous"] + }, + { + "handle": 22, + "socket": "L1 Cache", + "size_max": 512, + "size_current": 512, + "speed": 0, + "mode": { + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 0, + "ecc": { + "name": "Parity", + "value": 4 + }, + "cache_type": { + "name": "Instruction", + "value": 3 + }, + "associativity": { + "name": "8-way Set-Associative", + "value": 7 + }, + "sram_type_current": ["Synchronous"], + "sram_type_supported": ["Synchronous"] + }, + { + "handle": 23, + "socket": "L2 Cache", + "size_max": 4096, + "size_current": 4096, + "speed": 0, + "mode": { + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 1, + "ecc": { + "name": "Single-bit", + "value": 5 + }, + "cache_type": { + "name": "Unified", + "value": 5 + }, + "associativity": { + "name": "16-way Set-Associative", + "value": 8 + }, + "sram_type_current": ["Synchronous"], + "sram_type_supported": ["Synchronous"] + }, + { + "handle": 24, + "socket": "L3 Cache", + "size_max": 12288, + "size_current": 12288, + "speed": 0, + "mode": { + "name": "Write Back", + "value": 1 + }, + "enabled": true, + "location": { + "name": "Internal", + "value": 0 + }, + "socketed": false, + "level": 2, + "ecc": { + "name": "Multi-bit", + "value": 6 + }, + "cache_type": { + "name": "Unified", + "value": 5 + }, + "associativity": { + "name": "Other", + "value": 9 + }, + "sram_type_current": ["Synchronous"], + "sram_type_supported": ["Synchronous"] + } + ], + "chassis": { + "handle": 29, + "manufacturer": "LENOVO", + "version": "None", + "chassis_type": { + "name": "Notebook", + "value": 10 + }, + "lock_present": false, + "bootup_state": { + "name": "Unknown", + "value": 2 + }, + "power_state": { + "name": "Unknown", + "value": 2 + }, + "thermal_state": { + "name": "Unknown", + "value": 2 + }, + "security_state": { + "name": "Unknown", + "value": 2 + }, + "oem": "0x0" + }, + "config": { + "handle": 47 + }, + "group_associations": [ + { + "handle": 57, + "name": "$MEI", + "handles": [0] + }, + { + "handle": 59, + "power": { + "name": "Disabled", + "value": 0 + }, + "keyboard": { + "name": "Not Implemented", + "value": 2 + }, + "admin": { + "name": "Disabled", + "value": 0 + }, + "reset": { + "name": "Not Implemented", + "value": 2 + } + } + ], + "language": { + "handle": 48, + "languages": ["en-US"] + }, + "memory_array": [ + { + "handle": 1, + "location": { + "name": "Motherboard", + "value": 3 + }, + "usage": { + "name": "System memory", + "value": 3 + }, + "ecc": { + "name": "None", + "value": 3 + }, + "max_size": 268435456, + "error_handle": 65534, + "slots": 8 + } + ], + "memory_array_mapped_address": [ + { + "handle": 10, + "array_handle": 1, + "start_address": 0, + "end_address": 17179869184, + "part_width": 1 + } + ], + "memory_device": [ + { + "handle": 2, + "location": "Controller0-ChannelA", + "bank_location": "BANK 0", + "manufacturer": "SK Hynix", + "part_number": "HMAB2GS6CMR6N-XN", + "array_handle": 1, + "error_handle": 65534, + "width": 64, + "ecc_bits": 0, + "size": 16777216, + "form_factor": { + "name": "SODIMM", + "value": 13 + }, + "set": 0, + "memory_type": { + "name": "Other", + "value": 26 + }, + "memory_type_details": ["Synchronous"], + "speed": 3200 + }, + { + "handle": 3, + "location": "Controller0-ChannelB-DIMM0", + "bank_location": "BANK 1", + "manufacturer": "", + "part_number": "", + "array_handle": 1, + "error_handle": 65534, + "width": 0, + "ecc_bits": 0, + "size": 0, + "form_factor": { + "name": "Unknown", + "value": 2 + }, + "set": 0, + "memory_type": { + "name": "Unknown", + "value": 2 + }, + "memory_type_details": null, + "speed": 0 + }, + { + "handle": 4, + "location": "Controller0-ChannelC-DIMM0", + "bank_location": "BANK 2", + "manufacturer": "", + "part_number": "", + "array_handle": 1, + "error_handle": 65534, + "width": 0, + "ecc_bits": 0, + "size": 0, + "form_factor": { + "name": "Unknown", + "value": 2 + }, + "set": 0, + "memory_type": { + "name": "Unknown", + "value": 2 + }, + "memory_type_details": null, + "speed": 0 + }, + { + "handle": 5, + "location": "Controller0-ChannelD-DIMM0", + "bank_location": "BANK 3", + "manufacturer": "", + "part_number": "", + "array_handle": 1, + "error_handle": 65534, + "width": 0, + "ecc_bits": 0, + "size": 0, + "form_factor": { + "name": "Unknown", + "value": 2 + }, + "set": 0, + "memory_type": { + "name": "Unknown", + "value": 2 + }, + "memory_type_details": null, + "speed": 0 + }, + { + "handle": 6, + "location": "Controller1-ChannelA-DIMM0", + "bank_location": "BANK 0", + "manufacturer": "", + "part_number": "", + "array_handle": 1, + "error_handle": 65534, + "width": 0, + "ecc_bits": 0, + "size": 0, + "form_factor": { + "name": "Unknown", + "value": 2 + }, + "set": 0, + "memory_type": { + "name": "Unknown", + "value": 2 + }, + "memory_type_details": null, + "speed": 0 + }, + { + "handle": 7, + "location": "Controller1-ChannelB-DIMM0", + "bank_location": "BANK 1", + "manufacturer": "", + "part_number": "", + "array_handle": 1, + "error_handle": 65534, + "width": 0, + "ecc_bits": 0, + "size": 0, + "form_factor": { + "name": "Unknown", + "value": 2 + }, + "set": 0, + "memory_type": { + "name": "Unknown", + "value": 2 + }, + "memory_type_details": null, + "speed": 0 + }, + { + "handle": 8, + "location": "Controller1-ChannelC-DIMM0", + "bank_location": "BANK 2", + "manufacturer": "", + "part_number": "", + "array_handle": 1, + "error_handle": 65534, + "width": 0, + "ecc_bits": 0, + "size": 0, + "form_factor": { + "name": "Unknown", + "value": 2 + }, + "set": 0, + "memory_type": { + "name": "Unknown", + "value": 2 + }, + "memory_type_details": null, + "speed": 0 + }, + { + "handle": 9, + "location": "Controller1-ChannelD-DIMM0", + "bank_location": "BANK 3", + "manufacturer": "", + "part_number": "", + "array_handle": 1, + "error_handle": 65534, + "width": 0, + "ecc_bits": 0, + "size": 0, + "form_factor": { + "name": "Unknown", + "value": 2 + }, + "set": 0, + "memory_type": { + "name": "Unknown", + "value": 2 + }, + "memory_type_details": null, + "speed": 0 + } + ], + "memory_error": [ + { + "handle": 61, + "error_type": { + "name": "OK", + "value": 3 + }, + "granularity": { + "name": "Unknown", + "value": 2 + }, + "operation": { + "name": "Unknown", + "value": 2 + }, + "syndrome": 0, + "array_address": 2147483648, + "device_address": 2147483648, + "range": 2147483648 + } + ], + "pointing_device": [ + { + "handle": 62, + "mouse_type": { + "name": "Track Point", + "value": 5 + }, + "interface": { + "name": "PS/2", + "value": 4 + }, + "buttons": 3 + }, + { + "handle": 63, + "mouse_type": { + "name": "Touch Pad", + "value": 7 + }, + "interface": { + "name": "Other", + "value": 1 + }, + "buttons": 2 + } + ], + "port_connector": [ + { + "handle": 30, + "port_type": { + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "Not Available", + "external_connector_type": { + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 1" + }, + { + "handle": 31, + "port_type": { + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "Not Available", + "external_connector_type": { + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 2" + }, + { + "handle": 32, + "port_type": { + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "Not Available", + "external_connector_type": { + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 3" + }, + { + "handle": 33, + "port_type": { + "name": "USB", + "value": 16 + }, + "internal_reference_designator": "Not Available", + "external_connector_type": { + "name": "Access Bus [USB]", + "value": 18 + }, + "external_reference_designator": "USB 4" + }, + { + "handle": 40, + "port_type": { + "name": "Video Port", + "value": 28 + }, + "internal_reference_designator": "Not Available", + "external_connector_type": { + "name": "Other", + "value": 255 + }, + "external_reference_designator": "Hdmi1" + }, + { + "handle": 44, + "port_type": { + "name": "Audio Port", + "value": 29 + }, + "internal_reference_designator": "Not Available", + "external_connector_type": { + "name": "Mini-jack [headphones]", + "value": 31 + }, + "external_reference_designator": "Headphone/Microphone Combo Jack1" + } + ], + "processor": [ + { + "handle": 25, + "socket": "U3E1", + "socket_type": { + "name": "Other", + "value": 1 + }, + "socket_populated": true, + "manufacturer": "Intel(R) Corporation", + "version": "12th Gen Intel(R) Core(TM) i7-1255U", + "part": "None", + "processor_type": { + "name": "CPU", + "value": 3 + }, + "processor_family": { + "name": "Other", + "value": 198 + }, + "processor_status": { + "name": "Enabled", + "value": 1 + }, + "clock_ext": 100, + "clock_max": 4700, + "cache_handle_l1": 22, + "cache_handle_l2": 23, + "cache_handle_l3": 24 + } + ], + "slot": [ + { + "handle": 46, + "designation": "SimCard Slot", + "slot_type": { + "name": "Other", + "value": 1 + }, + "bus_width": { + "name": "Other", + "value": 1 + }, + "usage": { + "name": "Available", + "value": 3 + }, + "length": { + "name": "Other", + "value": 1 + }, + "id": 0 + } + ], + "system": { + "handle": 27, + "manufacturer": "LENOVO", + "product": "21AH00HYGE", + "version": "ThinkPad T14 Gen 3", + "wake_up": { + "name": "Power Switch", + "value": 6 + } + } + } } diff --git a/pkgs/clan-cli/clan_cli/api/disk.py b/pkgs/clan-cli/clan_cli/api/disk.py index a71a96f01..ff4b9b55d 100644 --- a/pkgs/clan-cli/clan_cli/api/disk.py +++ b/pkgs/clan-cli/clan_cli/api/disk.py @@ -1,34 +1,142 @@ -def get_instance_name(machine_name: str) -> str: - return f"{machine_name}-single-disk" +import json +import logging +from collections.abc import Callable +from dataclasses import dataclass +from pathlib import Path +from typing import Any + +from clan_cli.api import API +from clan_cli.dirs import TemplateType, clan_templates +from clan_cli.errors import ClanError +from clan_cli.machines.hardware import HardwareConfig, show_machine_hardware_config -# @API.register -# def set_single_disk_uuid( -# base_path: str, -# machine_name: str, -# disk_uuid: str, -# ) -> None: -# """ -# Set the disk UUID of single disk machine -# """ -# inventory = load_inventory_json(base_path) +@dataclass +class Placeholder: + # Input name for the user + label: str + options: list[str] | None + required: bool -# instance_name = get_instance_name(machine_name) -# single_disk_config: ServiceSingleDisk = ServiceSingleDisk( -# meta=ServiceMeta(name=instance_name), -# roles=ServiceSingleDiskRole( -# default=ServiceSingleDiskRoleDefault( -# config=SingleDiskConfig(device=f"/dev/disk/by-id/{disk_uuid}"), -# machines=[machine_name], -# ) -# ), -# ) +@dataclass +class DiskSchema: + name: str + placeholders: dict[str, Placeholder] -# inventory.services.single_disk[instance_name] = single_disk_config -# save_inventory( -# inventory, -# base_path, -# f"Set disk UUID: '{disk_uuid}' on machine: '{machine_name}'", -# ) +log = logging.getLogger(__name__) + + +def disk_in_facter_report(hw_report: dict) -> bool: + return "hardware" in hw_report and "disk" in hw_report["hardware"] + + +def get_best_unix_device_name(unix_device_names: list[str]) -> str: + # find the first device name that is disk/by-id + for device_name in unix_device_names: + if "disk/by-id" in device_name: + return device_name + else: + # if no by-id found, use the first device name + return unix_device_names[0] + + +def hw_main_disk_options(hw_report: dict) -> list[str]: + if not disk_in_facter_report(hw_report): + msg = "hw_report doesnt include 'disk' information" + raise ClanError(msg, description=f"{hw_report.keys()}") + + disks = hw_report["hardware"]["disk"] + + options: list[str] = [] + for disk in disks: + unix_device_names = disk["unix_device_names"] + device_name = get_best_unix_device_name(unix_device_names) + options += [device_name] + + return options + + +# must be manually kept in sync with the ${clancore}/templates/disks directory +templates: dict[str, dict[str, Callable[[dict[str, Any]], Placeholder]]] = { + "single-disk": { + # Placeholders + "mainDisk": lambda hw_report: Placeholder( + label="Main disk", options=hw_main_disk_options(hw_report), required=True + ), + } +} + + +@API.register +def get_disk_schemas(base_path: Path, machine_name: str) -> dict[str, DiskSchema]: + """ + Get the available disk schemas + """ + disk_templates = clan_templates(TemplateType.DISK) + disk_schemas = {} + + hw_report_path = HardwareConfig.NIXOS_FACTER.config_path(base_path, machine_name) + if not hw_report_path.exists(): + msg = "Hardware configuration missing" + raise ClanError(msg) + + hw_report = {} + with hw_report_path.open("r") as hw_report_file: + hw_report = json.load(hw_report_file) + + for disk_template in disk_templates.iterdir(): + if disk_template.is_file(): + schema_name = disk_template.stem + if schema_name not in templates: + msg = f"Disk schema {schema_name} not found in templates" + raise ClanError( + msg, + description="This is an internal architecture problem. Because disk schemas dont define their own interface", + ) + + placeholder_getters = templates.get(schema_name) + placeholders = {} + + if placeholder_getters: + placeholders = {k: v(hw_report) for k, v in placeholder_getters.items()} + + disk_schemas[schema_name] = DiskSchema( + name=schema_name, placeholders=placeholders + ) + + return disk_schemas + + +@API.register +def set_machine_disk_schema( + base_path: Path, + machine_name: str, + schema_name: str, + # Placeholders are used to fill in the disk schema + placeholders: dict[str, str], +) -> None: + """ + Set the disk placeholders of the template + """ + # Assert the hw-config must exist before setting the disk + hw_config = show_machine_hardware_config(base_path, machine_name) + hw_config_path = hw_config.config_path(base_path, machine_name) + + if not hw_config_path.exists(): + msg = "Hardware configuration must exist before applying disk schema" + raise ClanError(msg) + + if hw_config != HardwareConfig.NIXOS_FACTER: + msg = "Hardware configuration must use type FACTER for applying disk schema automatically" + raise ClanError(msg) + + disk_schema_path = clan_templates(TemplateType.DISK) / f"{schema_name}.nix" + + if not disk_schema_path.exists(): + msg = f"Disk schema not found at {disk_schema_path}" + raise ClanError(msg) + + with disk_schema_path.open("r") as disk_template: + print(disk_template.read()) diff --git a/pkgs/clan-cli/clan_cli/dirs.py b/pkgs/clan-cli/clan_cli/dirs.py index 09b777727..6f3c6f137 100644 --- a/pkgs/clan-cli/clan_cli/dirs.py +++ b/pkgs/clan-cli/clan_cli/dirs.py @@ -48,6 +48,7 @@ def find_toplevel(top_level_files: list[str]) -> Path | None: class TemplateType(Enum): CLAN = "clan" + DISK = "disk" def clan_templates(template_type: TemplateType) -> Path: diff --git a/templates/disk/single-disk.nix b/templates/disk/single-disk.nix index bb3a11aa9..42eb53277 100644 --- a/templates/disk/single-disk.nix +++ b/templates/disk/single-disk.nix @@ -25,12 +25,6 @@ mountpoint = "/"; }; }; - swap = { - size = "{{swapSize}}"; - content = { - type = "swap"; - }; - }; }; }; };