Bug 205131

Summary: FC5 does not support DMA for the optical drive in a Dell Inspiron 6000
Product: [Fedora] Fedora Reporter: Pepijn Schmitz <redhat>
Component: kernelAssignee: Jeff Garzik <jgarzik>
Status: CLOSED NOTABUG QA Contact: Brian Brock <bbrock>
Severity: high Docs Contact:
Priority: medium    
Version: 5CC: davej, jensk.maps, peterm, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard: NeedsRetesting
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-11-27 08:15:04 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 172490    
Attachments:
Description Flags
Output of dmesg
none
Output of lspci
none
dmesg output none

Description Pepijn Schmitz 2006-09-04 14:52:14 UTC
Description of problem:

I have a Dell Inspiron 6000 laptop, which has a CD/DVD writer combo drive. I
recently installed FC5 on it, but it does not enable DMA for the DVD drive, and
does not allow me to enable it using hdparm. When I try, using the command
hdparm -d 1 /dev/hdc, I get the following error:

/dev/hdc:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)

I've done some Googling, and I suspect the problem is the one that's described
on this page:

http://www.thinkwiki.org/wiki/Problems_with_SATA_and_Linux

I also have the "hang on wake up from suspend-to-RAM" problem described on that
page, which furthers my suspicion that I have the same problem. The performance
of the drive is so bad that I cannot watch DVDs with it.

Version-Release number of selected component (if applicable):

* FC5 with all the latest updates applied (output of uname -a: Linux
speedygonzalez.chaosmanor 2.6.17-1.2174_FC5 #1 Tue Aug 8 15:30:55 EDT 2006 i686
i686 i386 GNU/Linux)

How reproducible:

* Get a Dell Inspiron 6000 (or presumably any other system with a SATA
controller and a harddisk on the first and optical drive on the second channel)
* Install FC5
* Run hdparm /dev/hdc and observe that using_dma is set to 0 (off)
* Try to enable it with hdparm -d 1 /dev/hdc and observe that it results in an
error and DMA is not enabled

Actual results:

* DMA is not enabled on the optical drive, nor is it possible to enable it

Expected results:

* It should at least be possible to enable DMA using the hdparm command, but
preferably FC5 will enablde DMA automatically

Additional info:

I've attached the output of dmesg and lspci. Please let me know if additional
information is needed or whether you need me to try things out.

Comment 1 Pepijn Schmitz 2006-09-04 14:52:14 UTC
Created attachment 135498 [details]
Output of dmesg

Comment 2 Pepijn Schmitz 2006-09-04 14:53:21 UTC
Created attachment 135499 [details]
Output of lspci

Comment 3 David Lawrence 2006-09-05 15:23:26 UTC
Reassigning to correct owner, kernel-maint.

Comment 4 Dave Jones 2006-10-16 20:44:04 UTC
A new kernel update has been released (Version: 2.6.18-1.2200.fc5)
based upon a new upstream kernel release.

Please retest against this new kernel, as a large number of patches
go into each upstream release, possibly including changes that
may address this problem.

This bug has been placed in NEEDINFO state.
Due to the large volume of inactive bugs in bugzilla, if this bug is
still in this state in two weeks time, it will be closed.

Should this bug still be relevant after this period, the reporter
can reopen the bug at any time. Any other users on the Cc: list
of this bug can request that the bug be reopened by adding a
comment to the bug.

In the last few updates, some users upgrading from FC4->FC5
have reported that installing a kernel update has left their
systems unbootable. If you have been affected by this problem
please check you only have one version of device-mapper & lvm2
installed.  See bug 207474 for further details.

If this bug is a problem preventing you from installing the
release this version is filed against, please see bug 169613.

If this bug has been fixed, but you are now experiencing a different
problem, please file a separate bug for the new problem.

Thank you.

Comment 5 Need Real Name 2006-11-09 16:25:30 UTC
I'm having the same problem with my Dell Latitude D820 laptop.  I have
experienced this problem with clean FC6 installs, both x86_64 and i386.  I'm
currently using a jwltest kernel (2.6.18-1.2831.2.1.fc6.jwltest.12) and the
problem still exists.

I'm able to work around the problem by adding 'combined_mode=libata' as a kernel
boot parameter.  I haven't tested suspend after doing this, however, so don't
know if that will be affected (suspend was working prior to adding the kernel
boot parameter).

lspci:

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT
Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT
Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition
Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1
(rev 01)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2
(rev 01)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3
(rev 01)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4
(rev 01)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI
Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge
(rev 01)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA
Storage Controller IDE (rev 01)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
01:00.0 VGA compatible controller: nVidia Corporation GeForce Go 7400 (rev a1)
03:01.0 CardBus bridge: O2 Micro, Inc. Cardbus bridge (rev 21)
03:01.4 FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394) (rev 02)
09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5752 Gigabit
Ethernet PCI Express (rev 02)
0c:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN
Mini-PCI Card (rev 01)


I'll try to add a dmesg attachment.

Comment 6 Need Real Name 2006-11-09 16:27:37 UTC
Created attachment 140790 [details]
dmesg output

demsg output for comment #5

Comment 7 Jeff Garzik 2006-11-27 08:15:04 UTC
This is expected (if disappointing) behavior.  When two drivers share the
hardware, one loses DMA capability.

Your best option is to switch from combined mode (legacy) in BIOS to native or
AHCI or RAID mode.

If your BIOS doesn't permit this, FC6 kernel should allow booting with
"combined_mode=libata" or "combined_mode=ide" on the kernel (GRUB) command line,
which also works around this problem.