Deployment Solution

 View Only

Linux AHCI Driver for Dell Optiplex 760 and HP dc7900 

Feb 03, 2009 03:40 PM

If you rely on Linux for imaging, you probably have been swearing a lot since HP released their dc7900 and Dell released the Optiplex 760.

These models use the Intel's latest ICH10 SATA controller which is not supported in Linux Automation.

With the help of Alan Cox at Linux.org and Joe Doupnik at Oxford University I've patched the loadable kernel module ahci.ko which is used to communicate with this class of controllers.

To add this module, open up Bootdisk creator and add this as a driver into your Linux environment. It's that simple!

Note: My driver modifications only supports the AHCI mode of these controllers. I've seen on the Deployment Solution Forums that Linux automation natively supports these controllers in RAID mode, but as yet there is no support for these controllers in IDE compatability mode. I hope an update to the ata_piix.ko module will be forthcoming shortly to resolve this.

Troubleshooting

If you've added the new driver into your Linux environment and you still can't image, the first thing to do is confirm your controller is configured in the BIOS to AHCI mode.

Next, assign your new Dell (or HP) a Linux Wait task in the Deployment Console. When your system next PXE boots into Linux you'll now have time to rummage. The next thing to check is the device ID for your SATA controller on your pci bus. Type,

lspci

You should see in there your SATA controller as,

00:1f:2 SATA Controller: Intel Corporation: Unknown Device 3a02 (rev 02)

If that's all OK, then its time to check the driver. First, check that it's loaded by typing,

lsmod

If all is well, you should see the loadable kernel modules ahci and libata loaded (libdata.ko is required by ahci.ko). If not, its time to take a look at the module itself. Your module should be in the following path,

/lib/modules/2.6.18.8/kernel/opt/bdc

In this folder you should only see the drivers you've added through bootdisk creator. For most of us, this will be the Intel Gigabit driver e1000e.ko in addition now to our new ahci.ko. If the ahci.ko module is missing, try rebuilding the Linux environment. In this folder type,

modinfo ./ahci.ko | grep "3a02"

This should produce a single line output showing an alias line for this device ID.

If you type,

modinfo ./ahci.ko

You should see that it's version 2.01 of the ahci code (to relect its a modification of the original 2.00 code). If all this checks out and you still can't image let me know.

Kind Regards,
Ian./

Statistics
0 Favorited
1 Views
3 Files
0 Shares
0 Downloads
Attachment(s)
jpg file
11361.jpg   3 KB   1 version
Uploaded - Feb 25, 2020
zip file
ahci.zip   7 KB   1 version
Uploaded - Feb 25, 2020
txt file
ahci-2.6.18.8.txt   41 KB   1 version
Uploaded - Feb 25, 2020

Tags and Keywords

Comments

Jun 22, 2009 06:15 AM

Hi Chi-user,

I've added the source to the article as requested. Good Luck!

Kind Regards,
Ian./ 

Jun 21, 2009 05:07 PM

Where can I find the source files for this?

Jun 21, 2009 12:23 AM

Can you provide me with the source code for this? I'd like to compile it for x64.

Jun 20, 2009 07:37 PM

I'm still thinking of doing this. Can you point me in the right direction? How do you go from a working 2.6.27.7 system to a rootfs file? I guess I can use whatever fs I want for this system as long as I have drivers compiled into the kernel, right?

Apr 30, 2009 04:30 AM

 Hi,

This whole linux ATA/AHCI driver business is very confusing, so let me clarify.

The ata_piix kernel module provides very different type of driver support to the ahci kernel module. If your Intel ICH controller is configured through the BIOS in the PATA/Legacy/IDE mode, then the ata_piix module is the baby for you.

If however you have put your disk controller into AHCI mode, then the ahci.ko module will do the trick. By definition, only one module is ever loaded at anyone time as your BIOS cannot put your disk contoller into multiple modes simultaneously.

I think therefore that either your BIOS has the disk controller configured in a legacy mode, or your ahci.ko kernel module didn't take the first time around when you created the image.

You can always verify what modules Linux is loading by using the lsmod command. Using a Linux wait task will give you the time to rummage and play around in automation.

I've got a couple of other tips on fudging drivers, and on the ata_piix kernel module if you interested in more background reading. Will add the links to this post later, as i'm on a low-bandwidth connection right now.

Kind Regards,
Ian./

Apr 29, 2009 03:46 PM

