How to redact information from posts, but still get the technical support you seek

Foreword

We acknowledge that many of you might feel uncomfortable copying and pasting blocks of text from your terminals, especially if you do not fully understand what that block of text means. And let’s not even get started on screenshots…

We all know what it’s like when someone asks for some information that you believe they shouldn’t be asking for.

However, it is possible that some people might either divulge too much information, or refuse to divulge completely innocent information altogether. Both of these circumstances aren’t exactly ideal.

This guide is intended to address how to respond when someone asks you for information about your circumstances.

This guide will go through some of the most common things that will be asked of you if you are encountering technical difficulties, and need assistance.

It will explain:

  • What each of those things are
  • What they look like
  • What bits of information are needed in order to successfully answer your question
  • What bits of information could potentially leak information about you
  • What bits are not going to leak information about you
  • How to redact information successfully, while still being able to get a satisfactory answer to your questions

If anyone else has examples they have encountered, please add them to the list, so that we can better help those that need help.

What is this guide NOT about?

This is about helping users, particularly non-technical users, understand what it means when people ask them to provide information about their machine for diagnosis, and how to make a conscious decision to share, or not to share.

This guide is NOT about:

  • How to be Hackerman or Mr. Robot
  • How to hide from the government
  • How to use a VPN/Tor/I2P
  • How to hide illegal activities from law enforcement
  • Anything related to the GDPR or similar data protection legislation
  • Conspiracy theories
  • Fear-mongering
  • “Tinfoil hat” topics
  • OpSec
    • (i.e. adjusting your personal behaviour based to avoid divulging of secret information)
  • Anything else of a similar nature.

Please DO NOT post anything about these topics here.

They are NOT relevant, they have NO place here, and they belong in a separate guide.


The output of lspci

What is this?

This is a command that can be run in a terminal that will list all PCI devices attached to your computer.

What does the output look like?

lspci

Output of Command
00:00.0 Host bridge: Intel Corporation 12th Gen Core Processor Host Bridge/DRAM Registers (rev 02)
00:01.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x16 Controller #1 (rev 02)
00:02.0 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
00:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02)
00:14.0 USB controller: Intel Corporation Raptor Lake USB 3.2 Gen 2x2 (20 Gb/s) XHCI Host Controller (rev 11)
00:14.2 RAM memory: Intel Corporation Raptor Lake-S PCH Shared SRAM (rev 11)
00:14.3 Network controller: Intel Corporation Raptor Lake-S PCH CNVi WiFi (rev 11)
00:15.0 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #0 (rev 11)
00:15.1 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #1 (rev 11)
00:15.2 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #2 (rev 11)
00:15.3 Serial bus controller: Intel Corporation Device 7a4f (rev 11)
00:16.0 Communication controller: Intel Corporation Raptor Lake CSME HECI #1 (rev 11)
00:17.0 SATA controller: Intel Corporation Raptor Lake SATA AHCI Controller (rev 11)
00:19.0 Serial bus controller: Intel Corporation Device 7a7c (rev 11)
00:19.1 Serial bus controller: Intel Corporation Device 7a7d (rev 11)
00:1a.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #25 (rev 11)
00:1b.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #17 (rev 11)
00:1b.4 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #21 (rev 11)
00:1c.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #1 (rev 11)
00:1c.2 PCI bridge: Intel Corporation Raptor Point-S PCH - PCI Express Root Port 3 (rev 11)
00:1d.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #9 (rev 11)
00:1d.4 PCI bridge: Intel Corporation Device 7a34 (rev 11)
00:1f.0 ISA bridge: Intel Corporation Raptor Lake LPC/eSPI Controller (rev 11)
00:1f.3 Audio device: Intel Corporation Raptor Lake High Definition Audio Controller (rev 11)
00:1f.4 SMBus: Intel Corporation Raptor Lake-S PCH SMBus Controller (rev 11)
00:1f.5 Serial bus controller: Intel Corporation Raptor Lake SPI (flash) Controller (rev 11)
01:00.0 VGA compatible controller: NVIDIA Corporation GF114 [GeForce GTX 560] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GF114 HDMI Audio Controller (rev a1)
02:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
03:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
05:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
09:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)

lspci -k

Output of Command
00:00.0 Host bridge: Intel Corporation 12th Gen Core Processor Host Bridge/DRAM Registers (rev 02)
	DeviceName: Onboard - Other
	Subsystem: Gigabyte Technology Co., Ltd Device 5000
00:01.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x16 Controller #1 (rev 02)
	Subsystem: Gigabyte Technology Co., Ltd Device 5000
	Kernel driver in use: pcieport
00:02.0 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
	DeviceName: Onboard - Video
	Subsystem: Gigabyte Technology Co., Ltd Device d000
	Kernel driver in use: i915
	Kernel modules: i915
00:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02)
	Kernel driver in use: pcieport
00:14.0 USB controller: Intel Corporation Raptor Lake USB 3.2 Gen 2x2 (20 Gb/s) XHCI Host Controller (rev 11)
	DeviceName: Onboard - Other
	Subsystem: Gigabyte Technology Co., Ltd Device 5007
	Kernel driver in use: xhci_hcd
	Kernel modules: mei_me, xhci_pci
00:14.2 RAM memory: Intel Corporation Raptor Lake-S PCH Shared SRAM (rev 11)
	DeviceName: Onboard - Other
00:14.3 Network controller: Intel Corporation Raptor Lake-S PCH CNVi WiFi (rev 11)
	DeviceName: Onboard - Ethernet
	Subsystem: Intel Corporation Device 0094
	Kernel driver in use: iwlwifi
	Kernel modules: iwlwifi
00:15.0 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #0 (rev 11)
	DeviceName: Onboard - Other
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
00:15.1 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #1 (rev 11)
	DeviceName: Onboard - Other
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
00:15.2 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #2 (rev 11)
	DeviceName: Onboard - Other
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
00:15.3 Serial bus controller: Intel Corporation Device 7a4f (rev 11)
	DeviceName: Onboard - Other
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
00:16.0 Communication controller: Intel Corporation Raptor Lake CSME HECI #1 (rev 11)
	DeviceName: Onboard - Other
	Subsystem: Gigabyte Technology Co., Ltd Device 1c3a
	Kernel driver in use: mei_me
	Kernel modules: mei_me
00:17.0 SATA controller: Intel Corporation Raptor Lake SATA AHCI Controller (rev 11)
	DeviceName: Onboard - SATA
	Subsystem: Gigabyte Technology Co., Ltd Device b005
	Kernel driver in use: ahci
	Kernel modules: ahci
00:19.0 Serial bus controller: Intel Corporation Device 7a7c (rev 11)
	DeviceName: Onboard - Other
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
00:19.1 Serial bus controller: Intel Corporation Device 7a7d (rev 11)
	DeviceName: Onboard - Other
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
00:1a.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #25 (rev 11)
	Kernel driver in use: pcieport
00:1b.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #17 (rev 11)
	Kernel driver in use: pcieport
00:1b.4 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #21 (rev 11)
	Kernel driver in use: pcieport
00:1c.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #1 (rev 11)
	Kernel driver in use: pcieport
00:1c.2 PCI bridge: Intel Corporation Raptor Point-S PCH - PCI Express Root Port 3 (rev 11)
	Subsystem: Gigabyte Technology Co., Ltd Device 5001
	Kernel driver in use: pcieport
00:1d.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #9 (rev 11)
	Kernel driver in use: pcieport
00:1d.4 PCI bridge: Intel Corporation Device 7a34 (rev 11)
	Subsystem: Gigabyte Technology Co., Ltd Device 5001
	Kernel driver in use: pcieport
00:1f.0 ISA bridge: Intel Corporation Raptor Lake LPC/eSPI Controller (rev 11)
	DeviceName: Onboard - Other
	Subsystem: Gigabyte Technology Co., Ltd Device 5001
00:1f.3 Audio device: Intel Corporation Raptor Lake High Definition Audio Controller (rev 11)
	DeviceName: Onboard - Sound
	Subsystem: Gigabyte Technology Co., Ltd Device a194
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel, snd_sof_pci_intel_tgl
00:1f.4 SMBus: Intel Corporation Raptor Lake-S PCH SMBus Controller (rev 11)
	DeviceName: Onboard - Other
	Subsystem: Gigabyte Technology Co., Ltd Device 5001
	Kernel driver in use: i801_smbus
	Kernel modules: i2c_i801
00:1f.5 Serial bus controller: Intel Corporation Raptor Lake SPI (flash) Controller (rev 11)
	DeviceName: Onboard - Other
01:00.0 VGA compatible controller: NVIDIA Corporation GF114 [GeForce GTX 560] (rev a1)
	Subsystem: Gigabyte Technology Co., Ltd Device 3527
	Kernel driver in use: nouveau
	Kernel modules: nouveau
01:00.1 Audio device: NVIDIA Corporation GF114 HDMI Audio Controller (rev a1)
	Subsystem: Gigabyte Technology Co., Ltd Device 3527
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel
02:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
	Subsystem: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less)
	Kernel driver in use: nvme
	Kernel modules: nvme
03:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
	Subsystem: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less)
	Kernel driver in use: nvme
	Kernel modules: nvme
05:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
	Subsystem: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less)
	Kernel driver in use: nvme
	Kernel modules: nvme
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
	Subsystem: Gigabyte Technology Co., Ltd Device e000
	Kernel driver in use: r8169
	Kernel modules: r8169
09:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
	Subsystem: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less)
	Kernel driver in use: nvme
	Kernel modules: nvme

Why would someone ask for this?

This information shows how your machine is hooked up, what devices you have inside performing what functions, and where each device is in the internal hierarchy of your machine.

What can I redact?

If your question is about a specific PCI device misbehaving, then in most cases, you should be able to redact all lines that are not about the PCI device in question.

What do I need to leave in the post?

In almost all cases someone asks for this, you will likely need to leave the lines pertaining to the PCI device in question untouched in order to get an answer to your question. If you redact any of this, you will likely be met with a request to see that information.

Anything else I should know?

This command will not show any usernames, passwords, IP addresses, file names, or anything else other than what hardware you have connected to your PCI interfaces, and sometimes what drivers/firmware they are using.


The output of lsusb

What is this?

This command lists all USB devices that the machine can detect.

What does the output look like?

lsusb

Output of Command
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 005: ID 048d:5702 Integrated Technology Express, Inc. RGB LED Controller
Bus 001 Device 007: ID 8087:0033 Intel Corp. AX211 Bluetooth
Bus 001 Device 060: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 0781:5581 SanDisk Corp. Ultra

lsusb -t

Output of Command
/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/16p, 480M
    |__ Port 011: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 002: Dev 060, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 012: Dev 003, If 0, Class=Hub, Driver=hub/4p, 480M
    |__ Port 013: Dev 005, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 014: Dev 007, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 014: Dev 007, If 1, Class=Wireless, Driver=btusb, 12M
/:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/9p, 20000M/x2
    |__ Port 007: Dev 002, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

Why would someone ask for this?

This is useful when trying to determine which USB controller a USB port belongs to. It is also helpful when trying to figure out why a USB device is not “playing nice” with sys-usb.

What can I redact?

Generally, when the question is about a particular USB device, it should be ok to redact anything that isn’t specifically about the USB device in question, or isn’t about the USB controller/port that it is connected to.

What do I need to leave in the post?

In most cases, it would be necessary to leave any lines about the USB device in question untouched. If you redact any information on these lines, you will likely have redacted key information needed to solve your issue.

