Neste artigo, explicaremos o básico do PCI, PCIE e do comando lspci para exibir informações em seu sistema.
O que é PCI?
A interconexão de componente PCI ou periférico é uma interface para adicionar componentes de hardware adicionais a um sistema de computador. PCIE ou PCI Express é o padrão atualizado que é usado hoje. Por exemplo, digamos que você queira adicionar um cartão Ethernet ao seu computador para que ele possa acessar a Internet e trocar dados. Bem, o cartão precisa de um protocolo para se comunicar com o restante do sistema interno, o PCI pode ser a interface padrão usada para adicionar este cartão ao seu sistema. Você ainda precisa de um driver para este cartão para que o kernel o use, no entanto, o PCI é o slot e o barramento e a interface que serão usados para adicionar o hardware ao sistema com uma interface padrão. A criação de um driver PCI Linux seguirá algumas interfaces padrão, você pode ver a documentação para criar um driver PCI Linux aqui. Você pode ver na estrutura abaixo dos métodos padrão que devem ser implementados. Métodos como sonda, remover, suspender, retomar, etc.
estrutura pci_driverVelas e usos da PCI
PCI 3.0 pode executar dados de até 1 GB/s por pista. Diferentes dispositivos podem ter mais de uma pista, por isso é possível que dispositivos individuais possam ter multi-gigabytes de taxa de transferência de dados. Esses números estão sempre melhorando à medida que as novas versões da especificação são lançadas e o novo hardware é lançado; portanto, verifique sempre o mais recente e o mais rápido que você pode encontrar. Os tipos de componentes e gadgets que você pode comprá -los conectados a uma interface PCI incluem: adaptadores Wi -Fi, Bluetooth, NVME Solid State Storage Cards, placas gráficas e muito mais.
Explorando o comando lspci
Eu criei um Ubuntu 19.04 instância no Google Cloud e agora executará o LSPCI comando e veja o que acontece.
O que você vê é uma linha por dispositivo com um código numérico e uma descrição verbal do dispositivo. Na verdade, existem 5 campos exibidos nesta saída por linha: slot, classe, fornecedor, dispositivo e revisão.
Então, quebrando a primeira linha o que temos:
Slot: 00:00.0
Aula: Ponte host
Fornecedor: Intel Corporation
Dispositivo: 440FX - 82441FX PMC
Revisão: 02
E olhando para o slot 00:04.0 Esse é o nosso controlador Ethernet, que parece ser um dispositivo virtual como parte da magia virtual da implantação em nuvem do Google.
Para obter informações mais detalhadas e detalhadas sobre cada slot do PCI, execute o seguinte comando:
# lspci -vmm
Este comando dividirá cada linha em seus campos de componentes e permitirá que você analise cada dispositivo com etiquetas mais descritivas.
Você também pode experimentar a opção -v para obter mais saída detalhada
# lspci -v
E use Double V ou Tripple V para VERBY SAÍDABABOSA:
# lspci -vvv
Ou tente a opção -mm Formato de saída legível por script.
# lspci --mm
Para ver qual driver de kernel está sendo usado para cada opção de execução do dispositivo -k.
Muitos dos meus dispositivos estão usando o driver virtio-pci.
Por fim, você pode até ver um depósito hexadecimal de "a parte padrão do espaço de configuração" para cada dispositivo PCI. Você deve ser um hacker de kernel real para descobrir como usar essas informações. -X opção é o que lhe dá a saída de despejo.
# lspci -x
Conclusão
O comando lspci é um comando linux padrão que pode ser usado para listar informações sobre os dispositivos conectados do PCI em seu sistema. Isso pode ser útil para saber quais periféricos de hardware você tem. Também é super útil para desenvolvedores, criadores de driver de dispositivos, pessoas de baixo nível para consultar informações sobre os dispositivos, os drivers e o sistema. Aproveite o uso do LSPCI.