Just updating the ahci.ko driver did not work for me. I also had to grab the ata_piix.ko driver from support.altiris.com/support/NIC_drivers/Linux/Altiris_verified/DS%206.9%20SP1%20&%20SP2%20%282.6.18.8%29/x86/ to get it to work.

Apr 24, 2009 03:02 PM

 I've been bombarded with notifications of late, so i've been filtering them off to review at a later point!

Sinistradian -is this still a problem for you? Did you drop a linux "wait" task on the computer to follow through the troubleshooting steps above?

Kind Regards,
Ian./

Apr 15, 2009 05:04 PM

I have attempted your fix and I seem to still have issues. In fact, after trying your first step, I have a larger issue lol. I downloaded and added AHCI.KO to the list, selected it as my NIC option when creating a new image. I then attempted to upload the prepared image on the Dell Optiplex 760 and it failed, same result as before I added the driver. Now when I try to boot to Windows, it can no longer see the HD.
Help lol!!!

Feb 09, 2009 11:28 AM

Sorry guys - the download in question was still in the content queue. It's published now and the link will work.
Ohzone

Feb 04, 2009 02:15 PM

Linux is indeed still alive for the future release of Deployment Solution. Also Linux should be added to fusion in the future. I know current betas only have WINPE right now.

Feb 04, 2009 11:41 AM

Hi TheDude05,
If it has an ICH10 controller with device IDs 3a02,3a05 or 3a25 you should be fine.
Hearing last year that DOS was de-emphasised was dissapointing, and forced our hand a bit on moving on to WinPE and Linux (we still use DOS though for scripted XP installs to ensure a clean build).
I dearly hope Linux doesn't go the same way -that would spell doom for the future of Linux support as a production OS too.
And Linux *is* a damn good environment for PXE -which makes is beautiful for HII deployment. I can't tell you how frustrated I felt watching 30 machines PXE download WinPE2.1 for deployment. It takes longer than the imaging itself!

Feb 04, 2009 11:20 AM

I can't confirm but I'm assuming this driver will also work for Optiplex 960s. We had similar issues and I just ended up compiling a newer kernel for our images. (2.6.27.7)
I'm starting to get the impression that Linux imaging is being phased out. :(

Feb 04, 2009 08:37 AM

I've reattached the zip file to the post. If there are still problems, you can go now direct to KB 45286 and get the module from there. Note though that the module downloadable from this KB however reads version 2.0 with modinfo.
https://kb.altiris.com/display/1n/kb/article.asp?aid=45286
On the WinPE front -driver wise WinPE is fairly straightforward. Download both the NIC & AHCI drivers from the HP site and add them through the GUI for nic drivers in BootDisk Creator.
If you are using WinPE2.1 though just make sure you are downloading the Vista drivers.
Kind Regards,
Ian./

Feb 04, 2009 06:42 AM

I also can't reach the link. But then as the Yellowizing of this site had locked me out of Juice as well as the support site anyway this is no surprise.
We're not penguinheads here and I do not know how to use the Linux command line tools to map drives or image PCs
Hasn't anyone managed to fix the WinPE version of this yet?

Feb 04, 2009 05:24 AM

I've been looking for this for some time, and was happy to find this today.
Sadly, I also get an access denied when I try to download it.

Feb 04, 2009 04:13 AM

Hi Viddect,
For some reason I am getting an authorisation failure on your link so I can't read it. Using juice search is also doing this... grrr....
Anyway apologies for this cross-over -I didn't realise anyone else had already posted this to Juice. I would *never* had posted had I realised -i'm not in this for the points.
Just so you know i'm not plagiarising your work, I only patched ahci.c when after contacting Altiris about this I was told the only solution was to use WinPE. As our HII is dependent on Linux, I decided to patch the driver myself and subsequently pushed it to the forums. I then passed the module up Altiris Support on the 27th Jan. The situation then still appeared to be that no-one had added support for the ICH9 & ICH10 controllers.
I then wrote this Juice article, and its taken a little while to get published. Altiris now have this module in KB45286 -but they focused it on a resolution for the dc7900 where it really a solution for any ACHI hardware with the ICH10 chipset.
Have you got an article in the mix for the ATA module too? Don't want to duplicate another article again -its all a bit embarrassing.
Kind Regards,
Ian./

Feb 03, 2009 07:23 PM

I compiled the new achi.ko that works on the HP dc7900 models
https://www-secure.symantec.com/community/download/11431/hp-dc7900-achi-driver-linux-automation

Related Entries and Links

No Related Resource entered.