What is this PCI Class/Subclass/Interface?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
~
Member
Member
Posts: 1228
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

What is this PCI Class/Subclass/Interface?

Post by ~ »

I have a machine with an integrated mass storage controller that can work in AHCI, IDE and also in RAID mode (and their Class/Subclass/Interface values change accordingly).

I get this data from the PCI DWORD read:

Class: 1
Subclass: 6
Interface: 1

But in the wiki and in the PCI document I have there is only this:

Serial ATA Direct Port Access (DPA)
Class: 1
Subclass: 6
Interface: 0


So, where, among the specifications, can the definition of this kind of device be found, would it be safe to assume it is just a SATA AHCI mass storage device?

Also, what is the difference between SATA DPA and SATA AHCI, for even having different interface identifications?
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: What is this PCI Class/Subclass/Interface?

Post by Combuster »

In many cases an interface of 0 is generally a device-native mode, whereas a nonzero value is a predefined interface. In this case 01:06:01 means an AHCI compliant device, and 01:06:00 is an unspecified SATA controller.

For reference: http://pci-ids.ucw.cz/read/PD/01/06
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Re: What is this PCI Class/Subclass/Interface?

Post by Brynet-Inc »

SATA controllers in "RAID" mode can technically be treated as AHCI/ATA, in some cases, but unless you can interpret the vendors RAID metadata on the disk.. it's probably best to ignore it and tell the user to go into their BIOS and change the setting.
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: What is this PCI Class/Subclass/Interface?

Post by Combuster »

Brynet-Inc wrote:It's probably best to ignore it and tell the user to go into their BIOS and change the setting.
So the user must change it before he can use the other OS installed? I have been dualbooting Windows (sata broken)/Linux ( ata broken) for a while in that way. Its horrible.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Post Reply