\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{dim. mars 23 11:13:38 CET 2014}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={lspci},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Utilitaire pour afficher des informations sur les bus PCI dans le système et les périphériques connectés},
CreationDate={D:20140323111338},
ModDate={D:20140323111338},
Keywords={Linux}
}}
\begin{document}
 
\begin{center}
{\Huge lspci }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Utilitaire pour afficher des informations sur les bus PCI dans le système et les périphériques connectés}
 
\vspace{10mm}
 
\hspace{1mm}  Par défaut, il affiche une liste brève des périphériques.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Options d'affichage basic }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -m]{Dump les données de périphériques dans une forme compatible}
\item[\hspace{1mm} -mm]{Dump les données de périphériques dans une forme plus facile à parser par un script}
\item[\hspace{1mm} -t]{Affiche un diagramme hiérarchique contenant tous les bus, ponts, périphériques et leur connexions entre eux}
\end{description}
 
\vspace{1cm}{\huge Options d'affichage }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -v]{mode verbeux peut être spécifié jusqu'à 3 fois pour augmenter la verbosité (-vvv)}
\item[\hspace{1mm} -k]{Affiche les pilotes du kernel manipulant le périphérique et les modules capable de le manipuler.}
\item[\hspace{1mm} -x]{Affiche un dump hexadécimal de la partie standard de l'espace de configuration ( les 64 ou 128 octets pour les pont CardBus )}
\item[\hspace{1mm} -xxx]{Affiche un dump hexadécimal de tout l'espace de configuration PCI}
\item[\hspace{1mm} -xxxx]{Affiche un dump hexadécimal de l'espace de configuration PCI étendu (4096 octets) disponible sur les bus PCI express et PCI-X 2.0}
\item[\hspace{1mm} -b]{View centrée sur les bus. Affiche les numéros d'IRQ et les adresses tel que vue par les cartes sur le bus PCI.}
\item[\hspace{1mm} -D]{Affiche toujours les numéros de domaine PCI.}
\end{description}
 
\vspace{1cm}{\huge Options de contrôle de résolution d'ID en nom }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -n ]{Affiche les code de vendeur et de périphérique en nombre au lieu de les rechercher dans la liste d'ID}
\item[\hspace{1mm} -nn ]{Affiche les codes de vendeur et de périphérique en nombre et en nom}
\item[\hspace{1mm} -q]{Utilise DNS pour requêter une base d'ID PCI centrale si le périphérique n'est pas trouvé dans le fichier local. Si la recherche DNS réussie, le résultat est mis en cache dans \textasciitilde/.pciids-cache}
\item[\hspace{1mm} -qq]{Idem, mais le cache local est réinitialisé}
\item[\hspace{1mm} -Q]{Requête la base centrale pour toutes les entrées}
\end{description}
 
\vspace{1cm}{\huge Options pour la séléction des périphériques }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -s \texttt{[}\texttt{[}\texttt{[}\texttt{[}<domain>\texttt{]}:\texttt{]}<bus>\texttt{]}:\texttt{]}\texttt{[}<slot>\texttt{]}\texttt{[}.\texttt{[}<func>\texttt{]}\texttt{]}]{Affiche seulement les périphériques dans le domaine spécifié. Les domaines sont numérotés de 0 à ffff, les bus de 0 à ff, les slot de 0 à 1f et les fonctions de 0 à 7. Chaque composant peut être omi ou définis à *. Tous les nombres sont héxadécimaux.}
\item[\hspace{1mm} -d \texttt{[}<vendor>\texttt{]}:\texttt{[}<device>\texttt{]}]{Affiche uniquement les périphériques avec l'ID de vendeur et de périphérique spécifié.}
\end{description}
 
\vspace{1cm}{\huge Autres options }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -i <file>]{Utilise le fichier de liste d'ID spécifié au lieu de /usr/share/misc/pci.ids}
\item[\hspace{1mm} -p <file>]{Utilise le fichier spécifié comme table d'ID PCI manipulé par les modudes du kernel au lieu de /lib/modules/kernel\_version/modules.pcimap}
\item[\hspace{1mm} -M]{Invoque le mode de mappage de bus qui effectue un scan de tous les périphériques PCI, incluant ceux qui sont mal configurés. Utile uniquement avec un mode d'accès hardware direct. Le mappeur de bus ne scanne que le domain PCI 0}
\end{description}
 
\vspace{1cm}{\huge Options d'accès PCI }
 
\
 
\hspace{1mm}  PCI utilise la librairie PCI pour communiquer avec les périphériques PCI (voir \textbf{pcilibs(3)}). On peut utiliser les options suivantes pour influencer sont fonctionnement:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -A <method>]{La librairie supporte de nombreuses méthodes pour accéder au hardware PCI. Par défaut, elle utilise la première méthode disponible. \textbf{-A help} pour voir les méthodes disponible.}
\item[\hspace{1mm} -O <param>=<value>]{Le fonctionnement de la librairie est contrôlée par de nombreux paramètres. \textbf{-O help} pour lister les paramètres connus.}
\item[\hspace{1mm} -H1]{Utilise l'accès hardware direct via le mécanisme de configuration Intel 1 (idem \textbf{-A intel-conf1})}
\item[\hspace{1mm} -H2]{Utilise l'accès hardware direct via le mécanisme de configuration Intel 2 (idem \textbf{-A intel-conf2})}
\item[\hspace{1mm} -F <file>]{Au lieu d'accéder au vrai hardware, lis la liste des périphériques et leurs valeurs depuis leurs registre de configuration depuis le fichier spécifié, produit par \textbf{lspci -x}.}
\item[\hspace{1mm} -G]{Augmente le niveau de verbosité de la librairie.}
\end{description}
 
\vspace{1cm}{\huge Affichage }
 
\
 
\hspace{1mm}  Pour traitement la sortie de lspci automatiquement, utiliser les formats machine-readable (\textbf{-m}, \textbf{-vm}, \textbf{-vmm}). Tous les autres formats peuvent changer d'un version à une autre. Tous les nombres sont en hexadécimal.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Format simple }
 
\
 
\hspace{1mm}  Dans le format simple (-m), chaque périphérique est décris sur une seule ligne, qui est formatté comme paramètres utilisable par un script. Certains arguments sont positionnels: slot, class, vendor name, device name, subsystem vendor et subsystem name. Le reste des arguments sont:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} -rrev]{numéro de révision}
\item[\hspace{6mm} -pprogif]{interface de programmation}
\end{description}
 
\hspace{1mm}  L'ordre relatif des arguments positionnels et options est indéfinis.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Format verbeux }
 
\
 
\hspace{1mm}  le format verbeux (-vmm) est une séquence d'enregistrements séparés par des lignes blanches. Chaque enregistrement décris un périphérique par une séquence de lignes, chaque ligne contenant un paire \textbf{tag: value} Les tags sont sensibles à la casse. Les tags suivants sont définis:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} Slot]{Le nom du slot où le périphérique réside ([domain:]bus:device.function). C'est toujours le premier enregistrement}
\item[\hspace{6mm} Class]{Nom de la classe}
\item[\hspace{6mm} Vendor]{Nom du vendeur}
\item[\hspace{6mm} Device]{Mon du périphérique}
\item[\hspace{6mm} SVendor]{Nom du vendeur du sous-système}
\item[\hspace{6mm} SDevice]{Mon du sous-système}
\item[\hspace{6mm} PhySlot]{Le slot physique où réside le périphérique}
\item[\hspace{6mm} Rev]{Numéro de révision}
\item[\hspace{6mm} ProgIf]{Interface de programmation}
\item[\hspace{6mm} Driver]{Pilote actuellement utilisé}
\item[\hspace{6mm} Module]{Modules kernel capables de gérér ce périphérique}
\end{description}
 
\vspace{1cm}{\huge Format verbeux compatible }
 
\
 
\hspace{1mm}  (-vm) Dans ce mode, lspci tente d'être compatible avec ses anciennes versions.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Fichiers }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} /usr/share/misc/pci.ids]{Liste d'ID PCI connus, maintenus à http://pciids.sourceforge.net/. utiliser update-pciids pour le metter à jours}
\item[\hspace{1mm} /usr/share/misc/pci.ids.gz]{Si compilé avec le support de la compression, ce fichier est tenté avant pci.ids}
\item[\hspace{1mm} \textasciitilde/.pciids-cache]{Tous les ID trouvés via les requêtes DNS.}
\end{description}
\end{flushleft}
\end{document}