Anything else I should know?

This command will not show any usernames, passwords, IP addresses, file names, or anything else other than what USB devices are plugged in, and what USB controller they are plugged into.


The output of lsscsi

What is this?

This command will list information about all SCSI devices attached to your machine. This command was generally useful before the days of PCIe and USB, but it is less useful now. However, on some legacy machines, it can provide useful information, when, for example, RAID hard drives are misbehaving.

What does the output look like?

lsscsi

Output of Command
[0:0:0:0]    disk    ATA      CT1000MX500SSD1  033   /dev/sda 

lsscsi -l / lsscsi --long

Output of Command
[0:0:0:0]    disk    ATA      CT1000MX500SSD1  033   /dev/sda 
  state=running queue_depth=32 scsi_level=6 type=0 device_blocked=0 timeout=30

Why would someone ask for this?

It is useful when you are encountering red/write errors in hard drives connected via SATA and SAS, particularly if they are set up in a RAID array.

For a Qubes OS-specific example, it could provide useful information if, for example, you had multiple vm-pools on separate drives, and you were encountering errors when reading or writing to files in certain qubes, but no issues in other qubes.

What can I redact?

If your question/issue is about a particular drive or RAID array, then it is usually ok to omit/redact any lines that aren’t directly related to that drive or RAID array.

What do I need to leave in the post?

If your drive is part of a RAID array, it will generally be helpful for diagnosis if the lines pertaining to all drives in that RAID array are left untouched.

Anything else I should know?

This command will not show any usernames, passwords, IP addresses, file names, or anything else other than what hardware you have connected to your SCSI interfaces (SATA, SAS, etc.), and sometimes what drivers/firmware they are using.

This command will, however, show the names of the devices in the /dev directory (i.e. how the Linux kernel has decided to enumerate those devices).

As can be seen from the example output above, if the drive was enumerated as /dev/sde, that would imply that the Linux kernel has detected and enumerated 4 other block devices before this one (i.e. /dev/sda, /dev/sdb, /dev/sdc, and /dev/sdd).

Whilst this information reveals nothing more about your machine than the fact that you likely have multiple hard drives connected to it, it won’t go into any further detail than that.

If you believe that is not something you wish to divulge, that’s entirely your choice, but remember that it may severely hinder everyone’s ability to assist you with your issue.


The output of dmidecode

What is this?

dmidecode is a tool for dumping a computer’s DMI (some say SMBIOS ) table contents in a human-readable format. This table contains a description of the system’s hardware components, as well as other useful pieces of information such as serial numbers and BIOS revision. Thanks to this table, you can retrieve this information without having to probe for the actual hardware. While this is a good point in terms of report speed and safeness, this also makes the presented information possibly unreliable.

The DMI table doesn’t only describe what the system is currently made of, it also can report the possible evolutions (such as the fastest supported CPU or the maximal amount of memory supported).

SMBIOS stands for System Management BIOS , while DMI stands for Desktop Management Interface. Both standards are tightly related and developed by the DMTF (Desktop Management Task Force).

As you run it, dmidecode will try to locate the DMI table. If it succeeds, it will then parse this table and display a list of records like this one:

Handle 0x0002, DMI type 2, 8 bytes. Base Board Information Manufacturer: Intel
Product Name: C440GX+
Version: 727281-001
Serial Number: INCY92700942

Each record has:

  • A handle. This is a unique identifier, which allows records to reference each other. For example, processor records usually reference cache memory records using their handles.
  • A type. The SMBIOS specification defines different types of elements a computer can be made of. In this example, the type is 2, which means that the record contains “Base Board Information”.
  • A size. Each record has a 4-byte header (2 for the handle, 1 for the type, 1 for the size), the rest is used by the record data. This value doesn’t take text strings into account (these are placed at the end of the record), so the actual length of the record may be (and is often) greater than the displayed value.
  • Decoded values. The information presented of course depends on the type of record. Here, we learn about the board’s manufacturer, model, version and serial number.

What does the output look like?

dmidecode

Output of Command
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
66 structures occupying 3198 bytes.
Table at 0x9CBFD000.

Handle 0x0000, DMI type 222, 14 bytes
OEM-specific Type
	Header and Data:
		DE 0E 00 00 01 99 00 03 10 01 20 02 30 03
	Strings:
		Memory Init Complete
		End of DXE Phase
		BIOS Boot Complete

Handle 0x0001, DMI type 14, 8 bytes
Group Associations
	Name: Intel(R) Silicon View Technology
	Items: 1
		0x0000 (OEM-specific)

Handle 0x0002, DMI type 134, 13 bytes
OEM-specific Type
	Header and Data:
		86 0D 02 00 03 09 15 20 00 00 00 00 00

Handle 0x0003, DMI type 7, 19 bytes
Cache Information
	Socket Designation: L1 Cache
	Configuration: Enabled, Not Socketed, Level 1
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 32 kB
	Maximum Size: 32 kB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Parity
	System Type: Data
	Associativity: 8-way Set-associative

Handle 0x0004, DMI type 4, 42 bytes
Processor Information
	Socket Designation: U3E1
	Type: Central Processor
	Family: Core i5
	Manufacturer: Intel(R) Corporation
	ID: D4 06 03 00 FF FB EB BF
	Signature: Type 0, Family 6, Model 61, Stepping 4
	Flags:
		FPU (Floating-point unit on-chip)
		VME (Virtual mode extension)
		DE (Debugging extension)
		PSE (Page size extension)
		TSC (Time stamp counter)
		MSR (Model specific registers)
		PAE (Physical address extension)
		MCE (Machine check exception)
		CX8 (CMPXCHG8 instruction supported)
		APIC (On-chip APIC hardware supported)
		SEP (Fast system call)
		MTRR (Memory type range registers)
		PGE (Page global enable)
		MCA (Machine check architecture)
		CMOV (Conditional move instruction supported)
		PAT (Page attribute table)
		PSE-36 (36-bit page size extension)
		CLFSH (CLFLUSH instruction supported)
		DS (Debug store)
		ACPI (ACPI supported)
		MMX (MMX technology supported)
		FXSR (FXSAVE and FXSTOR instructions supported)
		SSE (Streaming SIMD extensions)
		SSE2 (Streaming SIMD extensions 2)
		SS (Self-snoop)
		HTT (Multi-threading)
		TM (Thermal monitor supported)
		PBE (Pending break enabled)
	Version: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
	Voltage: 1.0 V
	External Clock: 100 MHz
	Max Speed: 2700 MHz
	Current Speed: 2200 MHz
	Status: Populated, Enabled
	Upgrade: Socket BGA1168
	L1 Cache Handle: 0x0005
	L2 Cache Handle: 0x0006
	L3 Cache Handle: 0x0007
	Serial Number: None
	Asset Tag: None
	Part Number: None
	Core Count: 2
	Core Enabled: 2
	Thread Count: 4
	Characteristics:
		64-bit capable
		Multi-Core
		Hardware Thread
		Execute Protection
		Enhanced Virtualization
		Power/Performance Control

Handle 0x0005, DMI type 7, 19 bytes
Cache Information
	Socket Designation: L1 Cache
	Configuration: Enabled, Not Socketed, Level 1
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 32 kB
	Maximum Size: 32 kB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Parity
	System Type: Instruction
	Associativity: 8-way Set-associative

Handle 0x0006, DMI type 7, 19 bytes
Cache Information
	Socket Designation: L2 Cache
	Configuration: Enabled, Not Socketed, Level 2
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 256 kB
	Maximum Size: 256 kB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Single-bit ECC
	System Type: Unified
	Associativity: 8-way Set-associative

Handle 0x0007, DMI type 7, 19 bytes
Cache Information
	Socket Designation: L3 Cache
	Configuration: Enabled, Not Socketed, Level 3
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 3 MB
	Maximum Size: 3 MB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Multi-bit ECC
	System Type: Unified
	Associativity: 12-way Set-associative

Handle 0x0008, DMI type 16, 23 bytes
Physical Memory Array
	Location: System Board Or Motherboard
	Use: System Memory
	Error Correction Type: None
	Maximum Capacity: 16 GB
	Error Information Handle: Not Provided
	Number Of Devices: 2

Handle 0x0009, DMI type 17, 34 bytes
Memory Device
	Array Handle: 0x0008
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 8 GB
	Form Factor: SODIMM
	Set: None
	Locator: ChannelA-DIMM0
	Bank Locator: BANK 0
	Type: DDR3
	Type Detail: Synchronous
	Speed: 1600 MT/s
	Manufacturer: Micron
	Serial Number: 65002216
	Asset Tag: None
	Part Number: 16KTF1G64HZ-1G6E2 
	Rank: Unknown
	Configured Memory Speed: 1600 MT/s

Handle 0x000A, DMI type 17, 34 bytes
Memory Device
	Array Handle: 0x0008
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 8 GB
	Form Factor: SODIMM
	Set: None
	Locator: ChannelB-DIMM0
	Bank Locator: BANK 2
	Type: DDR3
	Type Detail: Synchronous
	Speed: 1600 MT/s
	Manufacturer: Micron
	Serial Number: 65002216
	Asset Tag: None
	Part Number: 16KTF1G64HZ-1G6E2 
	Rank: Unknown
	Configured Memory Speed: 1600 MT/s

Handle 0x000B, DMI type 19, 31 bytes
Memory Array Mapped Address
	Starting Address: 0x00000000000
	Ending Address: 0x003FFFFFFFF
	Range Size: 16 GB
	Physical Array Handle: 0x0008
	Partition Width: 2

Handle 0x000C, DMI type 129, 8 bytes
OEM-specific Type
	Header and Data:
		81 08 0C 00 01 01 02 01
	Strings:
		Intel_ASF
		Intel_ASF_001

Handle 0x000D, DMI type 130, 20 bytes
OEM-specific Type
	Header and Data:
		82 14 0D 00 24 41 4D 54 00 00 00 00 01 A5 FF 03
		01 00 00 00

Handle 0x000E, DMI type 131, 64 bytes
OEM-specific Type
	Header and Data:
		83 40 0E 00 31 00 00 00 0A 00 00 00 00 00 07 00
		F8 00 C3 9C 00 00 00 00 21 00 00 00 00 00 0A 00
		E8 03 26 00 00 00 00 00 C8 00 A3 15 00 00 00 00
		00 00 00 00 22 00 00 00 76 50 72 6F 00 00 00 00

Handle 0x0010, DMI type 1, 27 bytes
System Information
	Manufacturer: LENOVO
	Product Name: 20BV0005US
	Version: ThinkPad T450
	Serial Number: 5ER14LNUMB3R
	UUID: deadbeef-7ac0-b0a7-f01d-c0ffeeb1ade5
	Wake-up Type: Power Switch
	SKU Number: LENOVO_MT_20BV_BU_Think_FM_ThinkPad T450
	Family: ThinkPad T450

Handle 0x0011, DMI type 2, 15 bytes
Base Board Information
	Manufacturer: LENOVO
	Product Name: 20BV0005US
	Version: SDK0E50510 WIN
	Serial Number: 5ER14LNUMB3R
	Asset Tag: Not Available
	Features:
		Board is a hosting board
		Board is replaceable
	Location In Chassis: Not Available
	Chassis Handle: 0x0000
	Type: Motherboard
	Contained Object Handles: 0

