Weird messaged during booting VM with passed-through hba controller

ieronymous

Well-Known Member
Apr 1, 2019
285
21
58
45
I tried to be as explanative to the title. Possible problem is with the hba adapter (LSI SAS 2008) i am trying to passthrough to a TrueNas Scale VM.

- Checked passthrough requirements in bios (VT-X VT-d)

- set in /etc/kernel/cmdline (I use uefi boot) the extra parameters
root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on pcie_acs_override=downstream,multifunction (had to use those because the iommu group 1 which the hba existed was shared with something else of the motherboard. So this helped to split even more the groups and now hba resides in group 10 alone).

-Verifed IOMMU is enabled with dmesg | grep -e DMAR -e IOMMU

-inspected the IOMMU grouping numbers
for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*}; printf 'IOMMU group %s ' "$n"; lspci -nns "${d##*/}"; done;
There was where I figured out the hba shared group with another pci device and used the option downstream,multifunction

-In pve-blacklist.conf already has by itself blacklist nvidiafb which is irrelevant to the case
I didnt create /etc/modprobe.d/blacklist.conf file in order to blacklist drivers (thought that this is for gpu drivers only. Dont know how to check which drivers the hba is using) So in /etc/modprobe.d/ there is only the file pve-blacklist.conf and no blacklist.conf or vfio.conf o
Also /etc/initramfs-tools/modules is empty and nano /etc/modules as well (from extra options)

Last after VM creation I added from gui ->hardware the pci device by enabling the options Pci-Express All functions and Rom- Bar (maybe that causing the problem??)

Even though the disks upon the hba passed to the VM and created array etc etc... if I start the VM from cli with qm start 100 I get the following (still works though)

Code:
proxyNAS qm[7651]: start VM 100: UPID:proxyNAS:00001DE3:0000632D:618EC03A:qmstart:100:root@pam:
proxyNAS systemd[1]: Started 100.scope.
proxyNAS systemd-udevd[7673]: Using default interface naming scheme 'v247'.
proxyNAS systemd-udevd[7673]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
proxyNAS kernel: device tap100i0 entered promiscuous mode
proxyNAS systemd-udevd[7672]: Using default interface naming scheme 'v247'.
proxyNAS systemd-udevd[7672]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
proxyNAS systemd-udevd[7673]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
proxyNAS systemd-udevd[7691]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
proxyNAS systemd-udevd[7691]: Using default interface naming scheme 'v247'.
proxyNAS kernel: fwbr100i0: port 1(fwln100i0) entered blocking state
proxyNAS kernel: device fwln100i0 entered promiscuous mode
proxyNAS kernel: fwbr100i0: port 1(fwln100i0) entered blocking state
proxyNAS kernel: fwbr100i0: port 1(fwln100i0) entered forwarding state
proxyNAS kernel: vmbr0: port 2(fwpr100p0) entered blocking state
proxyNAS kernel: vmbr0: port 2(fwpr100p0) entered disabled state
proxyNAS kernel: device fwpr100p0 entered promiscuous mode
proxyNAS kernel: device eno1 entered promiscuous mode
proxyNAS kernel: vmbr0: port 2(fwpr100p0) entered blocking state
proxyNAS kernel: vmbr0: port 2(fwpr100p0) entered forwarding state
proxyNAS kernel: fwbr100i0: port 2(tap100i0) entered blocking state
proxyNAS kernel: fwbr100i0: port 2(tap100i0) entered disabled state
proxyNAS kernel: fwbr100i0: port 2(tap100i0) entered blocking state
proxyNAS kernel: fwbr100i0: port 2(tap100i0) entered forwarding state
proxyNAS qm[7650]: <root@pam> end task UPID:proxyNAS:00001DE3:0000632D:618EC03A:qmstart:100:root@pam: OK
proxyNAS QEMU[7664]: kvm: vfio-pci: Cannot read device rom at 0000:01:00.0
proxyNAS QEMU[7664]: Device option ROM contents are probably invalid (check dmesg). proxyNAS QEMU[7664]: Skip option ROM probe with rombar=0, or load from file with romfile=
proxyNAS kernel: vfio-pci 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff

extra message displayed only from within proxmox shell by attaching a monitor to the server
vfio-pci 0000:01:00.0: Invalid PCI ROM header signature: expexting 0xaa55, got 0xffff

My questions are
1.a simple pci device pass through needs more steps like a gpu?
2.what does it mean ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable. ????
3.why is that transition happening so many times
kernel: fwbr100i0: port 1(fwln100i0) entered blocking state
kernel: fwbr100i0: port 1(fwln100i0) entered forwarding state ???
4.Main problem I suppose
QEMU[7664]: kvm: vfio-pci: Cannot read device rom at 0000:01:00.0
QEMU[7664]: Device option ROM contents are probably invalid (check dmesg). proxyNAS QEMU[7664]: Skip option ROM probe with rombar=0, or load from file with romfile=
kernel: vfio-pci 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
extra message vfio-pci 0000:01:00.0: Invalid PCI ROM header signature: expexting 0xaa55, got 0xffff

5.Any other weird messages you see?

Sorry for the long post

New Edit
After a while in syslog I get this
Code:
smartd[1804]: Device: /dev/sda [SAT], removed ATA device: No such device
smartd[1804]: Device: /dev/sdb [SAT], removed ATA device: No such device
smartd[1804]: Device: /dev/sdc [SAT], removed ATA device: No such device
smartd[1804]: Device: /dev/sdd [SAT], removed ATA device: No such device
smartd[1804]: Device: /dev/sde [SAT], removed ATA device: No such device
smartd[1804]: Device: /dev/sdf [SAT], removed ATA device: No such device

All the above disks are the ones passed through to the VM


ps Asrock H370ac/itx mobo / 32gb ram /zfs mirror for OS / cpu 8700 genuine engineering sample
 
Last edited:
After unchecking from gui inside the VMs options the Rom-Bar option of the hba pci device, during qm start I didn t have the message
vfio-pci 0000:01:00.0: Invalid PCI ROM header signature: expexting 0xaa55, got 0xffff

Also no
QEMU[7664]: kvm: vfio-pci: Cannot read device rom at 0000:01:00.0
QEMU[7664]: Device option ROM contents are probably invalid (check dmesg). proxyNAS QEMU[7664]: Skip option ROM probe with rombar=0, or load from file with romfile=
kernel: vfio-pci 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
messages.

Finally the disks messages never showed up in the syslog up until now
smartd[1804]: Device: /dev/sda [SAT], removed ATA device: No such device
smartd[1804]: Device: /dev/sdb [SAT], removed ATA device: No such device
smartd[1804]: Device: /dev/sdc [SAT], removed ATA device: No such device
smartd[1804]: Device: /dev/sdd [SAT], removed ATA device: No such device
smartd[1804]: Device: /dev/sde [SAT], removed ATA device: No such device
smartd[1804]: Device: /dev/sdf [SAT], removed ATA device: No such device

Still wondering what are the appropriate steps to pass through a non gpu pci device.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!