Overclock.net banner

lspci produces no output

13K views 6 replies 4 participants last post by  Ulquiorra  
#1 ·
Hi all,

Interesting issue on one of my servers, lspci produces no output (literally nothing), even with -vvvv

There is nothing wrong with the server itself, the network card works as do all other pci devices, but I would expect to see some output.

It's a VM but that shouldn't matter, there should still be something listed there (be it emulated hardware or that of the underlying host [VT-d])

Details:

OS: Ubuntu Server 12.04.4
Kernel: 3.13.6
Platform: 64 bit virtual machine (with xentools installed) on a Xen 6 host.

procfs supported in kernel yes
pciutils installed yes

Looked around on the internet, not much info, and what little there is... Very stale.

Any help appreciated.
 
#3 ·
I have a Ubuntu 12.04 VM running on Xen and lspci does not produce any output. On Hyper-V it does for some things, so Xen does things a little bit differently (well, with Linux VMs anyway: on Xen they can be fully paravirtualized) - but it all comes down to whether devices are emulated or paravirtualized.

For example, neither Hyper-V nor Xen display network interfaces in lspci output. Hyper-V will display it as a PCI device if you use a legacy network adapter, but paravirtualized devices are not shown by lspci in either Xen or Hyper-V. On a Linux VM running on Xen in full paravirtualization mode, you get nothing because not a single device is emulated (aside from any devices you've passed through).

Now the reason that lspci shows nothing for paravirtualized devices like network controllers in Xen and Hyper-V is because they do not use the PCI bus to communicate as would a virtual emulated or physical NIC would on a physical machine.

In Hyper-V for example, the paravirtualized devices know they are being virtualized and communicate over what is called the VMBus, which is a virtual bus similar to what the physical PCI bus does, but instead of being an emulated hardware device where instructions need to be replicated, and cycles wasted up in user space, its all done in software and the VMBus is a bunch of memory buffers (put simply) that all runs in kernel space (both in guest and host). I would only imagine Xen would work similar.
 
#6 ·
In that case, glade to see you are paying attention. My first steps in remote administration essentially following http://www.havetheknowhow.com/ after the penny dropped regarding Virtual systems. Simple install of Ubuntu server 14.04 set up SSH and LTSP and stuff then thought I'd have a go at remote driver install for Nvidia card and then checked the install with lspci -vnn | grep -i VGA -A 12 . One dead terminal, same with any variation of lspci, hence the question. Would have been handy if I had used lspci for an initial scan before loading the drivers, next time. Anyway a degrading LVM RAID Array is becoming unmanageable so a full install and new HDDs beckons with the drivers first on the list. Any thoughts on the use of lspci or are our conditions of use too different??
 
#7 ·
If its a Virtual System you wont "see" anything
smile.gif
, for example the output for my virtulised home firewall

Code:

Code:
[root@localhost ~]# lspci

00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA
The only things in there are the network bridges, and the fake hyperv vga
smile.gif
, unless you have passed the card to the VM you wont see it at all (this is a ballache to get working orrectly though, never sucseesed myself). The reason is lspci gices you information of attached periphals to the PCI Bus, Vms usually have very little attached so usually no output at all.

If its a physical system it may be a bawked install, try
cat /proc/cpuinfo

This will tell you if its detecitng the CPU correctly, if that isnt you best route is a reinstall! Also the open source drivers are quite good nowadays, they wont do 3d, but they will do movie playback
smile.gif
usually installing the divers is more hassle then worth, if you really really want the drivers never installl from source its usualy much easier to get them from a third party such as rpm forge
smile.gif
(sorry i dnt know who maintains the buntu side of things! Im a Redhat RPM guy
smile.gif
) it will make updating them 1000000000X easier!

little side things : if your making a htpc you may want to go with a desktop version o ubuntu / fedora rather than server ^,^ servers more aimed at network services such as NFS,SSH,Email serv and such
smile.gif