Handle 0x0012, DMI type 3, 22 bytes
Chassis Information
	Manufacturer: LENOVO
	Type: Notebook
	Lock: Not Present
	Version: None
	Serial Number: 5ER14LNUMB3R
	Asset Tag: No Asset Information
	Boot-up State: Unknown
	Power Supply State: Unknown
	Thermal State: Unknown
	Security Status: Unknown
	OEM Information: 0x00000000
	Height: Unspecified
	Number Of Power Cords: Unspecified
	Contained Elements: 0
	SKU Number: Not Specified

Handle 0x0013, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Not Available
	Internal Connector Type: None
	External Reference Designator: USB 1
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x0014, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Not Available
	Internal Connector Type: None
	External Reference Designator: USB 2
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x0015, DMI type 126, 9 bytes
Inactive

Handle 0x0016, DMI type 126, 9 bytes
Inactive

Handle 0x0017, DMI type 126, 9 bytes
Inactive

Handle 0x0018, DMI type 126, 9 bytes
Inactive

Handle 0x0019, DMI type 126, 9 bytes
Inactive

Handle 0x001A, DMI type 126, 9 bytes
Inactive

Handle 0x001B, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Not Available
	Internal Connector Type: None
	External Reference Designator: Ethernet
	External Connector Type: RJ-45
	Port Type: Network Port

Handle 0x001C, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Not Available
	Internal Connector Type: None
	External Reference Designator: External Monitor
	External Connector Type: DB-15 female
	Port Type: Video Port

Handle 0x001D, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Not Available
	Internal Connector Type: None
	External Reference Designator: Mini DisplayPort
	External Connector Type: Other
	Port Type: Video Port

Handle 0x001E, DMI type 126, 9 bytes
Inactive

Handle 0x001F, DMI type 126, 9 bytes
Inactive

Handle 0x0020, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Not Available
	Internal Connector Type: None
	External Reference Designator: Headphone/Microphone Combo Jack1
	External Connector Type: Mini Jack (headphones)
	Port Type: Audio Port

Handle 0x0021, DMI type 126, 9 bytes
Inactive

Handle 0x0022, DMI type 9, 17 bytes
System Slot Information
	Designation: Media Card Slot
	Type: Other
	Current Usage: Available
	Length: Other
	Characteristics:
		Hot-plug devices are supported
	Bus Address: 0000:00:00.0

Handle 0x0023, DMI type 126, 17 bytes
Inactive

Handle 0x0024, DMI type 9, 17 bytes
System Slot Information
	Designation: SimCard Slot
	Type: Other
	Current Usage: Available
	Length: Other
	Characteristics: None
	Bus Address: 0000:00:00.0

Handle 0x0025, DMI type 12, 5 bytes
System Configuration Options

Handle 0x0026, DMI type 13, 22 bytes
BIOS Language Information
	Language Description Format: Abbreviated
	Installable Languages: 10
		en-US
		en-IN
		en-NG
		de-AT
		ru-RU
		zh-CN
		zh-HK
		zh-TW
		es-ES
		pt-BR
	Currently Installed Language: en-US

Handle 0x0027, DMI type 22, 26 bytes
Portable Battery
	Location: Front
	Manufacturer: M4NUF4KTUR3R
	Name: N4M3
	Design Capacity: 23480 mWh
	Design Voltage: 11400 mV
	SBDS Version: 03.01
	Maximum Error: Unknown
	SBDS Serial Number: 5ER14LNUMB3R
	SBDS Manufacture Date: 1970-01-01
	SBDS Chemistry: LION
	OEM-specific Information: 0x00000000

Handle 0x0028, DMI type 22, 26 bytes
Portable Battery
	Location: Rear
	Manufacturer: M4NUF4KTUR3R
	Name: N4M3
	Design Capacity: 57720 mWh
	Design Voltage: 11100 mV
	SBDS Version: 03.01
	Maximum Error: Unknown
	SBDS Serial Number: 5ER14LNUMB3R
	SBDS Manufacture Date: 1970-01-01
	SBDS Chemistry: LION
	OEM-specific Information: 0x00000000

Handle 0x0029, DMI type 18, 23 bytes
32-bit Memory Error Information
	Type: OK
	Granularity: Unknown
	Operation: Unknown
	Vendor Syndrome: Unknown
	Memory Array Address: Unknown
	Device Address: Unknown
	Resolution: Unknown

Handle 0x002A, DMI type 21, 7 bytes
Built-in Pointing Device
	Type: Track Point
	Interface: PS/2
	Buttons: 3

Handle 0x002B, DMI type 21, 7 bytes
Built-in Pointing Device
	Type: Touch Pad
	Interface: PS/2
	Buttons: 2

Handle 0x002C, DMI type 131, 22 bytes
ThinkVantage Technologies
	Version: 1
	Diagnostics: No

Handle 0x002D, DMI type 136, 6 bytes
OEM-specific Type
	Header and Data:
		13 37 13 37 13 37

Handle 0x002E, DMI type 134, 16 bytes
OEM-specific Type
	Header and Data:
		13 37 13 37 13 37 13 37 13 37 13 37 13 37 13 37 13 37
	Strings:
		TPM INFO
		System Reserved

Handle 0x002F, DMI type 133, 5 bytes
OEM-specific Type
	Header and Data:
		13 37 13 37 00
	Strings:
		ARBITRARYSTRING

Handle 0x0030, DMI type 135, 83 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00

Handle 0x0031, DMI type 0, 24 bytes
BIOS Information
	Vendor: LENOVO
	Version: VERSION_NUMBER (<REDACTED_VERSION_NUMBER>)
	Release Date: 01/01/1970
	Address: 0xE0000
	Runtime Size: 128 kB
	ROM Size: 16 MB
	Characteristics:
		PCI is supported
		PNP is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		ACPI is supported
		USB legacy is supported
		BIOS boot specification is supported
		Targeted content distribution is supported
		UEFI is supported
	BIOS Revision: VERSION
	Firmware Revision: VERSION

Handle 0x0032, DMI type 15, 31 bytes
System Event Log
	Area Length: 66 bytes
	Header Start Offset: 0x0000
	Header Length: 16 bytes
	Data Start Offset: 0x0000
	Access Method: General-purpose non-volatile data functions
	Access Address: 0x0000
	Status: Valid, Not Full
	Change Token: 0x00000000
	Header Format: Type 1
	Supported Log Type Descriptors: 4
	Descriptor 1: POST error
	Data Format 1: POST results bitmap
	Descriptor 2: PCI system error
	Data Format 2: None
	Descriptor 3: System reconfigured
	Data Format 3: None
	Descriptor 4: Log area reset/cleared
	Data Format 4: None

Handle 0x0033, DMI type 140, 67 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00

Handle 0x0034, DMI type 140, 19 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00

Handle 0x0035, DMI type 135, 18 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00

Handle 0x0036, DMI type 140, 19 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00

Handle 0x0037, DMI type 140, 23 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00

Handle 0x0038, DMI type 24, 5 bytes
Hardware Security
	Power-On Password Status: REDACTED
	Keyboard Password Status: REDACTED
	Administrator Password Status: REDACTED
	Front Panel Reset Status: REDACTED

Handle 0x0039, DMI type 132, 7 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00

Handle 0x003A, DMI type 140, 15 bytes
ThinkPad Embedded Controller Program
	Version ID: VERSION
	Release Date: 01/01/1970

Handle 0x003B, DMI type 140, 43 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00

Handle 0x003C, DMI type 221, 68 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 0 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00
	Strings:
		Reference Code - PCH - Lynxpoint
		PCH-CRID Status
		Enabled 
		PCH-CRID Original Value
		PCH-CRID New Value
		OPROM - RST - RAID
		LPTLp Bx Hsio Version
		LPTH Cx Hsio Version
		PCH9S A0 Hsio Version
		WPTLp B0 Hsio Version

Handle 0x003D, DMI type 221, 26 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00
	Strings:
		Reference Code - ME 10.0
		MEBx version
		ME Firmware Version
		VERSION  

Handle 0x003E, DMI type 221, 26 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00
	Strings:
		Reference Code - CPU
		uCode Version
		TXT ACM version

Handle 0x003F, DMI type 221, 54 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00
	Strings:
		Reference Code - SA - System Agent
		Reference Code - MRC
		SA - PCIe Version
		SA-CRID Status
		REDACTED 
		SA-CRID Original Value
		SA-CRID New Value
		OPROM - VBIOS

Handle 0x0040, DMI type 221, 12 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00
	Strings:
		Reference Code - Intel Rapid Start

Handle 0x0041, DMI type 14, 20 bytes
Group Associations
	Name: Firmware Version Info
	Items: 5
		0x0000 (OEM-specific)
		0x0000 (OEM-specific)
		0x0000 (OEM-specific)
		0x0000 (OEM-specific)
		0x0000 (OEM-specific)

Handle 0xFEFF, DMI type 127, 4 bytes
End Of Table

Why would someone ask for this?

This information is useful when troubleshooting issues related to your BIOS, your ACPI tables, or anything requiring deeper knowledge of the circumstances of your hardware configuration, such as what system is managing what subsystem.

What can I redact?

Serial numbers are personally identifiable information, and are NEVER needed to assist in troubleshooting, so they should ALWAYS be redacted.

It is extremely rare (and almost unheard of) that anyone would ever require the full output of this command to solve your issue, so you would usually only be asked for a small subset of this output (e.g. only the sections related to the USB controllers, the CPU, the BIOS, the SATA controllers, etc.).

If your threat model deems it necessary, in some cases, it may also be acceptable to redact the hexadecimal dumps of certain sections, as this may inadvertently divulge the revision version or fingerprint of a particular system component present in your machine. Depending on which component it is, this could reveal to someone that your machine may be vulnerable to a particular type of exploit.

This may include:

  • Any section starting with Header and Data:
  • Any line starting with ID:
  • Any section starting with OEM-Specific Type
  • Any line starting with UUID:
  • Anything else that you believe may reveal an attack vector to anyone

What do I need to leave in the post?

Generally it is important to know whether certain functions are enabled or disabled.

Anything else I should know?

As you can see from the sample output, this command lists almost everything about your hardware.

If you are going to post the output of this command:

  • Make sure you proofread it VERY THOROUGHLY
  • Remove any serial numbers, and they are never helpful in troubleshooting issues.
  • Make sure you clarify if this information is absolutely necessary, because there are almost always other methods to diagnose your issue.

The output of qvm-ls

What is this?

This command, when run in dom0 (or any admin qube) will list all the qubes that exist on your machine, as well as their names, what template they are based on, whether they are disposable or not, what state they are in (running, halted, paused).

What does the output look like?

qvm-ls

