Comandos de Inspección Manual para /sys/…/config

1. Inspección visual completa (Hexdump clásico)

Muestra la cabecera PCI de 256 bytes en formato hexadecimal:

hexdump -C -n 256 /sys/bus/pci/devices/<device>/config

2. Inspección mediante lspci

Visualiza el volcado oficial interpretado por la herramienta del sistema:

lspci -s <device> -xxxx

3. Lectura de offsets específicos con dd

Permite extraer bytes en offsets exactos aplicando posicionamiento manual:

  • Vendor ID (2 bytes en offset 0x00):

    dd if=/sys/bus/pci/devices/<device>/config bs=1 skip=0 count=2 status=none | xxd -e
    
  • Command Register (2 bytes en offset 0x04):

    dd if=/sys/bus/pci/devices/<device>/config bs=1 skip=4 count=2 status=none | xxd -p
    
  • Revision ID (1 byte en offset 0x08):

    dd if=/sys/bus/pci/devices/<device>/config bs=1 skip=8 count=1 status=none | xxd -p
    

Traducción a Cadena Hexadecimal (256 bytes)

1. Cadena Hexadecimal Continua (vía xxd)

Muestra los 256 bytes como una única secuencia hexadecimal limpia:

xxd -p -l 256 /sys/bus/pci/devices/0000:02:00.0/config | tr -d '\n'

2. Formato Hexadecimal Byte a Byte (vía hexdump)

Imprime los bytes separados por espacios sin direcciones ni texto ASCII:

hexdump -v -e '1/1 "%02x "' -n 256 /sys/bus/pci/devices/0000:02:00.0/config

Verificación Manual sobre el Volcado en /tmp

Suponiendo que el archivo guardado es /tmp/pci_config.bin:

1. Leer Vendor ID (2 bytes, Offset 0x00)

xxd -p -s 0x00 -l 2 /tmp/pci_config.bin

2. Leer Command Register (2 bytes, Offset 0x04)

xxd -p -s 0x04 -l 2 /tmp/pci_config.bin

3. Leer BAR0 (4 bytes, Offset 0x10)

xxd -p -s 0x10 -l 4 /tmp/pci_config.bin