Overview & identity
The checked modern PCI rule maps 1af4:1049 to virtio type 9 (9p). 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:1049
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
9pnet_virtio handles type 9 as a transport. The 9p filesystem implementation and a chosen mount are separate layers; a detected virtio function does not mean the host share is mounted in the guest. lspci can therefore correctly report virtio-pci while the child function is bound to 9pnet_virtio.
virtio_pci— kernel driver/module candidate9pnet_virtio— kernel driver/module candidate
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.
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 BDFReplace 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*/driverReplace 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.
Read available 9P mount tags
cat /sys/bus/virtio/drivers/9pnet_virtio/virtio*/mount_tagRead documented transport metadata without sudo. Each value names an offered export; an available tag is not proof of an active mount or accessible files.
Limitations & related issues
The PCI pair does not reveal the host export directory, permission mapping or cache policy. Listing mount tags is read-only; this profile never mounts a share or changes filesystem access.
These guides are linked for relevant observations, not as known defects of every device in this family.
- An ACL mask restricts access despite an explicit grant · First documented next step
- A required fstab mount sends boot into emergency mode · First documented next step
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.
- Linux: drivers/virtio/virtio_pci_common.c
Reviewed upstream source
virtio_pci_id_table[] - Linux: drivers/virtio/virtio_pci_modern_dev.c
Reviewed upstream source
mdev->id.device = pci_dev->device - 0x1040; - Linux: include/uapi/linux/virtio_ids.h
Reviewed upstream source
#define VIRTIO_ID_9P - Linux: net/9p/trans_virtio.c
Reviewed upstream source
{ VIRTIO_ID_9P, - Linux: Documentation/driver-api/virtio/virtio.rst
Project or distribution documentation
Device discovery and probing - Linux: Documentation/filesystems/9p.rst
Project or distribution documentation
Available mount tags can be