Output of Command
NAME                         STATE    CLASS         LABEL   TEMPLATE               NETVM
anaconda-devel               Halted   AppVM         orange  fedora-41-xfce         sys-firewall
anaconda-installer-devel     Halted   AppVM         orange  fedora-41-xfce         sys-firewall
anaconda-tester              Halted   StandaloneVM  purple  -                      sys-firewall
anon-whonix                  Halted   AppVM         red     whonix-workstation-17  sys-whonix
archlinux                    Halted   TemplateVM    black   -                      sys-firewall
blackarch                    Halted   TemplateVM    black   -                      sys-firewall
centos-stream-8-minimal      Halted   TemplateVM    black   -                      sys-firewall
centos-stream-8-xfce         Halted   TemplateVM    black   -                      sys-firewall
centos-stream-9-minimal      Halted   TemplateVM    black   -                      sys-firewall
centos-stream-9-xfce         Halted   TemplateVM    black   -                      sys-firewall
debian-12                    Halted   TemplateVM    black   -                      -
debian-12-minimal            Halted   TemplateVM    black   -                      -
debian-12-xfce               Halted   TemplateVM    black   -                      -
default-mgmt-dvm             Halted   AppVM         black   fedora-41-xfce         -
REDACTED                     Halted   AppVM         red     fedora-41-xfce         sys-firewall
dom0                         Running  AdminVM       black   -                      -
duo-buildroot-sdk            Halted   AppVM         orange  debian-12              sys-firewall
dvm-fedora                   Halted   AppVM         red     fedora-40              sys-firewall
dvm-fedora-minimal           Halted   AppVM         red     fedora-40-minimal      sys-firewall
dvm-qubes-builder            Halted   AppVM         red     tpl-qubes-builder      sys-firewall
fedora-37-qubes-builder      Halted   TemplateVM    black   -                      -
fedora-39-dvm                Halted   AppVM         red     fedora-40              sys-firewall
fedora-39-qubes-builder      Halted   TemplateVM    black   -                      -
fedora-40                    Halted   TemplateVM    black   -                      -
fedora-40-minimal            Halted   TemplateVM    black   -                      -
fedora-40-xfce               Halted   TemplateVM    black   -                      -
fedora-41                    Halted   TemplateVM    black   -                      -
fedora-41-xfce               Halted   TemplateVM    black   -                      -
gentoo-dispvm                Halted   AppVM         red     gentoo-minimal         sys-firewall
gentoo-minimal               Halted   TemplateVM    black   -                      sys-firewall
kali-core                    Halted   TemplateVM    black   -                      -
kali-core-trixie             Halted   TemplateVM    black   -                      -
pentesting                   Halted   AppVM         blue    kali-core              sys-firewall
personal                     Running  AppVM         yellow  fedora-41-xfce         sys-firewall
qubes-builder                Halted   AppVM         gray    tpl-qubes-builder      sys-firewall
qubes-builder-dvm            Halted   AppVM         red     fedora-40              sys-firewall
qubes-installer-tester       Halted   StandaloneVM  purple  -                      sys-firewall
qubes-remote-support-helper  Halted   AppVM         red     whonix-workstation-17  sys-whonix
samsun                       Halted   AppVM         red     debian-12              sys-firewall
sys-audio                    Running  AppVM         black   fedora-40-xfce         sys-firewall
sys-firewall                 Running  DispVM        green   fedora-39-dvm          sys-net
sys-net                      Running  DispVM        red     fedora-39-dvm          -
sys-usb                      Halted   DispVM        red     fedora-39-dvm          -
sys-whonix                   Running  AppVM         black   whonix-gateway-17      sys-firewall
REDACTED                     Halted   AppVM         red     kali-core              sys-firewall
tpl-qubes-builder            Halted   TemplateVM    black   -                      -
university                   Running  AppVM         purple  fedora-40              sys-firewall
untrusted                    Halted   AppVM         red     fedora-41-xfce         sys-firewall
vault                        Halted   AppVM         black   fedora-41-xfce         -
whonix-gateway-17            Halted   TemplateVM    black   -                      -
whonix-workstation-17        Halted   TemplateVM    black   -                      -
whonix-ws-16-dvm             Halted   AppVM         red     whonix-workstation-17  sys-whonix
whonix-ws-17-dvm             Halted   AppVM         red     whonix-workstation-17  sys-whonix
windows-sacrificial          Halted   StandaloneVM  gray    -                      sys-whonix
work                         Halted   AppVM         blue    fedora-40              sys-firewall
work-qubesos                 Halted   DispVM        red     qubes-builder-dvm      sys-firewall

Why would someone ask for this?

Requiring this to troubleshoot anything is extremely rare, but in certain niche cases, it can be useful to deduce whether there is a misconfiguration in your qubes, causing them to not start properly, or crash.

What do I need to redact?

In almost all cases, the names of your qubes are never helpful in troubleshooting, so they should almost always be redacted.

Similarly, the state the qubes are in is almost always irrelevant to the issue you are facing, and should be redacted as well.

What do I need to leave in the post?

There are times when the template the qube is based on is helpful, and should be left in. However, if you have created a custom template (and thus, likely given the template a custom name), then it is recommended that the name of the template be replaced with a descriptor of the makeup of that template.

For example, “debian-12-xfce with extra packages installed”, or “template based off gentoo-minimal”.

Anything else I should know?

If the qube names are generic names, like sys-net, sys-firewall, sys-whonix, sys-usb, or anything else that might be common among almost all Qubes OS machines, there is not really any danger to that being left in.

However, if you have chosen to give your qubes custom names, then they should almost always be redacted.


The output of dmesg

What is this?

This command will show the events logged by the Linux kernel since you first powered on your machine.

What does the output look like?

Entries are generally presented like this:

[Time since power-on] <kernel-module>: MESSAGE

Why would someone ask for this?

When there are hardware issues, the output of dmesg can be incredibly valueable in determining what specifically is causing the hardware not to function as expected.

The events logged in dmesg will clarify:

  • Which kernel module is being used when the error is thrown
  • What reason the kernel module is being given that the error is thrown
  • If there is a core dump, it will show quite a lot of information that is helpful for developers to fix bugs in their code
    • A core dump is essentially the Linux kernel saying “I can’t figure out what went wrong, and I don’t know what to do, so I’m just going to kill it all. Here’s the instruction I tried to execute that failed, and here’s everything in the memory at the time I tried to run it. Developers, you figure out what happened…”

It can contain very detailed information that it often exactly what people need to be able to help you with your issues.

What do I need to redact?

Well, for starters, nobody will ever need the entire log.

Most times, they will be interested in seeing what a particular module is doing. An example of this is when a wifi card does not load correctly, they will likely be interested in what excuse the corresponding kernel module gave in dmesg for the failure, such as not being able to load appropriate drivers/firmware, etc.

Any serial numbers are almost always perfectly fine to redact.

There are also times when identifiers such as memory addresses and version numbers are also able to be redacted, without hindering the ability to help you solve your issue.

What do I need to leave in the post?

Generally, everything apart from what is mentioned above should be left in your post, unless you are compelled to redact it for whatever reason.

If you redact too much, you will likely be politely asked for the redacted information, along with an explanation as to why it is needed to solve your issue.

Anything else I should know?

If something doesn’t feel right, feel free to politely ask why that information is needed. If they are legitimately trying to assist you, then you will likely get a response that does not contain a sense of urgency, systematically explains what they need, why they need it, what you could also supply in lieu of that information (if you are genuinely uncomfortable divulging it), and in most cases, an educated guess as to what your issue may be, and how giving them this information will help them diagnose your issue more accurately.

If you do not get all of that, then by all means, feel free to refuse.


WAN IP Addresses

What is this?

This is similar to an address on an envelope that people who run networks (ISPs, your workplace, your home wifi, etc.) use to get data packets to the intended recipient, and back to you when necessary.

Similarly to how a postal address of your house does not contain any information about how many rooms your house has, what colour paint you have on the outside, whether you have a second storey, etc., an IP address is NOT a fingerprint of your device.

It is merely a way for others to be able to tell whoever is running the network you’re on how to get messages to you.

Also, this address is almost always allocated to you by the network operator (eg. ISP).

What does it look like?

IPv4 address:

Four numberical value between 0 and 255, separated by a dot (.).

XXX.XXX.XXX.XXX

IPv6 address:

Eight numerical values between 0 and 65,535 (2 to the power of 16), separated by a colon (:).

xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx

Why would someone ask for this?

There is no legitimate reason anyone troubleshooting a Qubes OS issue would ever need to know this.

What do I need to redact?

Any and all IP addresses, without the only exceptions being:

  • 127.0.0.0/8 (this means any IPv4 address with 127 in the first octet, followed by any combination of numbers in the remaining octets, with the most commonly-seen being 127.0.0.1) or ::1 (IPv6), which essentially means “myself”, every single networked device will have this as their loopback address.
    • Network interfaces will use this to check that they are working by sending messages to themselves.

Of course, if you would feel safer if you redacted loopback addresses, then feel free to do so.
Often times the type of IP address (WAN, LAN, loopback, TailScale, Link-local, broadcast, etc.) can be deduced when redacted from the context of the rest of the post, which is usually harmless.

What do I need to leave in the post?

It’s fine to replace IP addresses with markers that denote an IP address has been redacted, such as xxx.xxx.xxx.xxx, as long as the numbers have been removed.

Anything else I should know?

If you accidentally do publish your IP address, it is recommended that you check your WAN IP for any open ports you might have, and implement appropriate firewall protections. You may also want to request a new IPv4 WAN address and/or IPv6 prefix delegation from your ISP.

If you do not understand what any of this means, you should contact your ISP immediately and tell them what happened (assuming you trust them). They will arrange for you to get allocated a different IP address.


The output of filepaths

What is this?

This is a bunch of words, separated by forward slashes (/) that show where a file or directory is located.

Forgive the odd explanation, but it’s something I’ve never actually had to explain before… :sweat_smile:

What does this look like?

Absolute paths are the entire list of directories to go through to get the file, all the way from the root directory (/).

/path/to/file/
/home/user/Pictures/secret_rendevouz_with_hot_supermodel/saucy_pics/naked.jpg
/var/log/journal.log
/usr/bin/ls
/I/think/you/get/the/idea.now

Relative paths are the list of directories to go through from the current directory.

./this/is/a/relative/path
../this_folder/this_file
../../../../../../proc/self/environ #If your web application allows this, you are a BAD coder and should be ashamed!

Why would someone ask for this?

Sometimes, when programs/scripts are run, they expect certain files to be in certain places, so they can do things to them.

Programs will throw errors when they are told that certain things are to be found in specific places, and they aren’t there when they go looking for them.

They’re like the most difficult employees ever… :stuck_out_tongue_closed_eyes:

“You told me the file was in this folder, but it wasn’t, so I took the whole day off…”

So if a file cannot be found, possible solutions to the issue are:

  • Move the file to the location the program expects to find it
  • Change the program to tell it to look elsewhere for the file

This occurs a lot when programs have configuration files that don’t make sense, and are often easily fixed, as long as the location of required files are known.

What can I safely redact?

Any usernames should be redacted and replaced with something that shows that it’s your home directory, like <my-home-directory>.

Any other file or directory names that you believe might reveal information about you can also be redacted and replaced in a similar fashion. Just remember to replace it with a definition of the function of the file or directory.

For example:

/home/lapcheong/monero_sh*t/live_malware/xmrig/crypto_stealer.c

can be redacted to:

/home/<my-home-directory>/<hobbies>/<misc>/<program-folder>/<code-not-working>.c

OR

./<program-folder>/<file-A>.c

Essentially you’re doing the equivalent of algebraic substitution for filenames and directory names. This redaction works as long as you refer to the files and directories in the same way the entire time.

Don’t confuse people with your redactions…

What do I need to leave in?

You absolutely need to leave in the number of forward slashes (/), as this shows how many directories in the file is actually located.

Anything else I should know?

When troubleshooting a particular program, full paths are almost always not needed.

As long as you specify what program is throwing the error, filepaths can usually be worked out by examining the codebase of the particular program, and deducing relative filepaths from there.

It is often not necessary to know the names of the directories, but rather which specific directory it is in, and how many levels in it is. A similar concept exists in algebra. It isn’t necessary to know what x is, as long as you know how it relates to the rest of the equation.


