Does ICH9M support eSATA Port Multiplier?
I have the following setup:
Notebook (Ubuntu 9.10, 2.6.31-14 amd64) with ICH9M controller in AHCI mode and an external storage box (Sil5744, 2 HDDs) connected via eSATA.
The box supports JBOD and the manufacturer says that a Port Multiplier capable eSATA port is needed to see both HDDs.
I see only one HDD.
Here is part of the dmesg output from startup:
[ 0.725096] ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 4 ports 3 Gbps 0x23 impl SATA mode [ 0.725099] ahci 0000:00:1f.2: flags: 64bit ncq sntf stag pm led clo pio slum part ems
The pmp flag is not present but several sources claim that ICH9 supports Port Multiplier.
Should Port Multiplier be available for ICH9M? Can I enable it somehow maybe by using a module option?
Regards, Peter.
Quoted 12 lines · Peter Klotz
I have the following setup:
Notebook (Ubuntu 9.10, 2.6.31-14 amd64) with ICH9M controller in AHCI mode and an external storage box (Sil5744, 2 HDDs) connected via eSATA.
The box supports JBOD and the manufacturer says that a Port Multiplier capable eSATA port is needed to see both HDDs.
I see only one HDD.
Here is part of the dmesg output from startup:
Quoted 8 lines
[ 0.725096] ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 4 ports 3 Gbps 0x23 impl SATA mode [ 0.725099] ahci 0000:00:1f.2: flags: 64bit ncq sntf stag pm led clo pioslum part ems
The pmp flag is not present but several sources claim that ICH9 supports Port Multiplier.
It seems like it may be variable between specific ICH versions (mobile, RAID, etc.) whether they support PMP or not. Obviously in your case the controller doesn't report PMP support in the AHCI capabilities register.
Quoted 3 lines
Should Port Multiplier be available for ICH9M? Can I enable it somehow maybe by using a module option?
No module parameter for that, you'd have to hack the code in ahci.c to force the option on. No guarantees it's going to work if the controller doesn't report the capability, though.
Quoted 3 lines · Robert Hancock
Quoted 1 line
Can I enable it somehow maybe by using a module option?
No module parameter for that, you'd have to hack the code in
ahci.cto force the option on. No guarantees it's going to work if the controller doesn't report the capability, though.
Could you please give me a hint what to change in ahci.c?
I would like to try and see what happens.
Could such a hack damage the hardware?
Regards, Peter.
Quoted 10 lines · Peter Klotz
Quoted 5 lines · Robert Hancock
Quoted 1 line
Can I enable it somehow maybe by using a module option?
No module parameter for that, you'd have to hack the code in
ahci.cto force the option on. No guarantees it's going to work if the controller doesn't report the capability, though.Could you please give me a hint what to change in
ahci.c?I would like to try and see what happens.
Based on the version in Linus' git, you'd likely want to add to ahci_save_initial_config something like:
cap |= HOST_CAP_PMP;
Quoted 2 lines
Could such a hack damage the hardware?
Not likely. It's not impossible that data loss could result though, better back up important files first..
Quoted 12 lines · Robert Hancock
Quoted 10 lines · Peter Klotz
Quoted 5 lines · Robert Hancock
Quoted 1 line
Can I enable it somehow maybe by using a module option?
No module parameter for that, you'd have to hack the code in
ahci.cto force the option on. No guarantees it's going to work if the controller doesn't report the capability, though.Could you please give me a hint what to change in
ahci.c?I would like to try and see what happens.
Quoted 8 lines
Based on the version in Linus' git, you'd likely want to add to
ahci_save_initial_configsomething like:cap |=
HOST_CAP_PMP;Quoted 2 lines
Could such a hack damage the hardware?
Not likely. It's not impossible that data loss could result though, better back up important files first..
Thanks a lot. I had already prepared the kernel, then I found the Intel datasheet, which states that ICH9 does not support port multipliers.
http://www.intel.com/assets/pdf/datasheet/316972.pdf
Regards, Peter.