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 [details="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)
[/details]

lspci -k [details="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
[/details]

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 [details="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
[/details]

lsusb -t

[details="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
[/details]

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 [details="Output of Command"]

[0:0:0:0]    disk    ATA      CT1000MX500SSD1  033   /dev/sda 
[/details]

lsscsi -l / lsscsi --long [details="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
[/details]

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.