TITLE

What is this?

What does this look like?

Why would someone ask for this?

What can I safely redact?

What do I need to leave in?

Anything else I should know?


TITLE

What is this?

What does this look like?

Why would someone ask for this?

What can I safely redact?

What do I need to leave in?

Anything else I should know?


Template copy-paste (for anyone wishing to add to this guide)

What is this?

Lorem ipsum

What does this look like?

Labor omina vincit

Why would someone ask for this?

Acta non verba

What can I safely redact?

Errare humanum est

What do I need to leave in?

In vino veritas

Anything else I should know?

Cogito ergo sum

10 Likes

The output of lspci

What is this?

This is a command that can be run in a terminal that will list all PCI devices attached to your computer.

What does the output look like?

lspci

Output of Command
00:00.0 Host bridge: Intel Corporation 12th Gen Core Processor Host Bridge/DRAM Registers (rev 02)
00:01.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x16 Controller #1 (rev 02)
00:02.0 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
00:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02)
00:14.0 USB controller: Intel Corporation Raptor Lake USB 3.2 Gen 2x2 (20 Gb/s) XHCI Host Controller (rev 11)
00:14.2 RAM memory: Intel Corporation Raptor Lake-S PCH Shared SRAM (rev 11)
00:14.3 Network controller: Intel Corporation Raptor Lake-S PCH CNVi WiFi (rev 11)
00:15.0 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #0 (rev 11)
00:15.1 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #1 (rev 11)
00:15.2 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #2 (rev 11)
00:15.3 Serial bus controller: Intel Corporation Device 7a4f (rev 11)
00:16.0 Communication controller: Intel Corporation Raptor Lake CSME HECI #1 (rev 11)
00:17.0 SATA controller: Intel Corporation Raptor Lake SATA AHCI Controller (rev 11)
00:19.0 Serial bus controller: Intel Corporation Device 7a7c (rev 11)
00:19.1 Serial bus controller: Intel Corporation Device 7a7d (rev 11)
00:1a.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #25 (rev 11)
00:1b.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #17 (rev 11)
00:1b.4 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #21 (rev 11)
00:1c.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #1 (rev 11)
00:1c.2 PCI bridge: Intel Corporation Raptor Point-S PCH - PCI Express Root Port 3 (rev 11)
00:1d.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #9 (rev 11)
00:1d.4 PCI bridge: Intel Corporation Device 7a34 (rev 11)
00:1f.0 ISA bridge: Intel Corporation Raptor Lake LPC/eSPI Controller (rev 11)
00:1f.3 Audio device: Intel Corporation Raptor Lake High Definition Audio Controller (rev 11)
00:1f.4 SMBus: Intel Corporation Raptor Lake-S PCH SMBus Controller (rev 11)
00:1f.5 Serial bus controller: Intel Corporation Raptor Lake SPI (flash) Controller (rev 11)
01:00.0 VGA compatible controller: NVIDIA Corporation GF114 [GeForce GTX 560] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GF114 HDMI Audio Controller (rev a1)
02:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
03:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
05:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
09:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)

lspci -k

Output of Command
00:00.0 Host bridge: Intel Corporation 12th Gen Core Processor Host Bridge/DRAM Registers (rev 02)
	DeviceName: Onboard - Other
	Subsystem: Gigabyte Technology Co., Ltd Device 5000
00:01.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x16 Controller #1 (rev 02)
	Subsystem: Gigabyte Technology Co., Ltd Device 5000
	Kernel driver in use: pcieport
00:02.0 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
	DeviceName: Onboard - Video
	Subsystem: Gigabyte Technology Co., Ltd Device d000
	Kernel driver in use: i915
	Kernel modules: i915
00:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02)
	Kernel driver in use: pcieport
00:14.0 USB controller: Intel Corporation Raptor Lake USB 3.2 Gen 2x2 (20 Gb/s) XHCI Host Controller (rev 11)
	DeviceName: Onboard - Other
	Subsystem: Gigabyte Technology Co., Ltd Device 5007
	Kernel driver in use: xhci_hcd
	Kernel modules: mei_me, xhci_pci
00:14.2 RAM memory: Intel Corporation Raptor Lake-S PCH Shared SRAM (rev 11)
	DeviceName: Onboard - Other
00:14.3 Network controller: Intel Corporation Raptor Lake-S PCH CNVi WiFi (rev 11)
	DeviceName: Onboard - Ethernet
	Subsystem: Intel Corporation Device 0094
	Kernel driver in use: iwlwifi
	Kernel modules: iwlwifi
00:15.0 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #0 (rev 11)
	DeviceName: Onboard - Other
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
00:15.1 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #1 (rev 11)
	DeviceName: Onboard - Other
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
00:15.2 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #2 (rev 11)
	DeviceName: Onboard - Other
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
00:15.3 Serial bus controller: Intel Corporation Device 7a4f (rev 11)
	DeviceName: Onboard - Other
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
00:16.0 Communication controller: Intel Corporation Raptor Lake CSME HECI #1 (rev 11)
	DeviceName: Onboard - Other
	Subsystem: Gigabyte Technology Co., Ltd Device 1c3a
	Kernel driver in use: mei_me
	Kernel modules: mei_me
00:17.0 SATA controller: Intel Corporation Raptor Lake SATA AHCI Controller (rev 11)
	DeviceName: Onboard - SATA
	Subsystem: Gigabyte Technology Co., Ltd Device b005
	Kernel driver in use: ahci
	Kernel modules: ahci
00:19.0 Serial bus controller: Intel Corporation Device 7a7c (rev 11)
	DeviceName: Onboard - Other
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
00:19.1 Serial bus controller: Intel Corporation Device 7a7d (rev 11)
	DeviceName: Onboard - Other
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
00:1a.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #25 (rev 11)
	Kernel driver in use: pcieport
00:1b.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #17 (rev 11)
	Kernel driver in use: pcieport
00:1b.4 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #21 (rev 11)
	Kernel driver in use: pcieport
00:1c.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #1 (rev 11)
	Kernel driver in use: pcieport
00:1c.2 PCI bridge: Intel Corporation Raptor Point-S PCH - PCI Express Root Port 3 (rev 11)
	Subsystem: Gigabyte Technology Co., Ltd Device 5001
	Kernel driver in use: pcieport
00:1d.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #9 (rev 11)
	Kernel driver in use: pcieport
00:1d.4 PCI bridge: Intel Corporation Device 7a34 (rev 11)
	Subsystem: Gigabyte Technology Co., Ltd Device 5001
	Kernel driver in use: pcieport
00:1f.0 ISA bridge: Intel Corporation Raptor Lake LPC/eSPI Controller (rev 11)
	DeviceName: Onboard - Other
	Subsystem: Gigabyte Technology Co., Ltd Device 5001
00:1f.3 Audio device: Intel Corporation Raptor Lake High Definition Audio Controller (rev 11)
	DeviceName: Onboard - Sound
	Subsystem: Gigabyte Technology Co., Ltd Device a194
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel, snd_sof_pci_intel_tgl
00:1f.4 SMBus: Intel Corporation Raptor Lake-S PCH SMBus Controller (rev 11)
	DeviceName: Onboard - Other
	Subsystem: Gigabyte Technology Co., Ltd Device 5001
	Kernel driver in use: i801_smbus
	Kernel modules: i2c_i801
00:1f.5 Serial bus controller: Intel Corporation Raptor Lake SPI (flash) Controller (rev 11)
	DeviceName: Onboard - Other
01:00.0 VGA compatible controller: NVIDIA Corporation GF114 [GeForce GTX 560] (rev a1)
	Subsystem: Gigabyte Technology Co., Ltd Device 3527
	Kernel driver in use: nouveau
	Kernel modules: nouveau
01:00.1 Audio device: NVIDIA Corporation GF114 HDMI Audio Controller (rev a1)
	Subsystem: Gigabyte Technology Co., Ltd Device 3527
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel
02:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
	Subsystem: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less)
	Kernel driver in use: nvme
	Kernel modules: nvme
03:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
	Subsystem: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less)
	Kernel driver in use: nvme
	Kernel modules: nvme
05:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
	Subsystem: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less)
	Kernel driver in use: nvme
	Kernel modules: nvme
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
	Subsystem: Gigabyte Technology Co., Ltd Device e000
	Kernel driver in use: r8169
	Kernel modules: r8169
09:00.0 Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less) (rev 01)
	Subsystem: Realtek Semiconductor Co., Ltd. RTS5772DL NVMe SSD Controller (DRAM-less)
	Kernel driver in use: nvme
	Kernel modules: nvme

Why would someone ask for this?

This information shows how your machine is hooked up, what devices you have inside performing what functions, and where each device is in the internal hierarchy of your machine.

What can I redact?

If your question is about a specific PCI device misbehaving, then in most cases, you should be able to redact all lines that are not about the PCI device in question.

What do I need to leave in the post?

In almost all cases someone asks for this, you will likely need to leave the lines pertaining to the PCI device in question untouched in order to get an answer to your question. If you redact any of this, you will likely be met with a request to see that information.

Anything else I should know?

This command will not show any usernames, passwords, IP addresses, file names, or anything else other than what hardware you have connected to your PCI interfaces, and sometimes what drivers/firmware they are using.

The output of lsusb

What is this?

This command lists all USB devices that the machine can detect.

What does the output look like?

lsusb

Output of Command
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 005: ID 048d:5702 Integrated Technology Express, Inc. RGB LED Controller
Bus 001 Device 007: ID 8087:0033 Intel Corp. AX211 Bluetooth
Bus 001 Device 060: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 0781:5581 SanDisk Corp. Ultra

lsusb -t

Output of Command
/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/16p, 480M
    |__ Port 011: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 002: Dev 060, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 012: Dev 003, If 0, Class=Hub, Driver=hub/4p, 480M
    |__ Port 013: Dev 005, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 014: Dev 007, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 014: Dev 007, If 1, Class=Wireless, Driver=btusb, 12M
/:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/9p, 20000M/x2
    |__ Port 007: Dev 002, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

Why would someone ask for this?

This is useful when trying to determine which USB controller a USB port belongs to. It is also helpful when trying to figure out why a USB device is not “playing nice” with sys-usb.

What can I redact?

Generally, when the question is about a particular USB device, it should be ok to redact anything that isn’t specifically about the USB device in question, or isn’t about the USB controller/port that it is connected to.

What do I need to leave in the post?

In most cases, it would be necessary to leave any lines about the USB device in question untouched. If you redact any information on these lines, you will likely have redacted key information needed to solve your issue.

Anything else I should know?

This command will not show any usernames, passwords, IP addresses, file names, or anything else other than what USB devices are plugged in, and what USB controller they are plugged into.

The output of lsscsi

What is this?

This command will list information about all SCSI devices attached to your machine. This command was generally useful before the days of PCIe and USB, but it is less useful now. However, on some legacy machines, it can provide useful information, when, for example, RAID hard drives are misbehaving.

What does the output look like?

lsscsi

Output of Command
[0:0:0:0]    disk    ATA      CT1000MX500SSD1  033   /dev/sda 

lsscsi -l / lsscsi --long

Output of Command
[0:0:0:0]    disk    ATA      CT1000MX500SSD1  033   /dev/sda 
  state=running queue_depth=32 scsi_level=6 type=0 device_blocked=0 timeout=30

Why would someone ask for this?

