[Natty] Marvell 88SE9120 IDE-Port not working
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linux |
Fix Released
|
Medium
|
|||
linux (Ubuntu) |
Fix Released
|
Wishlist
|
Unassigned | ||
Natty |
Fix Released
|
Medium
|
Leann Ogasawara |
Bug Description
== Natty SRU Justification ==
Impact: Enable support for Marvell IDE PATA controllers found on Asus P8P67LE motherboard.
Fix: Upstream commit f920fe1cb74191a
Testcase: Boot kernel without the patch, confirm controller is unsupported. Boot kernel with patch, confirm controller is supported.
==========
Tested with following Kernels:
2.6.38-9.43 - (Mainline)
2.6.38-02063804
2.6.38-8.42
2.6.35-28.50 (maverick)
Daily-Mainline-
The SATA-Ports on the Chip are working fine (tested with HDD), CDROM-Devices (2) on the IDE-Part are not working but recognised in the UEFI-Setup and one can boot from them.
Found some Information here: "http://
ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: linux-image-
ProcVersionSign
Uname: Linux 2.6.38-9-generic x86_64
NonfreeKernelMo
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.23.
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
CRDA: Error: command ['iw', 'reg', 'get'] failed with exit code 1: nl80211 not found.
Card0.Amixer.info:
Card hw:0 'PCH'/'HDA Intel PCH at 0xfb400000 irq 55'
Mixer name : 'Realtek ALC892'
Components : 'HDA:10ec0892,
Controls : 32
Simple ctrls : 18
Card1.Amixer.info:
Card hw:1 'CNF7166'/'Chicony Electronics Co., Ltd. CNF7166 at usb-0000:
Mixer name : 'USB Mixer'
Components : 'USB04f2:b10a'
Controls : 2
Simple ctrls : 1
CurrentDmesg:
[ 77.409999] vboxdrv: fAsync=0 offMin=0x162 offMax=0xce4
[ 77.410202] vboxdrv: TSC mode is 'synchronous', kernel timer mode is 'normal'.
[ 77.410204] vboxdrv: Successfully loaded version 4.0.6 (interface 0x00180000).
[ 83.875234] eth0: no IPv6 routers present
Date: Wed May 4 20:22:36 2011
HibernationDevice: RESUME=
IwConfig:
lo no wireless extensions.
eth0 no wireless extensions.
vboxnet0 no wireless extensions.
MachineType: System manufacturer System Product Name
ProcEnviron:
LANGUAGE=de_DE:en
LANG=de_DE.UTF-8
SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=
RelatedPackageV
linux-
linux-
linux-firmware 1.52
RfKill:
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 02/11/2011
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 1003
dmi.board.
dmi.board.name: P8P67 LE
dmi.board.vendor: ASUSTeK Computer INC.
dmi.board.version: Rev X.0X
dmi.chassis.
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.
dmi.modalias: dmi:bvnAmerican
dmi.product.name: System Product Name
dmi.product.
dmi.sys.vendor: System manufacturer
Changed in linux (Ubuntu): | |
status: | New → Confirmed |
Changed in linux: | |
importance: | Unknown → Medium |
status: | Unknown → Confirmed |
Changed in linux (Ubuntu): | |
status: | Confirmed → Fix Committed |
tags: |
added: kernel-bug needs-packaging verification-needed removed: amd64 |
Changed in linux: | |
status: | Confirmed → Fix Released |
tags: |
added: patch-accepted-upstream removed: apport-bug natty needs-packaging verification-needed |
description: | updated |
Changed in linux (Ubuntu Natty): | |
status: | In Progress → Fix Committed |
I have the same problem on my Gentoo system, using kernel 2.6.37. For searching reference, this is an Asus P8P67-LE motherboard, with a Marvell 88SE9120 SATA 6 Gb/s + PATA controller. I've researched this by looking at the driver sources and the Linux kernel changelogs.
The problem here is that the 88SE9120 is being (correctly) driven by the AHCI driver, which unfortunately doesn't know how to access the PATA port on the device. You can verify that the ahci driver is being used by looking at the output of lspci -k, or at the lspci.txt file which has been attached to this bug.
There is a pata_marvell driver, which can handle both the SATA and PATA ports (I'm not sure but it may drive the SATA ports in slightly slower legacy IDE mode). The ahci driver is designed to back down to the pata_marvell driver if it detects a Marvell controller -- see this commit: http:// git.kernel. org/?p= linux/kernel/ git/stable/ linux-2. 6.38.y. git;a=commit; h=5b66c829bf5c6 5663b2f68ee6b42 f6e834cd39cd
The problem is two fold: ID_MARVELL is defined to). The 88SE9120 identifies itself with vendor ID 0x1b4b (again, as can be seen in the attached lspci.txt). Therefore, the ahci driver does not know it is a Marvell controller and doesn't yield control to the pata_marvell driver.
1. First, the ahci driver is detecting the Marvell controller using the old vendor ID of 0x11ab (which is what PCI_VENDOR_
2. The pata_marvell driver itself is only meant to handle the 88SE61xx chipsets. Even then there are some features which only work in specific models; the driver seems to be somewhat incomplete. I'm not sure whether it will correctly drive other controllers. I can try patching the driver on my system to recognize the 88SE9120 and see if it will work correctly...
The fix here would be to either teach the ahci driver to drive the PATA port, or to teach it to back off the controller altogether and let the pata_marvell do the work (make it look for the new 0x1b4b vendor ID as well). As for pata_marvell, it needs to be tested. It may be necessary to patch it so that it recognizes the 88SE9120 controller as its own, and it may need some teaching to handle it correctly (haven't tested yet).
I suggest the Ubuntu kernel team could contact the Linux kernel folks to get their take on this...