viaideinfo is a command-line application for Linux which displays various information and statistics about VIA IDE controller hardware installed in the system.
This information is already available through /proc/ide/via if the via82cxxx driver is active. However, this proc file may be removed in future to reduce complexity of the kernel driver.
----------VIA BusMastering IDE Configuration---------------- viaideinfo Version: 0.2 South Bridge: VIA vt8233a Rev 0x0 (PCI 00:11.0) IDE Controller: Rev 0x6 (PCI 00:11.1) Highest DMA rate: UDMA133 BM-DMA base: 0xd800 PCI clock: 33.3MHz Master Read Cycle IRDY: 0ws Master Write Cycle IRDY: 0ws BM IDE Status Register Read Retry: yes Max DRDY Pulse Width: No limit -----------------------Primary IDE-------Secondary IDE------ Read DMA FIFO flush: yes yes End Sector FIFO flush: no no Prefetch Buffer: yes yes Post Write Buffer: yes yes Enabled: yes yes Simplex only: no no Cable Type: 80w 80w -------------------drive0----drive1----drive2----drive3----- Transfer Mode: UDMA PIO UDMA PIO Address Setup: 120ns 120ns 120ns 120ns Cmd Active: 90ns 90ns 90ns 90ns Cmd Recovery: 30ns 30ns 30ns 30ns Data Active: 90ns 90ns 90ns 330ns Data Recovery: 30ns 30ns 30ns 270ns Cycle Time: 22ns 120ns 60ns 600ns Transfer Rate: 88.8MB/s 16.6MB/s 33.3MB/s 3.3MB/s
From the README:
This command-line application identifies VIA IDE controllers installed in the computer, and displays various information/statistics regarding these. viaideinfo depends on libpci from the pciutils package. viaideinfo does not depend on the via82cxxx kernel IDE driver, and will work regardless of whether it is present or not. The following devices are supported: vt82c576, vt82c586, vt82c586a, vt82c586b, vt82c596a, vt82c596b, vt82c686, vt82c686a, vt82c686b, vt8231, vt8233, vt8233c, vt8233a, vt8235, vt8237, vt8237a, vt8251, vt6410, vt8237s, cx700 For basic usage info, run "viaideinfo --help". For even more detail, read the man page (and the rest of this document!) All this information used to be available through /proc/ide/via - however this file was removed in Linux 2.6.15 to reduce complexity of the IDE driver. As viaideinfo performs some basic port I/O, it must be run as root. viaideinfo always displays information about the first VIA IDE controller it finds, but on the rare event that you have more than one, you can use the "-d" argument to specify another device to query. Note that the "-d" argument will not do any sanity checking (other than existance of the specified device) - and you _will_ get strange results printed on-screen if you choose to feed it the address of something that is not a VIA IDE controller! This program relies heavily upon identifying a VIA ISA Bridge *as well as* an IDE controller. If your ISA bridge is not recognised by this program, then you'll have to drop me an email with your `lspci -vvv` output so that I can add support for it. On the other hand, if your ISA bridge is identified, but your IDE controller is not, then you are not completely out of luck. You can use the '-d' argument as specified above, to select a specific PCI devices such as "00:11.1" (see the first column of your `lspci` output). If this is the case, please email me anyway so that automatic support can be added. In order to calculate timing data outputted by this application, an IDE bus speed of 33MHz is assumed. This is the same as what the kernel does. However, while this is accurate for the majority of setups, it is not always correct. Some motherboards overclock the bus to 37.5MHz. If you've somehow managed to fit a 486 chip into your AMD-based VIA board, then you might even have a bus speed of 25MHz. You can modify the speed used for calculations with the '-c' argument (e.g. '-c 37').
viaideinfo is available under the GNU GPL Version 2.
Maintenance takes place in a git repository.
Daniel Drake <firstname.lastname@example.org>
viaideinfo was based on code found in the Linux kernel.