It is useful when you are encountering red/write errors in hard drives connected via SATA and SAS, particularly if they are set up in a RAID array.

For a Qubes OS-specific example, it could provide useful information if, for example, you had multiple vm-pools on separate drives, and you were encountering errors when reading or writing to files in certain qubes, but no issues in other qubes.

What can I redact?

If your question/issue is about a particular drive or RAID array, then it is usually ok to omit/redact any lines that aren’t directly related to that drive or RAID array.

What do I need to leave in the post?

If your drive is part of a RAID array, it will generally be helpful for diagnosis if the lines pertaining to all drives in that RAID array are left untouched.

Anything else I should know?

This command will not show any usernames, passwords, IP addresses, file names, or anything else other than what hardware you have connected to your SCSI interfaces (SATA, SAS, etc.), and sometimes what drivers/firmware they are using.

This command will, however, show the names of the devices in the /dev directory (i.e. how the Linux kernel has decided to enumerate those devices).

As can be seen from the example output above, if the drive was enumerated as /dev/sde, that would imply that the Linux kernel has detected and enumerated 4 other block devices before this one (i.e. /dev/sda, /dev/sdb, /dev/sdc, and /dev/sdd).

Whilst this information reveals nothing more about your machine than the fact that you likely have multiple hard drives connected to it, it won’t go into any further detail than that.

If you believe that is not something you wish to divulge, that’s entirely your choice, but remember that it may severely hinder everyone’s ability to assist you with your issue.

The output of dmidecode

What is this?

dmidecode is a tool for dumping a computer’s DMI (some say SMBIOS ) table contents in a human-readable format. This table contains a description of the system’s hardware components, as well as other useful pieces of information such as serial numbers and BIOS revision. Thanks to this table, you can retrieve this information without having to probe for the actual hardware. While this is a good point in terms of report speed and safeness, this also makes the presented information possibly unreliable.

The DMI table doesn’t only describe what the system is currently made of, it also can report the possible evolutions (such as the fastest supported CPU or the maximal amount of memory supported).

SMBIOS stands for System Management BIOS , while DMI stands for Desktop Management Interface. Both standards are tightly related and developed by the DMTF (Desktop Management Task Force).

As you run it, dmidecode will try to locate the DMI table. If it succeeds, it will then parse this table and display a list of records like this one:

Handle 0x0002, DMI type 2, 8 bytes. Base Board Information Manufacturer: Intel
Product Name: C440GX+
Version: 727281-001
Serial Number: INCY92700942

Each record has:

  • A handle. This is a unique identifier, which allows records to reference each other. For example, processor records usually reference cache memory records using their handles.
  • A type. The SMBIOS specification defines different types of elements a computer can be made of. In this example, the type is 2, which means that the record contains “Base Board Information”.
  • A size. Each record has a 4-byte header (2 for the handle, 1 for the type, 1 for the size), the rest is used by the record data. This value doesn’t take text strings into account (these are placed at the end of the record), so the actual length of the record may be (and is often) greater than the displayed value.
  • Decoded values. The information presented of course depends on the type of record. Here, we learn about the board’s manufacturer, model, version and serial number.

What does the output look like?

dmidecode

Output of Command
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
66 structures occupying 3198 bytes.
Table at 0x9CBFD000.

Handle 0x0000, DMI type 222, 14 bytes
OEM-specific Type
	Header and Data:
		DE 0E 00 00 01 99 00 03 10 01 20 02 30 03
	Strings:
		Memory Init Complete
		End of DXE Phase
		BIOS Boot Complete

Handle 0x0001, DMI type 14, 8 bytes
Group Associations
	Name: Intel(R) Silicon View Technology
	Items: 1
		0x0000 (OEM-specific)

Handle 0x0002, DMI type 134, 13 bytes
OEM-specific Type
	Header and Data:
		86 0D 02 00 03 09 15 20 00 00 00 00 00

Handle 0x0003, DMI type 7, 19 bytes
Cache Information
	Socket Designation: L1 Cache
	Configuration: Enabled, Not Socketed, Level 1
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 32 kB
	Maximum Size: 32 kB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Parity
	System Type: Data
	Associativity: 8-way Set-associative

Handle 0x0004, DMI type 4, 42 bytes
Processor Information
	Socket Designation: U3E1
	Type: Central Processor
	Family: Core i5
	Manufacturer: Intel(R) Corporation
	ID: D4 06 03 00 FF FB EB BF
	Signature: Type 0, Family 6, Model 61, Stepping 4
	Flags:
		FPU (Floating-point unit on-chip)
		VME (Virtual mode extension)
		DE (Debugging extension)
		PSE (Page size extension)
		TSC (Time stamp counter)
		MSR (Model specific registers)
		PAE (Physical address extension)
		MCE (Machine check exception)
		CX8 (CMPXCHG8 instruction supported)
		APIC (On-chip APIC hardware supported)
		SEP (Fast system call)
		MTRR (Memory type range registers)
		PGE (Page global enable)
		MCA (Machine check architecture)
		CMOV (Conditional move instruction supported)
		PAT (Page attribute table)
		PSE-36 (36-bit page size extension)
		CLFSH (CLFLUSH instruction supported)
		DS (Debug store)
		ACPI (ACPI supported)
		MMX (MMX technology supported)
		FXSR (FXSAVE and FXSTOR instructions supported)
		SSE (Streaming SIMD extensions)
		SSE2 (Streaming SIMD extensions 2)
		SS (Self-snoop)
		HTT (Multi-threading)
		TM (Thermal monitor supported)
		PBE (Pending break enabled)
	Version: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
	Voltage: 1.0 V
	External Clock: 100 MHz
	Max Speed: 2700 MHz
	Current Speed: 2200 MHz
	Status: Populated, Enabled
	Upgrade: Socket BGA1168
	L1 Cache Handle: 0x0005
	L2 Cache Handle: 0x0006
	L3 Cache Handle: 0x0007
	Serial Number: None
	Asset Tag: None
	Part Number: None
	Core Count: 2
	Core Enabled: 2
	Thread Count: 4
	Characteristics:
		64-bit capable
		Multi-Core
		Hardware Thread
		Execute Protection
		Enhanced Virtualization
		Power/Performance Control

Handle 0x0005, DMI type 7, 19 bytes
Cache Information
	Socket Designation: L1 Cache
	Configuration: Enabled, Not Socketed, Level 1
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 32 kB
	Maximum Size: 32 kB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Parity
	System Type: Instruction
	Associativity: 8-way Set-associative

Handle 0x0006, DMI type 7, 19 bytes
Cache Information
	Socket Designation: L2 Cache
	Configuration: Enabled, Not Socketed, Level 2
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 256 kB
	Maximum Size: 256 kB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Single-bit ECC
	System Type: Unified
	Associativity: 8-way Set-associative

Handle 0x0007, DMI type 7, 19 bytes
Cache Information
	Socket Designation: L3 Cache
	Configuration: Enabled, Not Socketed, Level 3
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 3 MB
	Maximum Size: 3 MB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Multi-bit ECC
	System Type: Unified
	Associativity: 12-way Set-associative

Handle 0x0008, DMI type 16, 23 bytes
Physical Memory Array
	Location: System Board Or Motherboard
	Use: System Memory
	Error Correction Type: None
	Maximum Capacity: 16 GB
	Error Information Handle: Not Provided
	Number Of Devices: 2

Handle 0x0009, DMI type 17, 34 bytes
Memory Device
	Array Handle: 0x0008
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 8 GB
	Form Factor: SODIMM
	Set: None
	Locator: ChannelA-DIMM0
	Bank Locator: BANK 0
	Type: DDR3
	Type Detail: Synchronous
	Speed: 1600 MT/s
	Manufacturer: Micron
	Serial Number: 65002216
	Asset Tag: None
	Part Number: 16KTF1G64HZ-1G6E2 
	Rank: Unknown
	Configured Memory Speed: 1600 MT/s

Handle 0x000A, DMI type 17, 34 bytes
Memory Device
	Array Handle: 0x0008
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 8 GB
	Form Factor: SODIMM
	Set: None
	Locator: ChannelB-DIMM0
	Bank Locator: BANK 2
	Type: DDR3
	Type Detail: Synchronous
	Speed: 1600 MT/s
	Manufacturer: Micron
	Serial Number: 65002216
	Asset Tag: None
	Part Number: 16KTF1G64HZ-1G6E2 
	Rank: Unknown
	Configured Memory Speed: 1600 MT/s

Handle 0x000B, DMI type 19, 31 bytes
Memory Array Mapped Address
	Starting Address: 0x00000000000
	Ending Address: 0x003FFFFFFFF
	Range Size: 16 GB
	Physical Array Handle: 0x0008
	Partition Width: 2

Handle 0x000C, DMI type 129, 8 bytes
OEM-specific Type
	Header and Data:
		81 08 0C 00 01 01 02 01
	Strings:
		Intel_ASF
		Intel_ASF_001

Handle 0x000D, DMI type 130, 20 bytes
OEM-specific Type
	Header and Data:
		82 14 0D 00 24 41 4D 54 00 00 00 00 01 A5 FF 03
		01 00 00 00

Handle 0x000E, DMI type 131, 64 bytes
OEM-specific Type
	Header and Data:
		83 40 0E 00 31 00 00 00 0A 00 00 00 00 00 07 00
		F8 00 C3 9C 00 00 00 00 21 00 00 00 00 00 0A 00
		E8 03 26 00 00 00 00 00 C8 00 A3 15 00 00 00 00
		00 00 00 00 22 00 00 00 76 50 72 6F 00 00 00 00

Handle 0x0010, DMI type 1, 27 bytes
System Information
	Manufacturer: LENOVO
	Product Name: 20BV0005US
	Version: ThinkPad T450
	Serial Number: 5ER14LNUMB3R
	UUID: deadbeef-7ac0-b0a7-f01d-c0ffeeb1ade5
	Wake-up Type: Power Switch
	SKU Number: LENOVO_MT_20BV_BU_Think_FM_ThinkPad T450
	Family: ThinkPad T450

Handle 0x0011, DMI type 2, 15 bytes
Base Board Information
	Manufacturer: LENOVO
	Product Name: 20BV0005US
	Version: SDK0E50510 WIN
	Serial Number: 5ER14LNUMB3R
	Asset Tag: Not Available
	Features:
		Board is a hosting board
		Board is replaceable
	Location In Chassis: Not Available
	Chassis Handle: 0x0000
	Type: Motherboard
	Contained Object Handles: 0

Handle 0x0012, DMI type 3, 22 bytes
Chassis Information
	Manufacturer: LENOVO
	Type: Notebook
	Lock: Not Present
	Version: None
	Serial Number: 5ER14LNUMB3R
	Asset Tag: No Asset Information
	Boot-up State: Unknown
	Power Supply State: Unknown
	Thermal State: Unknown
	Security Status: Unknown
	OEM Information: 0x00000000
	Height: Unspecified
	Number Of Power Cords: Unspecified
	Contained Elements: 0
	SKU Number: Not Specified

Handle 0x0013, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Not Available
	Internal Connector Type: None
	External Reference Designator: USB 1
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x0014, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Not Available
	Internal Connector Type: None
	External Reference Designator: USB 2
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x0015, DMI type 126, 9 bytes
Inactive

Handle 0x0016, DMI type 126, 9 bytes
Inactive

Handle 0x0017, DMI type 126, 9 bytes
Inactive

