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.
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.
They are NOT relevant, they have NO place here, and they belong in a separate guide.
lspci
This is a command that can be run in a terminal that will list all PCI devices attached to your computer.
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)
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
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.
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.
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.
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.
lsusb
This command lists all USB devices that the machine can detect.
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
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
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
.
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.
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.
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.
lsscsi
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.
lsscsi
[details="Output of Command"]
[0:0:0:0] disk ATA CT1000MX500SSD1 033 /dev/sda
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
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.
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.
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.
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.