Virtual & unusual hardware

Virtio console and ports over modern PCI

A virtual console/port function can expose named guest-host channels rather than a physical UART.

On this page
  1. Overview & identity
  2. Driver & binding
  3. Firmware
  4. Read-only diagnostics
  5. Limitations & related issues
  6. References

Overview & identity

The checked modern PCI rule maps 1af4:1043 to virtio type 3 (console). This is a virtual function identity, not the host hardware model. Transitional PCI IDs use a different subsystem-ID rule and are deliberately not inferred here.

Curated identifiers
pci 1af4:1043

A numeric match establishes a candidate family within the reviewed evidence. Marketing names, board variants, subsystem conditions and successful operation remain separate questions.

Driver & binding

virtio_console handles virtio type 3 and can create multiple ports. A bound PCI transport does not identify each channel’s purpose; some ports may be used by guest agents or clipboard-related host services. lspci can therefore correctly report virtio-pci while the child function is bound to virtio_console.

  • virtio_pci — kernel driver/module candidate
  • virtio_console — kernel driver/module candidate

Detected, bound, operational: learn the difference

Firmware

No host payload established here

No external firmware filename was established in the checked driver path. This does not describe firmware stored inside the device.

Inspect firmware packaging on your distribution

Read-only diagnostics

Run one displayed command at a time. Replace uppercase placeholders with the affected device, interface or module from your own output. Commands are never executed here. Read-only output can still contain private identifiers.

Inspect the PCI function and binding

lspci -nnk -s BDF

Replace BDF with the complete address, for example 0000:00:14.0. This read-only query needs pciutils and normally no sudo. “Kernel driver in use” is observed binding; “Kernel modules” lists candidates.

Inspect the virtio child function driver

ls -l /sys/bus/pci/devices/BDF/virtio*/driver

Replace BDF with the full observed PCI address. Read the child driver link without sudo; virtio_pci is the PCI transport, while this link belongs to the function driver. A missing child or link means that this layer was not observed.

List virtual port metadata

ls -l /sys/class/virtio-ports/

Read symlinks without opening any console/agent channel. Normally no sudo is required. Ports can belong to different services; the listing is metadata rather than a communication test.

Limitations & related issues

Named port existence does not prove that a host process is connected, authorized or working. Diagnostic listing must not open the channel or send bytes, because doing so could interact with a service.

These guides are linked for relevant observations, not as known defects of every device in this family.

Choose a hardware diagnostic workflow · Inspect a log excerpt in Fix Lab

References

Source review records a checked implementation or document, not a reproduced hardware test. Version-specific tables do not establish a minimum kernel or guaranteed operation.