Handle 0x0018, DMI type 126, 9 bytes
Inactive

Handle 0x0019, DMI type 126, 9 bytes
Inactive

Handle 0x001A, DMI type 126, 9 bytes
Inactive

Handle 0x001B, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Not Available
	Internal Connector Type: None
	External Reference Designator: Ethernet
	External Connector Type: RJ-45
	Port Type: Network Port

Handle 0x001C, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Not Available
	Internal Connector Type: None
	External Reference Designator: External Monitor
	External Connector Type: DB-15 female
	Port Type: Video Port

Handle 0x001D, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Not Available
	Internal Connector Type: None
	External Reference Designator: Mini DisplayPort
	External Connector Type: Other
	Port Type: Video Port

Handle 0x001E, DMI type 126, 9 bytes
Inactive

Handle 0x001F, DMI type 126, 9 bytes
Inactive

Handle 0x0020, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Not Available
	Internal Connector Type: None
	External Reference Designator: Headphone/Microphone Combo Jack1
	External Connector Type: Mini Jack (headphones)
	Port Type: Audio Port

Handle 0x0021, DMI type 126, 9 bytes
Inactive

Handle 0x0022, DMI type 9, 17 bytes
System Slot Information
	Designation: Media Card Slot
	Type: Other
	Current Usage: Available
	Length: Other
	Characteristics:
		Hot-plug devices are supported
	Bus Address: 0000:00:00.0

Handle 0x0023, DMI type 126, 17 bytes
Inactive

Handle 0x0024, DMI type 9, 17 bytes
System Slot Information
	Designation: SimCard Slot
	Type: Other
	Current Usage: Available
	Length: Other
	Characteristics: None
	Bus Address: 0000:00:00.0

Handle 0x0025, DMI type 12, 5 bytes
System Configuration Options

Handle 0x0026, DMI type 13, 22 bytes
BIOS Language Information
	Language Description Format: Abbreviated
	Installable Languages: 10
		en-US
		en-IN
		en-NG
		de-AT
		ru-RU
		zh-CN
		zh-HK
		zh-TW
		es-ES
		pt-BR
	Currently Installed Language: en-US

Handle 0x0027, DMI type 22, 26 bytes
Portable Battery
	Location: Front
	Manufacturer: M4NUF4KTUR3R
	Name: N4M3
	Design Capacity: 23480 mWh
	Design Voltage: 11400 mV
	SBDS Version: 03.01
	Maximum Error: Unknown
	SBDS Serial Number: 5ER14LNUMB3R
	SBDS Manufacture Date: 1970-01-01
	SBDS Chemistry: LION
	OEM-specific Information: 0x00000000

Handle 0x0028, DMI type 22, 26 bytes
Portable Battery
	Location: Rear
	Manufacturer: M4NUF4KTUR3R
	Name: N4M3
	Design Capacity: 57720 mWh
	Design Voltage: 11100 mV
	SBDS Version: 03.01
	Maximum Error: Unknown
	SBDS Serial Number: 5ER14LNUMB3R
	SBDS Manufacture Date: 1970-01-01
	SBDS Chemistry: LION
	OEM-specific Information: 0x00000000

Handle 0x0029, DMI type 18, 23 bytes
32-bit Memory Error Information
	Type: OK
	Granularity: Unknown
	Operation: Unknown
	Vendor Syndrome: Unknown
	Memory Array Address: Unknown
	Device Address: Unknown
	Resolution: Unknown

Handle 0x002A, DMI type 21, 7 bytes
Built-in Pointing Device
	Type: Track Point
	Interface: PS/2
	Buttons: 3

Handle 0x002B, DMI type 21, 7 bytes
Built-in Pointing Device
	Type: Touch Pad
	Interface: PS/2
	Buttons: 2

Handle 0x002C, DMI type 131, 22 bytes
ThinkVantage Technologies
	Version: 1
	Diagnostics: No

Handle 0x002D, DMI type 136, 6 bytes
OEM-specific Type
	Header and Data:
		13 37 13 37 13 37

Handle 0x002E, DMI type 134, 16 bytes
OEM-specific Type
	Header and Data:
		13 37 13 37 13 37 13 37 13 37 13 37 13 37 13 37 13 37
	Strings:
		TPM INFO
		System Reserved

Handle 0x002F, DMI type 133, 5 bytes
OEM-specific Type
	Header and Data:
		13 37 13 37 00
	Strings:
		ARBITRARYSTRING

Handle 0x0030, DMI type 135, 83 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00

Handle 0x0031, DMI type 0, 24 bytes
BIOS Information
	Vendor: LENOVO
	Version: VERSION_NUMBER (<REDACTED_VERSION_NUMBER>)
	Release Date: 01/01/1970
	Address: 0xE0000
	Runtime Size: 128 kB
	ROM Size: 16 MB
	Characteristics:
		PCI is supported
		PNP is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		ACPI is supported
		USB legacy is supported
		BIOS boot specification is supported
		Targeted content distribution is supported
		UEFI is supported
	BIOS Revision: VERSION
	Firmware Revision: VERSION

Handle 0x0032, DMI type 15, 31 bytes
System Event Log
	Area Length: 66 bytes
	Header Start Offset: 0x0000
	Header Length: 16 bytes
	Data Start Offset: 0x0000
	Access Method: General-purpose non-volatile data functions
	Access Address: 0x0000
	Status: Valid, Not Full
	Change Token: 0x00000000
	Header Format: Type 1
	Supported Log Type Descriptors: 4
	Descriptor 1: POST error
	Data Format 1: POST results bitmap
	Descriptor 2: PCI system error
	Data Format 2: None
	Descriptor 3: System reconfigured
	Data Format 3: None
	Descriptor 4: Log area reset/cleared
	Data Format 4: None

Handle 0x0033, DMI type 140, 67 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00

Handle 0x0034, DMI type 140, 19 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00

Handle 0x0035, DMI type 135, 18 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00

Handle 0x0036, DMI type 140, 19 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00

Handle 0x0037, DMI type 140, 23 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00

Handle 0x0038, DMI type 24, 5 bytes
Hardware Security
	Power-On Password Status: REDACTED
	Keyboard Password Status: REDACTED
	Administrator Password Status: REDACTED
	Front Panel Reset Status: REDACTED

Handle 0x0039, DMI type 132, 7 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00

Handle 0x003A, DMI type 140, 15 bytes
ThinkPad Embedded Controller Program
	Version ID: VERSION
	Release Date: 01/01/1970

Handle 0x003B, DMI type 140, 43 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00

Handle 0x003C, DMI type 221, 68 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 0 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00
	Strings:
		Reference Code - PCH - Lynxpoint
		PCH-CRID Status
		Enabled 
		PCH-CRID Original Value
		PCH-CRID New Value
		OPROM - RST - RAID
		LPTLp Bx Hsio Version
		LPTH Cx Hsio Version
		PCH9S A0 Hsio Version
		WPTLp B0 Hsio Version

Handle 0x003D, DMI type 221, 26 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00
	Strings:
		Reference Code - ME 10.0
		MEBx version
		ME Firmware Version
		VERSION  

Handle 0x003E, DMI type 221, 26 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00
	Strings:
		Reference Code - CPU
		uCode Version
		TXT ACM version

Handle 0x003F, DMI type 221, 54 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00
	Strings:
		Reference Code - SA - System Agent
		Reference Code - MRC
		SA - PCIe Version
		SA-CRID Status
		REDACTED 
		SA-CRID Original Value
		SA-CRID New Value
		OPROM - VBIOS

Handle 0x0040, DMI type 221, 12 bytes
OEM-specific Type
	Header and Data:
		00 00 00 00 00 00 00 00 00 00 00 00
	Strings:
		Reference Code - Intel Rapid Start

Handle 0x0041, DMI type 14, 20 bytes
Group Associations
	Name: Firmware Version Info
	Items: 5
		0x0000 (OEM-specific)
		0x0000 (OEM-specific)
		0x0000 (OEM-specific)
		0x0000 (OEM-specific)
		0x0000 (OEM-specific)

Handle 0xFEFF, DMI type 127, 4 bytes
End Of Table

Why would someone ask for this?

This information is useful when troubleshooting issues related to your BIOS, your ACPI tables, or anything requiring deeper knowledge of the circumstances of your hardware configuration, such as what system is managing what subsystem.

What can I redact?

Serial numbers are personally identifiable information, and are NEVER needed to assist in troubleshooting, so they should ALWAYS be redacted.

It is extremely rare (and almost unheard of) that anyone would ever require the full output of this command to solve your issue, so you would usually only be asked for a small subset of this output (e.g. only the sections related to the USB controllers, the CPU, the BIOS, the SATA controllers, etc.).

If your threat model deems it necessary, in some cases, it may also be acceptable to redact the hexadecimal dumps of certain sections, as this may inadvertently divulge the revision version or fingerprint of a particular system component present in your machine. Depending on which component it is, this could reveal to someone that your machine may be vulnerable to a particular type of exploit.

This may include:

  • Any section starting with Header and Data:
  • Any line starting with ID:
  • Any section starting with OEM-Specific Type
  • Any line starting with UUID:
  • Anything else that you believe may reveal an attack vector to anyone

What do I need to leave in the post?

Generally it is important to know whether certain functions are enabled or disabled.

Anything else I should know?

As you can see from the sample output, this command lists almost everything about your hardware.

If you are going to post the output of this command:

  • Make sure you proofread it VERY THOROUGHLY
  • Remove any serial numbers, and they are never helpful in troubleshooting issues.
  • Make sure you clarify if this information is absolutely necessary, because there are almost always other methods to diagnose your issue.
1 Like

The output of qvm-ls

What is this?

This command, when run in dom0 (or any admin qube) will list all the qubes that exist on your machine, as well as their names, what template they are based on, whether they are disposable or not, what state they are in (running, halted, paused).

What does the output look like?

qvm-ls

