LinuxQuestions.org
Support LQ: Use code LQ3 and save $3 on Domain Registration
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices

Reply
 
Search this Thread
Old 01-20-2010, 10:10 AM   #1
ssenuta
Member
 
Registered: Mar 2006
Location: NYS
Distribution: Mandriva-2006
Posts: 116

Rep: Reputation: 16
Help getting kernel to use the AHCI SATA driver


How can I force my kernel to use the ahci driver when both the ahci
& sata_nv are built into the kernel.?

My MSI board bios doesn't have an option for "AHCI MODE". The only
sata option that it has is "called "On Chip Sata" & is located under
"Integrated Peripherals. Also, the only values available for
"On Chip Sata" are enabled or disabled. If I choose the disabled
option, the sata drives arn't found & bootup fails.

I tried to tell the kernel to use the ahci driver by appending kernel
options to my Grub2 bootloader but they all failed.

(eg.) ahci, scsi=ahci, ata=ahci, ahci.=0 sd=ahci
sata_nv=no, sata_nv=0, sata_nv=none

The only thing I can think of that is left to do is to re-build my
kernel with CONFIG_SATA_NV as a loadable module & CONFIG_AHCI as
a build-in driver. With only the ahci driver available at boot, the
kernel will have to use it or fail to boot.

One more thing I want to say is that my other computer with the ASUS
motherboard uses the ahci driver & I have both the sata_via & the ahci
drivers built into the kernel. However, it has a bios option for
AHCI MODE.

(eg.) Southbridge VT8251
Serial ATA IDE Controller <AHCI>
 
Old 01-20-2010, 10:28 AM   #2
cladisch
Member
 
Registered: Oct 2008
Location: Earth
Distribution: Slackware
Posts: 227

Rep: Reputation: 54
Please show the output of "lspci" and "lspci -n".
 
Old 01-20-2010, 10:30 AM   #3
H_TeXMeX_H
Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269
Well for sure you should not have both built-in. You should only need one of those drivers to only include the one that works. If your BIOS has no option for AHCI for the SATA controller then it probably doesn't support it, so you would use only the sata_nv driver.

You could also make both modules and use an initrd if you wanted.

You can also look at the output of 'lspci -vv' for which driver it is using right now.

Last edited by H_TeXMeX_H; 01-20-2010 at 10:31 AM.
 
Old 01-20-2010, 10:12 PM   #4
ssenuta
Member
 
Registered: Mar 2006
Location: NYS
Distribution: Mandriva-2006
Posts: 116

Original Poster
Rep: Reputation: 16
My MSI system is definately using the sata_nv module. I confirmed this via the "dmesg" log but here is the output of the "lspci" command you suggested anyways:

lspci -vv
00:08.0 IDE interface: nVidia Corporation MCP61 SATA Controller (rev a2) (prog-if 85 [Master SecO PriO])
Subsystem: Micro-Star International Co., Ltd. Device 7309
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin A routed to IRQ 23
Region 0: I/O ports at e480 [size=8]
Region 1: I/O ports at e400 [size=4]
Region 2: I/O ports at e080 [size=8]
Region 3: I/O ports at e000 [size=4]
Region 4: I/O ports at dc00 [size=16]
Region 5: Memory at dfff9000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [b0] MSI: Mask- 64bit+ Count=1/4 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [cc] HyperTransport: MSI Mapping Enable- Fixed+
Kernel driver in use: sata_nv

I never knew the lspci command showed the driver being used. Thanks for the tip.

You also suggested booting via an initrd but I don't think that would work. The initrd wouldn't be found if it were on the sata drive. I'd have to boot the initrd off of some other drive the system recognizes & then have it load the sata drive rootfs.???

I was kinda hoping someone knew a Kernel boot option to force the builtin ahci driver to load & bind to my sata drive before the builtin sata_nv driver takes control.

Thanks for your responses. I'll keep hoping fon an easy command-line solution, but when I compile my next kernel, you can be sure I'll only compile the ahci sata driver as my builtin.
 
Old 01-21-2010, 01:09 AM   #5
cladisch
Member
 
Registered: Oct 2008
Location: Earth
Distribution: Slackware
Posts: 227

Rep: Reputation: 54
Quote:
lspci -vv
00:08.0 IDE interface: nVidia Corporation MCP61 SATA Controller (rev a2) (prog-if 85 [Master SecO PriO])
This is not an AHCI device.
If you use a kernel that has only the AHCI driver, it will not boot.

The MCP61 is nForce 430, isn't it? This chip does not support AHCI.
 
Old 01-21-2010, 07:34 AM   #6
H_TeXMeX_H
Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269
I agree with cladisch, you cannot use the ahci driver because the chipset does not support AHCI.
 
Old 01-21-2010, 11:22 AM   #7
ssenuta
Member
 
Registered: Mar 2006
Location: NYS
Distribution: Mandriva-2006
Posts: 116

Original Poster
Rep: Reputation: 16
I guess you guys are telling me that I have an older Nvidia chipset that was marketed before Nvidia started supporting the AHCI standard.That would explain why the Kernel keeps a seperate driver for it. It works fine with the sata_nv driver so that is ok ..But how did you find that out? Is their a list somewhere? Whenever I try to find out stuff like that I end up blindly searching the web. Sort of like a guy that looks for a word definition in the dictionary but doesn't know about alphabetical order.

Here is the info I have on my MSI board:
Mother Board MSI K9N6SGM-V
North Bridge Nvidia GEForce 6100
South Bridge Nvidia NForce 405

Note: The North & South Bridge chips are combined in a single combo chip
AKA: MCP/SPP chips

Thank you
 
Old 01-21-2010, 01:41 PM   #8
H_TeXMeX_H
Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269
It should be listed in the manual, but if it's not and if there is no option for AHCI in the BIOS then it probably doesn't support it.
 
Old 01-22-2010, 05:19 AM   #9
cladisch
Member
 
Registered: Oct 2008
Location: Earth
Distribution: Slackware
Posts: 227

Rep: Reputation: 54
Quote:
Originally Posted by ssenuta
how did you find that out?
You didn't show the output of "lspci -n", but according to pci.ids, the name "MCP61 SATA Controller" can be device ID 03e7, 03f6 or 03f7.
The file include/linux/pci_ids.h defines the symbols PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA(2/3) for these.
The file drivers/ata/sata_nv.c contains these IDs, the file drivers/ata/ahci.c does not.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Intel ICH8M SATA AHCI Controller kidzmom3 Linux - Hardware 3 01-26-2008 10:12 AM
Unable to boot from an AHCI enabled SATA disk nomind Linux - Hardware 2 07-08-2007 08:12 PM
Sata Ahci Nikosis Fedora 1 06-23-2007 02:45 PM
SATA AHCI problem with i925x (ICH6) on Kernel 2.6.10 Sironius Linux - Hardware 8 04-12-2005 05:40 PM
SATA AHCI problem under 2.4.29 and Intel915G banga Linux - Hardware 3 03-15-2005 04:33 AM


All times are GMT -5. The time now is 08:18 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration