FS#9659 - 2.6.24 broken cdrom support

Attached to Project: Arch Linux
Opened by Marco (grishnack) - Saturday, 23 February 2008, 18:29 GMT
Last edited by Greg (dolby) - Tuesday, 17 June 2008, 18:40 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture i686
Severity Critical
Priority Normal
Reported Version 2007.08-2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 4
Private No

Details

Description:
Upgrading to kernel 2.6.24.2 made using cdrom drive impossible.

Additional info:

Output from dmesg:
ISO 9660 Extensions: Microsoft Joliet Level 3
ISO 9660 Extensions: RRIP_1991A
end_request: I/O error, dev sr0, sector 316
ISOFS: unable to read i-node block
end_request: I/O error, dev sr0, sector 144
end_request: I/O error, dev sr0, sector 144
end_request: I/O error, dev sr0, sector 472
Buffer I/O error on device sr0, logical block 118
Buffer I/O error on device sr0, logical block 119
Buffer I/O error on device sr0, logical block 120
Buffer I/O error on device sr0, logical block 121
Buffer I/O error on device sr0, logical block 122
Buffer I/O error on device sr0, logical block 123
Buffer I/O error on device sr0, logical block 124
Buffer I/O error on device sr0, logical block 125
end_request: I/O error, dev sr0, sector 472
Buffer I/O error on device sr0, logical block 118

Every read operation results in buffer i/o errors. I've tried with every possible kind of media, it always end up with a large amount of errors. Even burning cd/dvd has become impossible. Of course, using an old 2.6.23.9 kernel makes everything work fine as usual. I've also tried using a vanilla kernel, with the same results.

Output from lspci:
00:00.0 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge
00:00.1 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge
00:00.2 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge
00:00.3 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge
00:00.4 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge
00:00.7 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI bridge [K8T800/K8T890 South]
00:07.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)
00:08.0 RAID bus controller: Promise Technology, Inc. PDC20378 (FastTrak 378/SATA 378) (rev 02)
00:0a.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller (rev 13)
00:0b.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:0c.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 0a)
00:0c.1 Input device controller: Creative Labs SB Live! Game Port (rev 0a)
00:0e.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 02)
00:0e.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 02)
00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)
00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)
00:11.6 Communication controller: VIA Technologies, Inc. AC'97 Modem Controller (rev 80)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:00.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5200] (rev a1)

Steps to reproduce:
Just reading from cdrom device
This task depends upon

Closed by  Greg (dolby)
Tuesday, 17 June 2008, 18:40 GMT
Reason for closing:  Upstream
Comment by Pranay Kanwar (warl0ck) - Sunday, 24 February 2008, 10:27 GMT
Maybe the problem is this http://bugzilla.kernel.org/show_bug.cgi?id=9178, could you
give an output of dmesg, showing the CD-ROM detection part.
Comment by Marco (grishnack) - Sunday, 24 February 2008, 12:30 GMT
No, the cdrom worked fine with 2.6.23.9.
Dmesg:

libata version 3.00 loaded.
pata_via 0000:00:0f.1: version 0.3.3
ACPI: PCI Interrupt 0000:00:0f.1[A] -> GSI 20 (level, low) -> IRQ 16
scsi0 : pata_via
scsi1 : pata_via
ata1: PATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0xfc00 irq 14
ata2: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xfc08 irq 15
ata2.00: ATAPI: PIONEER DVD-RW DVR-112D, 1.21, max UDMA/66
ata2.00: configured for UDMA/66
scsi 1:0:0:0: CD-ROM PIONEER DVD-RW DVR-112D 1.21 PQ: 0 ANSI: 5
sata_promise 0000:00:08.0: version 2.11
ACPI: PCI Interrupt 0000:00:08.0[A] -> GSI 18 (level, low) -> IRQ 17
scsi2 : sata_promise
scsi3 : sata_promise
scsi4 : sata_promise
ata3: SATA max UDMA/133 mmio m4096@0xfa800000 port 0xfa800200 irq 17
ata4: SATA max UDMA/133 mmio m4096@0xfa800000 port 0xfa800280 irq 17
ata5: PATA max UDMA/133 mmio m4096@0xfa800000 port 0xfa800300 irq 17
ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata3.00: ATA-7: Maxtor 6L160M0, BANC1G10, max UDMA/133
ata3.00: 320173056 sectors, multi 0: LBA48 NCQ (not used)
ata3.00: configured for UDMA/133
ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata4.00: ATA-7: WDC WD3200KS-00PFB0, 21.00M21, max UDMA/133
ata4.00: 625142448 sectors, multi 0: LBA48 NCQ (depth 0/1)
ata4.00: configured for UDMA/133
scsi 2:0:0:0: Direct-Access ATA Maxtor 6L160M0 BANC PQ: 0 ANSI: 5
scsi 3:0:0:0: Direct-Access ATA WDC WD3200KS-00P 21.0 PQ: 0 ANSI: 5
sata_via 0000:00:0f.0: version 2.3
ACPI: PCI Interrupt 0000:00:0f.0[B] -> GSI 20 (level, low) -> IRQ 16
sata_via 0000:00:0f.0: routed to hard irq line 10
scsi5 : sata_via
scsi6 : sata_via
ata6: SATA max UDMA/133 cmd 0xd400 ctl 0xd000 bmdma 0xc000 irq 16
ata7: SATA max UDMA/133 cmd 0xc800 ctl 0xc400 bmdma 0xc008 irq 16
ata6: SATA link down 1.5 Gbps (SStatus 0 SControl 300)
ata7: SATA link down 1.5 Gbps (SStatus 0 SControl 300)
Driver 'sd' needs updating - please use bus_type methods
sd 2:0:0:0: [sda] 320173056 512-byte hardware sectors (163929 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 2:0:0:0: [sda] 320173056 512-byte hardware sectors (163929 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sda: sda1 sda2 sda3
sd 2:0:0:0: [sda] Attached SCSI disk
sd 3:0:0:0: [sdb] 625142448 512-byte hardware sectors (320073 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 3:0:0:0: [sdb] 625142448 512-byte hardware sectors (320073 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sdb: sdb1 sdb2
Driver 'sr' needs updating - please use bus_type methods
sd 3:0:0:0: [sdb] Attached SCSI disk
sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 1:0:0:0: Attached scsi CD-ROM sr0
Comment by Greg Meyer (oggb4mp3) - Sunday, 02 March 2008, 15:44 GMT
Actually, Since I upgraded the kernel the other day, no /dev/sdx devices are being created. All my pata drives show up as /dev/hdx again, which kinda sucks because the machine is setup to boot from an sd device. Something must have gotten messed up in the pata drivers. As soon as I did the upgrade, I went to reboot and the machine would not start.
Comment by Ray Rashif (schivmeister) - Wednesday, 19 March 2008, 14:56 GMT
It may have something to do with SCSI emulation of Optical Drives, particularly burners. I don't quite know since when the emulation is no longer required, it may just be old news.

If you autodetect modules, the disabling of the emulation may have triggered the kernel to recognize the rest of the kernel as IDE/PATA unless explicitly told otherwise.
Comment by Justin H (orasis) - Monday, 24 March 2008, 07:18 GMT
I've had this problem as well - comment out the Cdrom device (/dev/sr0 usually) in /etc/fstab; that solved the problem for me. (Yes Arch will still see your Cdrom and mount it auto and all of that good stuff.)

Hope it works for you.

Comment by Marco (grishnack) - Tuesday, 25 March 2008, 08:46 GMT
Nope, it didn't work.
Comment by Mika Hynnä (ighea) - Tuesday, 25 March 2008, 20:56 GMT
So you still don't have any sgX or scdX nodes in /dev/ even with the latest kernel?
Comment by Marco (grishnack) - Tuesday, 25 March 2008, 21:42 GMT
scd0 is a symlink to sr0, so it is quite useless. I've got sgX nodes too, but how should i use them?
Comment by Mika Hynnä (ighea) - Tuesday, 25 March 2008, 21:44 GMT
So you should have cdrom and cdrw nodes too?
Comment by Marco (grishnack) - Tuesday, 25 March 2008, 23:34 GMT
Yes, i have them both.
Comment by Mika Hynnä (ighea) - Tuesday, 25 March 2008, 23:58 GMT
You could try kernel parameters all_generic_ide and/or ide=nodma to see if they help. This seems to be common problem and is also discussed in here https://bugs.launchpad.net/ubuntu/+source/linux/+bug/181561 .
Comment by Marco (grishnack) - Wednesday, 26 March 2008, 08:48 GMT
Nothing yet, i tried both options but to no avail. It seems to be an hardware specific problem, but the common workarounds don't seem to work for my hardware.
Comment by Fabian Hirschmann (firsm) - Wednesday, 26 March 2008, 17:05 GMT
It might also be related to http://bugzilla.kernel.org/show_bug.cgi?id=9370
I'm having similar problems with the current -ARCH:

Buffer I/O error on device sr0, logical block 3609348
attempt to access beyond end of device
sr0: rw=0, want=14437400, limit=2097151
Buffer I/O error on device sr0, logical block 3609349
attempt to access beyond end of device
sr0: rw=0, want=14437404, limit=2097151
Buffer I/O error on device sr0, logical block 3609350

However, according to the kernel bugzilla it seems to be fixed in the current git.
Comment by Marco (grishnack) - Wednesday, 26 March 2008, 18:57 GMT
I don't think that's the same issue. The problem (i guess) is related to the particular combination of controller and drive. The driver issues requests to the device, but it always returns errors. The strange thing is that the TOC is accessed correctly, so maybe the problem is located in the filesystem.
Comment by Dan McGee (toofishes) - Saturday, 26 April 2008, 15:15 GMT
2.6.25 status?
Comment by Taylor Lookabaugh (Taylor) - Saturday, 10 May 2008, 15:27 GMT
It is still broken to this point, I wonder what's causing the sd_mod module not to work properly
Comment by Christoffer Aasted (dezza) - Saturday, 14 June 2008, 16:18 GMT
Same problem here, I have no devices that relate to an optical drive, not sr* sg* scd* or dvd/cdrom .. Gone! Completely ..

dmesg: http://rafb.net/p/kbcxeq17.html
Comment by Glenn Matthys (RedShift) - Tuesday, 17 June 2008, 09:42 GMT
Dezza: the paste you posted gives a 404
Comment by Christoffer Aasted (dezza) - Tuesday, 17 June 2008, 11:44 GMT Comment by Glenn Matthys (RedShift) - Tuesday, 17 June 2008, 11:55 GMT
It appears your device is found but the kernel doesn't attach it to an sr device. It may be that that is a bug in the pata_jmicron driver. Can your rmmod pata_jmicron and try modprobe jmicron? (Without the pata_)
Comment by Christoffer Aasted (dezza) - Tuesday, 17 June 2008, 12:16 GMT
Hello again and thank you for trying to help us out here.

I unloaded pata_jmicron and loaded jmicron, it still isn't attached to an sr device or any other device related to an optical drive ..
Comment by Glenn Matthys (RedShift) - Tuesday, 17 June 2008, 12:19 GMT
Can you show me the output of dmesg after you've modprobe jmicron?
Comment by Christoffer Aasted (dezza) - Tuesday, 17 June 2008, 12:23 GMT
http://rafb.net/p/Lov5gC91.html

Oh! Looks like it's detected as "hdb" now, but NOTE, it also says something like: ata9.01: limited to UDMA/33 due to 40-wire cable, how can this be?

I thought after udev migration hd* was only for IDE-harddrives?

Comment by Glenn Matthys (RedShift) - Tuesday, 17 June 2008, 12:29 GMT
The old style hd* notation is for drivers not using libata. The move to libata has to do with kernel itself, and has very little to do with udev. But now we're sure this is an upstream bug in the pata_jmicron driver, so please report it to them: http://bugzilla.kernel.org/. Meanwhile you can use the old jmicron module to access your optical drive.

Loading...