Output of Command
NAME                         STATE    CLASS         LABEL   TEMPLATE               NETVM
anaconda-devel               Halted   AppVM         orange  fedora-41-xfce         sys-firewall
anaconda-installer-devel     Halted   AppVM         orange  fedora-41-xfce         sys-firewall
anaconda-tester              Halted   StandaloneVM  purple  -                      sys-firewall
anon-whonix                  Halted   AppVM         red     whonix-workstation-17  sys-whonix
archlinux                    Halted   TemplateVM    black   -                      sys-firewall
blackarch                    Halted   TemplateVM    black   -                      sys-firewall
centos-stream-8-minimal      Halted   TemplateVM    black   -                      sys-firewall
centos-stream-8-xfce         Halted   TemplateVM    black   -                      sys-firewall
centos-stream-9-minimal      Halted   TemplateVM    black   -                      sys-firewall
centos-stream-9-xfce         Halted   TemplateVM    black   -                      sys-firewall
debian-12                    Halted   TemplateVM    black   -                      -
debian-12-minimal            Halted   TemplateVM    black   -                      -
debian-12-xfce               Halted   TemplateVM    black   -                      -
default-mgmt-dvm             Halted   AppVM         black   fedora-41-xfce         -
REDACTED                     Halted   AppVM         red     fedora-41-xfce         sys-firewall
dom0                         Running  AdminVM       black   -                      -
duo-buildroot-sdk            Halted   AppVM         orange  debian-12              sys-firewall
dvm-fedora                   Halted   AppVM         red     fedora-40              sys-firewall
dvm-fedora-minimal           Halted   AppVM         red     fedora-40-minimal      sys-firewall
dvm-qubes-builder            Halted   AppVM         red     tpl-qubes-builder      sys-firewall
fedora-37-qubes-builder      Halted   TemplateVM    black   -                      -
fedora-39-dvm                Halted   AppVM         red     fedora-40              sys-firewall
fedora-39-qubes-builder      Halted   TemplateVM    black   -                      -
fedora-40                    Halted   TemplateVM    black   -                      -
fedora-40-minimal            Halted   TemplateVM    black   -                      -
fedora-40-xfce               Halted   TemplateVM    black   -                      -
fedora-41                    Halted   TemplateVM    black   -                      -
fedora-41-xfce               Halted   TemplateVM    black   -                      -
gentoo-dispvm                Halted   AppVM         red     gentoo-minimal         sys-firewall
gentoo-minimal               Halted   TemplateVM    black   -                      sys-firewall
kali-core                    Halted   TemplateVM    black   -                      -
kali-core-trixie             Halted   TemplateVM    black   -                      -
pentesting                   Halted   AppVM         blue    kali-core              sys-firewall
personal                     Running  AppVM         yellow  fedora-41-xfce         sys-firewall
qubes-builder                Halted   AppVM         gray    tpl-qubes-builder      sys-firewall
qubes-builder-dvm            Halted   AppVM         red     fedora-40              sys-firewall
qubes-installer-tester       Halted   StandaloneVM  purple  -                      sys-firewall
qubes-remote-support-helper  Halted   AppVM         red     whonix-workstation-17  sys-whonix
samsun                       Halted   AppVM         red     debian-12              sys-firewall
sys-audio                    Running  AppVM         black   fedora-40-xfce         sys-firewall
sys-firewall                 Running  DispVM        green   fedora-39-dvm          sys-net
sys-net                      Running  DispVM        red     fedora-39-dvm          -
sys-usb                      Halted   DispVM        red     fedora-39-dvm          -
sys-whonix                   Running  AppVM         black   whonix-gateway-17      sys-firewall
REDACTED                     Halted   AppVM         red     kali-core              sys-firewall
tpl-qubes-builder            Halted   TemplateVM    black   -                      -
university                   Running  AppVM         purple  fedora-40              sys-firewall
untrusted                    Halted   AppVM         red     fedora-41-xfce         sys-firewall
vault                        Halted   AppVM         black   fedora-41-xfce         -
whonix-gateway-17            Halted   TemplateVM    black   -                      -
whonix-workstation-17        Halted   TemplateVM    black   -                      -
whonix-ws-16-dvm             Halted   AppVM         red     whonix-workstation-17  sys-whonix
whonix-ws-17-dvm             Halted   AppVM         red     whonix-workstation-17  sys-whonix
windows-sacrificial          Halted   StandaloneVM  gray    -                      sys-whonix
work                         Halted   AppVM         blue    fedora-40              sys-firewall
work-qubesos                 Halted   DispVM        red     qubes-builder-dvm      sys-firewall

Why would someone ask for this?

Requiring this to troubleshoot anything is extremely rare, but in certain niche cases, it can be useful to deduce whether there is a misconfiguration in your qubes, causing them to not start properly, or crash.

What do I need to redact?

In almost all cases, the names of your qubes are never helpful in troubleshooting, so they should almost always be redacted.

Similarly, the state the qubes are in is almost always irrelevant to the issue you are facing, and should be redacted as well.

What do I need to leave in the post?

There are times when the template the qube is based on is helpful, and should be left in. However, if you have created a custom template (and thus, likely given the template a custom name), then it is recommended that the name of the template be replaced with a descriptor of the makeup of that template.

For example, “debian-12-xfce with extra packages installed”, or “template based off gentoo-minimal”.

Anything else I should know?

If the qube names are generic names, like sys-net, sys-firewall, sys-whonix, sys-usb, or anything else that might be common among almost all Qubes OS machines, there is not really any danger to that being left in.

However, if you have chosen to give your qubes custom names, then they should almost always be redacted.

The output of dmesg

What is this?

This command will show the events logged by the Linux kernel since you first powered on your machine.

What does the output look like?

Entries are generally presented like this:

[Time since power-on] <kernel-module>: MESSAGE

Why would someone ask for this?

When there are hardware issues, the output of dmesg can be incredibly valueable in determining what specifically is causing the hardware not to function as expected.

The events logged in dmesg will clarify:

  • Which kernel module is being used when the error is thrown
  • What reason the kernel module is being given that the error is thrown
  • If there is a core dump, it will show quite a lot of information that is helpful for developers to fix bugs in their code
    • A core dump is essentially the Linux kernel saying “I can’t figure out what went wrong, and I don’t know what to do, so I’m just going to kill it all. Here’s the instruction I tried to execute that failed, and here’s everything in the memory at the time I tried to run it. Developers, you figure out what happened…”

It can contain very detailed information that it often exactly what people need to be able to help you with your issues.

What do I need to redact?

Well, for starters, nobody will ever need the entire log.

Most times, they will be interested in seeing what a particular module is doing. An example of this is when a wifi card does not load correctly, they will likely be interested in what excuse the corresponding kernel module gave in dmesg for the failure, such as not being able to load appropriate drivers/firmware, etc.

Any serial numbers are almost always perfectly fine to redact.

There are also times when identifiers such as memory addresses and version numbers are also able to be redacted, without hindering the ability to help you solve your issue.

What do I need to leave in the post?

Generally, everything apart from what is mentioned above should be left in your post, unless you are compelled to redact it for whatever reason.

If you redact too much, you will likely be politely asked for the redacted information, along with an explanation as to why it is needed to solve your issue.

Anything else I should know?

If something doesn’t feel right, feel free to politely ask why that information is needed. If they are legitimately trying to assist you, then you will likely get a response that does not contain a sense of urgency, systematically explains what they need, why they need it, what you could also supply in lieu of that information (if you are genuinely uncomfortable divulging it), and in most cases, an educated guess as to what your issue may be, and how giving them this information will help them diagnose your issue more accurately.

If you do not get all of that, then by all means, feel free to refuse.

WAN IP Addresses

What is this?

This is similar to an address on an envelope that people who run networks (ISPs, your workplace, your home wifi, etc.) use to get data packets to the intended recipient, and back to you when necessary.

Similarly to how a postal address of your house does not contain any information about how many rooms your house has, what colour paint you have on the outside, whether you have a second storey, etc., an IP address is NOT a fingerprint of your device.

It is merely a way for others to be able to tell whoever is running the network you’re on how to get messages to you.

Also, this address is almost always allocated to you by the network operator (eg. ISP).

What does it look like?

IPv4 address:

Four numberical value between 0 and 255, separated by a dot (.).

XXX.XXX.XXX.XXX

IPv6 address:

Eight numerical values between 0 and 65,535 (2 to the power of 16), separated by a colon (:).

xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx

Why would someone ask for this?

There is no legitimate reason anyone troubleshooting a Qubes OS issue would ever need to know this.

What do I need to redact?

Any and all IP addresses, without the only exceptions being:

  • 127.0.0.0/8 (this means any IPv4 address with 127 in the first octet, followed by any combination of numbers in the remaining octets, with the most commonly-seen being 127.0.0.1) or ::1 (IPv6), which essentially means “myself”, every single networked device will have this as their loopback address.
    • Network interfaces will use this to check that they are working by sending messages to themselves.

Of course, if you would feel safer if you redacted loopback addresses, then feel free to do so.
Often times the type of IP address (WAN, LAN, loopback, TailScale, Link-local, broadcast, etc.) can be deduced when redacted from the context of the rest of the post, which is usually harmless.

What do I need to leave in the post?

It’s fine to replace IP addresses with markers that denote an IP address has been redacted, such as xxx.xxx.xxx.xxx, as long as the numbers have been removed.

Anything else I should know?

If you accidentally do publish your IP address, it is recommended that you check your WAN IP for any open ports you might have, and implement appropriate firewall protections. You may also want to request a new IPv4 WAN address and/or IPv6 prefix delegation from your ISP.

If you do not understand what any of this means, you should contact your ISP immediately and tell them what happened (assuming you trust them). They will arrange for you to get allocated a different IP address.

If anyone else has examples they have encountered, please add them to the list, so that we can better help those that need help.

If the goal is to protect personally identifiable information, it is probably worth explaining what that is. An example (and legal) definition is the one in the GDPR (Article 4):

‘personal data’ means any information relating to an identified or identifiable natural person (‘data subject’); an identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person;

In that sense, nick names are also personal data. Specific writing style is also personal data, as it can be subject to profiling and thus identifying, etc.

It is also probably worth explaining that interaction with the Internet itself can implicitly result in leakage, especially considering that the Qubes project does not use privacy-respecting platforms. - We already have at least 2 threads discussing these issues. If the team has decided to take steps towards improving that, that is very welcome.

1 Like

I was focusing more on making non-technical people more comfortable with providing sanitised information about their Qubes OS machines so that the community can better help them, without anyone’s identity being leaked, to be honest…

1 Like

I think there is more that would be helpful for the target audience of this guide to know. sharing with everyone in the world (by posting on qubesos forum) the devices you have can help to deanonymize you. It sounds harmless when you say “they will only know what devices you have” but they could find out which laptop model you have if they have info on your devices. Although it’s easy to deanonymize without this info because it’s a clearnet website and creating an account requires an email. But not all adversaries can deanonymize you with just an email address but they could with a list of your devices. If they know your laptop model they can find out which people owns them. It also makes it easier for advanced adversaries to attack you if they know what devices you have or laptop model because then they know which backdoor to use or which devices to focus finding vulnerabilities for.

But this opsec sacrifice can still be worth it for some people who can’t solve a problem by themselves and if it’s important to solve it.

1 Like

It is better to indicate with every information description in the first sentence what the risk is when shared. So in the case of IP address, red and bold that you should never give this, instead of a sentence somewhere at the end. And further down how mitigate the risk by anonimizing it in some way.

I was focusing more on making non-technical people more comfortable with providing sanitised information about their Qubes OS machines so that the community can better help them, without anyone’s identity being leaked, to be honest…

If identity protection was that simple, then everyone reading a single guide would be a qualified 007 :slight_smile:

There is a legitimate reason why someone might want to know IP, (or at
least part of the IP address). When networking issues suggest that
sys-net is attached to a 10 net, and the troubleshooter wants to confirm
this.

I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.

Edited to WAN IP address.

I would like to be able to assess the risk level of sharing types of information if I was a non -technical user. But that is difficult because everyone has a different thread model. Is it an idea to advise that if you are in doubt because you cannot judge it properly, you share this information via PM? And still emphasize that you anonymize as you advise?

Nice guide! I think it’s already clear that it targets non-technical users. The first version (without all the parts telling what this guide is not about) was easier to understand. I would put this at the end, with a small disclaimer linking to it at the beginning.

What about this title : “How to redact your posts, but still get support, for non-technical users”? Could it be more clear?

Is there a reason why you used posts to create sections in your guide? Because only the first post is a wiki…

1 Like

Is it an idea to advise that if you are in doubt because you cannot judge it properly, you share this information via PM?

PMs are not private - admins can read them. That doesn’t mean our admins are compromised. It means that the hosting company can read them as well.

3 Likes

:flushed:

…well now I know that… :sweat_smile:

1 Like

Don’t worry. And I forgot to mention that we could also put a table of content. I just find out about this, and it’s quite useful with this guide!

1 Like