HBA isn't interpreting commands correctly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Quick synopsis of the background, I have need to communicate with drives 
which won't get the standard handles: e.g. /dev/sdN.  This is mainly due 
to wiped FW, etc.  I need to be able to issue the ATA Download command.  
In order to accomplish this, I've modified the standard ahci driver to 
allow me access to AHCI ports with an Upper Layer driver I've written.  
The idea is to pass ATA commands directly to the lower layer driver 
without marching through the kernel.  I've tested this with a VM using 
and ICH8 AHCI controller and a real system with a Z87 chipset and in 
both cases I can execute the Download command (and Identify or whatever).

However, I've got a Xeon mobo (model x8dtl-i with an Intel ICH10R) 
which, for some reason, doesn't execute the commands correctly. This is 
configured for AHCI mode and not RAID.  I'm following the AHCI spec, 
1.3.1, for propagating command information into the Command Table List 
and Command Header.  As mentioned, this code works both in a VM with and 
ICH8 controller and a Z87 MoBo. However, on this Xeon system something 
isn't being communicated to the HBA correctly.  For example, when I 
issue an Identify to a working drive, the protocol analyzer shows that 
the HBA and the drive move 212 bytes of data.  What would account for 
this? Incidentally, using hdparm to execute an Identify on a working 
drive to the sg handle, does work.

Any pointers or ideas are welcome.

Andy��.n��������+%������w��{.n�����{��'^�)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux