Bugzilla – Bug 229260
Optical drive (SH-S162L) not configured
Last modified: 2008-06-23 07:19:52 UTC
openSuse is not recognizing my DVD drive, model #sh-s162l. It is properly setup with all cables connected, etc. because I was able to install the OS off of a CD. Also, Knoppix does not seem to have any trouble with this drive. It's not listed under YaST's "Hardware Information" and I didn't see anything pertaining to the drive when I typed "dmesg" at the command prompt. I'm not sure why this drive isn't configured properly when I could install off of it. The drive is connected by IDE and my motherboard is an ECS 945G-M3. Let me know if you'd like any other info.
Please look at kernel modules ( lsmod ) search for ide_core ide_cd and cdrom modules if they aren't here try to load them manually ( modprobe ). You can also try run hwinfo --cdrom and attach output here.
Created attachment 110439 [details] Output from "hwinfo --cdrom --log hwinfo.log" "lsmod" revealed "ide_core", but "ide_cd" and "cdrom" were not present. I ran "modprobe ide_cd" and "modprobe cdrom" and both returned without error. I looked in Yast's "Hardware Information" again and the CD drive was still not listed. I'm not sure if there's anything else I should have done from this point. I've attached the info from "hwinfo --cdrom --log hwinfo.log" which seems to have given all the info. "hwinfo --cdrom" returned nothing.
Created attachment 110440 [details] Output from "dmesg" I thought that I would return the "dmesg" as well in case there was anything revealing in there. One line, possibly of interest, is: "PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.2"
It's a known upstream bug which is being actively debugged. Please stand by. Thanks.
By upstream bug, I'm assuming you mean there's a problem in the linux kernel, which is being debugged. But I'm not sure how that makes any sense since it works on other linux distributions (live boot of knoppix).
The upstream problem was introduced with new error handling, previous kernels aren't affected. So, if a distribution uses an older kernel which doesn't have new error handling, the bug isn't present. If in doubt, please give a shot at vanilla 2.6.19.2 or 2.6.20-rc4. Thanks.
I previously had 10.1 installed with 2.6.16.21-0.25-default kernel and the drive wasn't detected then either even though I installed that OS off the drive as well.
Hmmm... Please post boot dmesg of knoppix. Thanks.
Created attachment 112812 [details] Output of "dmesg" from Knoppix 5.01 Sure thing.
Knoppix chose IDE driver for SATA controller which works fine with the ATAPI device on the slave slot. Hmmm... Can you please post failing dmesg of 10.1 kernel? Thanks.
Ok. I can reinstall 10.1, but I don't want to have to put 10.2 back on afterwards if I do so. Is there any other info you might want from my 10.2 install before I wipe it?
You don't really have to install 10.1. Just fire up installation. After the installer is fully loaded switch to console (try alt + f2 to f4, you should see # prompt). All I wanna see is the result of 'dmesg' at that point. Do 'dmesg > out' and copy the file out by one of the following methods. 1. mount partition on your harddisk and copy it there 2. connect usb disk and copy 3. configure network manually using ifconfig and transfer it.
Created attachment 113034 [details] Output of "dmesg" from SUSE 10.1 When I hit alt + F2-F4, the terminal was nonresponsive. I just went ahead and reinstalled 10.1. Probably, I did not have to, but I wanted to regardless because 10.2's just had too many problems with it for me to keep using it.
Thanks. Interesting. This problem seems common between 10.1 and 10.2. This indicates the offending part is probably ata_piix low level driver. Maybe it screwed up parameter setting or something. Can you persuaded into detaching one drive and putting the dvd by itself as master device on the channel? This will tell us whether the problem is caused by mistake in timing merge. Thanks.
I have two hard disks. One mounted as root on the IDE ribbon with the DVD and a second PATA disk mounted as home. If I simply disconnect the other drive on the ribbon the system clearly won't boot. I don't have the option of placing the hard disc on a second ribbon with this motherboard. Any suggestions? Can I disconnect it and then run a live CD? Does openSUSE 10.2 have a live CD?
Unfortunately, live DVD for 10.2 isn't ready yet but it's scheduled to be released before the end of this month. Hmm... I'll see what I can do. Please standby.
Live DVD for 10.2 is out now. http://download.opensuse.org/distribution/10.2/iso/dvd/openSUSE-10.2-GM-LiveDVD.iso Care to give a shot with hdd detached?
Yes. I will do that. Unfortunately, it may be quite some time before I am able to because I am in the middle of moving right now and my machine is stuck in storage.
Any update?
I'm guessing it'll still be a month or two until I've finished my move and can provide more info. Sorry for the wait...
Ok. I'm back in action. Thanks for sticking with me. Unfortunately, I don't have a DVD burner, so the live DVD route might not be the easiest for me. I do have the 10.1 and 10.2 internet install discs available, so if nothing else I suppose I can disconnect the cable to my IDE hard disc containing the root partition and do a new install on my SATA disc. Would your suggestion from comment #13 still be applicable? I could disconnect the ribbon and throw in one of the internet install discs. It might take me a little while to figure out how to mount a thumb drive, but I'm sure I could manage with a little googling. Would you want the output from a dmesg or anything else? Gotta go root for the Cavs now as a new resident of Cleveland :o)
Created attachment 146652 [details] /var/log/boot.msg with IDE hard drive disconnected I've attached the /var/log/boot.msg created during the openSuse 10.2 64-bit Internet Install with my IDE hard drive detached. Let me know if this gives you what you need. Thanks.
Thanks. It seems the drive chokes on INQUIRY. Knoppix uses ide piix driver which doesn't issue INQUIRY during detection. That's probably why it works. Can you try to burn cd or dvd in knoppix using cdrecord and report whether it works?
Also please post the result of 'hdparm -I /dev/hdX' from knoppix where hdx is the dvd device.
Created attachment 146927 [details] Output of hdparm on Knoppix 5.01
I put a Coldplay CD into the drive after I booted up in Knoppix and everything worked great. Then I put in a blank CD-RW and when I opened up "media:/hda" in Konquerer I got an error saying "Malformed URL ." "cdrecord -scanbus" also was not acting friendly giving me several warnings and errors the only one of substance seeming to be "cdrecord: No such file or directory. Cannot open '/dev/pg*'. Cannot open SCSI driver." However, I has able to burn the log file I just attached to a CD using k3b without issue (although it did seem to take a little longer than I'd have expected).
Bugzilla email was down last night, so I just wanted to let everyone know that I've provided some more info on this bug. Thanks.
Thanks for the info. In Knoppix, please execute 'sg_inq -vvv /dev/hdX' and report the result here.
Also, can you build a vanilla kernel and try some patches?
One possible regression point between IDE and libata is ATAPI DMA: For IDE, only Read/Write commands with multiple of 512 bytes are done in ATAPI DMA. However, in libata, _all_ packet command are default with ATAPI DMA. Maybe this SH-S162L drive doesn't like "INQUIRY" by ATAPI DMA?
I tried running 'sg_inq -vvv /dev/hda', but received a command not found message, so I'm guessing it's not part of the Knoppix live CD. Out of curiosity, why the need for three v's? I found sg3_utils-1.20-2.1.i386.rpm online via a Google, but ran into dependency hell trying to install it since it's an older version and wasn't matching my glibc, etc. Any suggestions? In Suse I would just fire up Yast :o) I have both the Knoppix 5.01 and 5.1.1 live CDs available. Also, I could probably build a vanilla kernel and try some patches. I've never done it before, so it would at least take me some reading, but I'll give it a shot.
Right, indeed. Thanks for the enlightenment, (In reply to comment #31 from Albert Lee) > One possible regression point between IDE and libata is ATAPI DMA: For IDE, > only Read/Write commands with multiple of 512 bytes are done in ATAPI DMA. > However, in libata, _all_ packet command are default with ATAPI DMA. > > Maybe this SH-S162L drive doesn't like "INQUIRY" by ATAPI DMA? > Argh... Right. My stupid eyes somehow filtered out if (info->dma) in cdrom_start_packet_command() so I was thinking IDE was doing it using DMA too. Thanks for the enlightenment. :-) It seems, IDE uses DMA for ATAPI devices for 1. READ/WRITE requests which are aligned to queue_hardsect_size() 2. SG request with BIO where length is aligned to 16bytes && starting address is aligned to DMA engine alignment (of course). I think we should just follow what IDE has been doing for years. Thanks, this solves the mysterious three INQUIRY timeout cases I found out from last week.
Bejamin, I'll prepare a kernel RPM for you, please stand by.
Created attachment 147389 [details] update-ata_check_atapi_dma.patch Albert, can you review this one? This basically makes the DMA check identical to IDE and drops ATA_HORKAGE_DMA_RW_ONLY. As most checks are done in sr already, all we have to do is 16 bytes alignment test.
Benjamin, here's your kernel. Please test it and report the result. http://htj.dyndns.org/bug-229260-kernel-default-2.6.18.8-0.3-tj0.i586.rpm
> Albert, can you review this one? This basically makes the DMA > check identical to IDE and drops ATA_HORKAGE_DMA_RW_ONLY. As > most checks are done in sr already, all we have to do is 16 bytes > alignment test. The patch looks good. Since the TORiSAN DRD-N216 is the device affected by the patch, I would also notify Vlad (who owns the device) to verify this patch.(http://bugzilla.kernel.org/show_bug.cgi?id=6710)
FWIW, these two are the bugs which might be reporting the same problem. http://bugzilla.kernel.org/show_bug.cgi?id=8649 https://bugzilla.novell.com/show_bug.cgi?id=278533
> ... all we have to do is 16 bytes alignment test. I'm worried that 16-bytes alignment is good enough for old IDE, but not for libata. Under old IDE, the device won't receive random SCSI commands from SCSI mid and sg. However, for ide-scsi and libata, ATAPI devices are faked to look like SCSI devices and are expected to work like real SCSI devices. Maybe we need to limit ATAPI DMA to Read/Write commands unconditionally as done by ide-scsi?
I'm not sure about that. What other commands do sr/scsi issue? Maybe we can blacklist them separately? I'm worried about cdda/dvd play,rip/recording performance. Many applications issue non-read/write data transfer commands using sg. If we do all of them using pio, performance hit will be significant. Other than commands from sr/scsi, IDE drivers also have been issuing all the direct commands aligned to 16 bytes using DMA which means that ODDs can handle most commands issued by those applications. So, I think we're better off filtering out offending commands.
FYI, OSDL bug 8649 isn't the same problem. It's caused by weird IRQ assignment on the platform and needs specific workaround (IO ports are allocated as native PCI resources and IRQ appears to be that way too but IRQ lines are hardwired to 14 and 15).
> I think we're better off filtering out offending commands. Hmm, agreed. Most ODDs seem to work well with the aggressive ATAPI DMA under libata without R/W filtering. The 16-bytes alignment rule is also simpler than the R/W horkage. I will ask the other 2 bugs related to ATAPI DMA to test your 16-byte alignment patch. Hopefully we'll have good result. http://bugzilla.kernel.org/show_bug.cgi?id=6710 http://bugzilla.kernel.org/show_bug.cgi?id=8605 http://bugzilla.kernel.org/show_bug.cgi?id=8627
I tried following a guide (http://www.howtoforge.com/kernel_compilation_suse_p2) to install the kernel you so graciously compiled for me, but I'm afraid I didn't have any luck. When I booted up I got a message along the lines of "Kernel panic - not syncing : Attempted to kill init!" Perhaps over the weekend I'll figure out how to boot it up...
Just installing the package should do 'rpm -ivh bug-229260-kernel-default-2.6.18.8-0.3-tj0.i586.rpm' You may have to tweak grub menu or select the kernel manually but that's about it.
My first attempt at installing the new kernel made it impossible for me to boot up so I reinstalled openSuse 10.2 64-bit. Unfortunately, my second attempt didn't turn out any better. The system just freezes during boot and while the screen says I can press 'esc' for details, it does not work. Eventually, after sitting for a very long time, the screen just turns black. I had trouble installing the kernel and added the --replacefiles option. See below for details. chameleon-htpc:/home/bmccann/Desktop # rpm -ivh bug-229260-kernel-default-2.6.18.8-0.3-tj0.i586.rpm Preparing... ########################################### [100%] file /boot/System.map-2.6.18.8-0.3-default from install of kernel-default-2.6.18.8-0.3 conflicts with file from package kernel-default-2.6.18.8-0.3 file /boot/config-2.6.18.8-0.3-default from install of kernel-default-2.6.18.8-0.3 conflicts with file from package kernel-default-2.6.18.8-0.3 file /boot/symsets-2.6.18.8-0.3-default.tar.gz from install of kernel-default-2.6.18.8-0.3 conflicts with file from package kernel-default-2.6.18.8-0.3 file /boot/symtypes- 2.6.18.8-0.3-default.gz from install of kernel-default-2.6.18.8-0.3 conflicts with file from package kernel-default-2.6.18.8-0.3 file /boot/symvers-2.6.18.8-0.3-default.gz from install of kernel-default-2.6.18.8-0.3 conflicts with file from package kernel-default-2.6.18.8-0.3 file /boot/vmlinux-2.6.18.8-0.3-default.gz from install of kernel-default-2.6.18.8-0.3 conflicts with file from package kernel-default-2.6.18.8-0.3 file /boot/vmlinuz-2.6.18.8-0.3-default from install of kernel-default-2.6.18.8-0.3 conflicts with file from package kernel-default-2.6.18.8-0.3 chameleon-htpc:/home/bmccann/Desktop # rpm -ivh --replacefiles bug-229260-kernel-default-2.6.18.8-0.3-tj0.i586.rpm Preparing... ########################################### [100%] 1:kernel-default ########################################### [100%] Setting up /lib/modules/2.6.18.8-0.3-default Root device: /dev/sda2 (mounted on / as ext3) Module list: processor thermal ata_piix fan jbd ext3 edd (xennet xenblk) Kernel image: /boot/vmlinuz-2.6.18.8-0.3-default Initrd image: /boot/initrd-2.6.18.8-0.3-default Shared libs: lib64/ld- 2.5.so lib64/libacl.so.1.1.0 lib64/libattr.so.1.1.0 lib64/libblkid.so.1.0 lib64/libc-2.5.so lib64/libcom_err.so.2.1 lib64/libdl-2.5.so lib64/libext2fs.so.2.4 lib64/libhistory.so.5.1 lib64/libncurses.so.5.5 lib64/libpthread- 2.5.so lib64/libreadline.so.5.1 lib64/librt-2.5.so lib64/libutil-2.5.so lib64/libuuid.so.1.2 lib64/libvolume_id.so.0.73.0 lib64/libnss_files- 2.5.so lib64/libnss_files.so.2 lib64/libgcc_s.so.1 Driver modules: scsi_mod sd_mod processor thermal libata ata_piix fan edd Filesystem modules: jbd mbcache ext3 Including: initramfs fsck.ext3 Bootsplash: SuSE (1280x1024) 14576 blocks warning: waiting to reestablish exclusive database lock
Aik... Sorry about that. http://htj.dyndns.org/bug-229260-kernel-default-2.6.18.8-0.3-tj0.i586.rpm Is this any better? Please don't force install. Thanks.
This time I did not have to force install and I can still boot the old kernel, so better than before. Unfortunately, I still cannot boot this new kernel. The system freezes during boot and while the screen says I can press 'esc' for details, it does not work. Eventually, after sitting for a very long time, the screen turns black. Let me know if there's anything I should try doing that would give you more info.
Hmmm... That's weird but you can boot with the original kernel, right? I dunno what went wrong. I built the kernel the way I did all the time. :-( The fix already made into upstream kernel and will be included in Alpha6. Please test when it comes out. I'll leave it as NEEDINFO. Thanks.
I can still boot with the original kernel. Alpha6 is just about out. Is there any way for me to test without having to download all 6 CDs? I'd really prefer not to have to do that and reinstall my entire OS with an alpha version. Is there anyway for me to just get the kernel from Alpha6 to test?
You can try KOTD (kernel of the day). ftp://ftp.suse.com/pub/projects/kernel/kotd/HEAD/i386/kernel-default.rpm
I tired to install KOTD last night. However, I got a message saying I had an incompatible version of AppArmor. Any ideas how I should have gotten around this? Anyway, after that didn't work I saw down in the system tray that I had some updates available, so I went ahead and installed those and then shutdown my machine for the night. Today when I got home I went to boot my machine up again. I noticed that the kernel you compiled for me was no longer on the boot menu. Then booting took forever and eventually after quite some time the screen just turned black. I tried booting up with the other option that came up on the start menu, which was to boot in safe mode. It prints some output to the screen and freezes after the following line: "NET: Registered protocol family 2" Anyhow, I'm not sure if it was my attempt at installing the new kernel or if it was the update, but somehow my install got hosed. I suppose I'll try alpha 6 when it comes out unless you have other suggestions?
AppArmor dependency can be ignored (--nodeps). I dunno what caused the explosion tho. It's alpha (not even beta) after all, so things are supposed to explode and burn. I think it would be best to reserve a small partition (say, 5gig) for alpha installation while keeping the working setup. Thanks a lot and sorry about all the trouble.
I'm afraid that in alpha 6 it's still hanging during boot for a very long time followed by the screen turning black. Any idea how I can get some kind of output to tell what the trouble is? The alpha 6 install didn't recognize my 60GB IDE hard drive during the partition setup, which had always been recognized before. I'd like to be able to file a bug report on that as well if I could figure out how to get some output although it's not nearly as much of a problem as not being able to boot.
I have posted a bug report (https://bugzilla.novell.com/show_bug.cgi?id=294024) to try to troubleshoot my problems with the alpha 6 release. I will update this thread if I can resolve the problems with my system hanging during boot.
Created attachment 157226 [details] /var/log/boot.msg from 10.3 alpha 7
Created attachment 158345 [details] revive-dma-rw-only-for-SH162L.patch It seems we'll have to revive DMA_RW_ONLY after all. Albert, I just checked SCSI MMC and all common data transfers are done using READ and WRITE commands so we won't lose too much performance even if DMA_RW_ONLY horkage is applied. I'll forward the patch upstream once it's verified here. I'll prepare a kernel rpm with this patch applied soon, please wait a bit. Thanks.
Hi Tejun, Agreed the DMA_RW_ONLY horkage seems unavoidable for some devices. + switch (qc->cdb[0]) { + case READ_10: + case WRITE_10: + case READ_12: + case WRITE_12: + case READ_6: + case WRITE_6: Maybe we can be more aggressive here and include READ_DVD_STRUCTURE (0xad) and READ_CD (0xbe) as well? This will make DVD viewing and CD ripping smoother. Vlad tested those two commands with his TORiSAN DVD-ROM DRD-N216 and READ_CD and READ_DVD_STRUCTURE seem to work. So, I guess Windows also using ATAPI DMA for these two commands. Maybe Ben can try how his SH-S162L fares with READ_CD and READ_DVD_STRUCTURE?
Benjamin, please test the following kernel. http://htj.dyndns.org/kernel-default-2.6.22.3-229260_tj_dbg.i586.rpm
Created attachment 159331 [details] Broken menu.lst from kernel install I installed the kernel, but unfortunately it would not boot. /boot/grub/menu.lst was a bit strange, so I corrected it to parallel the working entries, but still could not boot all the way. It just sits there with the green screen that says "press esc for more details" or something like that down in the lower right hand corner. However, the escape key is non-responsive. After awhile the screen turns black. Any idea how I'd be able to get any debug info to you?
Created attachment 159332 [details] Screen during patched kernel boot This may be a bit more helpful - the screen while booting the patched kernel in safe mode. If runaway is a synonym for infinite I'm guessing the runaway loop would be a problem.
Are you on 64bit installation? The kernel was built for 32bit.
Ah. Yes, I am on 64-bit.
Please test the following kernel. Thanks. http://htj.dyndns.org/kernel-default-2.6.22.5-229260_299911_tj_dbg_1.x86_64.rpm
Created attachment 159974 [details] /var/log/boot.msg from patched kernel Tejun, thank you for the patch and kernel build. Boot was nine million times faster :o) Looks like no more timeouts. That's a big win since hopefully my hard drive will be detected during install again. However, I'm still not sure the drive is working correctly. Konsole, Amarok, and Kaffeine didn't appear to be able to find/access the drive. All three gave me a small circular loading animation similar to what you'd see on a web 2.0 ajax website. I've attached the new /var/log/boot.msg
Created attachment 160145 [details] dmesg from patched kernel I've attached the output of dmesg in case it provides more info. Also, when I ran "mount -t iso9660 -r /dev/cdrom1 /mnt/cdrom" it appeared to freeze.
I figured I'd also add that trying to run "hwinfo" seems to freeze on the following: > block.5.2: /dev/sda serial
Ooops. Maybe mounting did not freeze. It returned 10 minutes later with the following: mount: /dev/sr0 already mounted or /mnt/cdrom busy It appears hwinfo is running just as slowly.
Hmmm.. CDB 0xbe is READ_CD. It seems READ_CD can't do DMA either. I'll prep another kernel package for you tomorrow. Thanks.
Ok. Thank you, Tejun. That would seem to parallel Albert's suggestion in Comment #57 that READ_DVD_STRUCTURE (0xad) and READ_CD (0xbe) be included as well.
Please test the following kernel. Thanks. kernel-default-2.6.22.5-229260_tj_dbg2.x86_64.rpm
Created attachment 160656 [details] /var/log/boot.msg from second patched kernel Awesome! I am listening to a CD right now, so all looks good. I have attached the new /var/log/boot.msg
Created attachment 160699 [details] dmesg from second kernel patch I've been trying to test the drive's ability to read DVDs, but haven't been having much luck getting 10.3 setup with the necessary software. Is there an easy was to test this? Also, I've attached the new dmesg, which looks like it is still encountering a few exceptions.
For read test, you can simply do cat or dd. # cat /dev/sr0 > dvd.iso Hmmm... your drive is also timing out on READ. Now I'm not sure whether we're looking at the correct cause. Can you detach the master device on the primary channel such that the dvd is the only device on the channel and perform some tests? Also, what were you doing when the exceptions occur? Could it be that you were trying to read a bad media? If you were using a recorded dvd, can you please give a shot at a pressed one? Thanks.
I just rebooted and typed dmesg. The exceptions were still there. Does that mean they occurred during boot? Boot is very fast with this new kernel unlike before when it was extremely slow due to timeouts. I was using pressed DVD to test with. Also, here is my output from running cat: chameleon-htpc:~ # cat /dev/sr0 > dvd.iso cat: /dev/sr0: Input/output error
I pulled the power on the IDE hard drive and rebooted. It got rid of the dmesg exceptions, but it also stopped the DVD drive from being detected. There's no longer any mention of it /var/log/boot.msg for example.
Created attachment 161349 [details] dmesg from second kernel patch with IDE hard drive disconnected I got the dvd drive to show up while the hard drive was disconnected. Here is the output of dmesg shortly after boot.
Created attachment 161350 [details] dmesg from second kernel patch with IDE hard drive disconnected a few minutes after boot Here is dmesg again a few minutes later. I did not try to access the drive in any way in the interim. I'm not sure what is causing the additional messages to appear.
Hmmm... weird. Just a few things. * You need to disconnect the hard drive completely, not just pull the power && move the cdrom to the connector at the end of the cable. * What media did you have in the drive? Can you try a different one?
Comments #76 and onward the hard drive was completely disconnected. The media was a DVD collection of music videos. I replaced it with the movie Charlie and the Chocolate Factory and got the same results.
I was wondering if the patch from comment #56 was going to be forwarded upstream? It doesn't solve all my problems, but if it made it into the kernel included in the final 10.3 release, I could at least get my hard drive detected during install.
Benjamin, I think I'll add a generic sledgehammer option to force PIO on ATAPI and/or CF devices. That should get you through installation. For the root cause of the problem, I don't have much idea at this point. Maybe we should force the drive into PIO mode wholly. Please stand by. I'll prep a kernel with the sledgehammer options. Let's see how the sledgehammer works. Thanks.
Sure thing. I will test with sledgehammer option once it's available. I don't suppose there's much point of getting a fix in the Oct 4th 10.3 release at this point though is there? I will probably just buy a new drive at that point, so I can have a wholly working install.
Aikkk... I've forgotten to write here. Sorry about that. The patch is already in the kernel and will be included in 10.3. It should already be in HEAD KOTD. ftp://ftp.suse.com/pub/projects/kernel/kotd/HEAD/i386/kernel-default-2.6.22.5-20070913114013.i586.rpm ftp://ftp.suse.com/pub/projects/kernel/kotd/HEAD/x86_64/kernel-default-2.6.22.5-20070913114013.x86_64.rpm The option is "libata.pata_dma=1". Can you please try that and report? Thanks.
Ok. Thank you very much Tejun! To make sure I am doing this right, I am assuming you want me to download and install KOTD and use "libata.pata_dma=1" as a boot option? Bigger question, I am assuming I can reconnect the hard drive now that we know it was not causing the exceptions?
Those links aren't working so I am going to try the following instead: ftp://ftp.suse.com/pub/projects/kernel/kotd/HEAD/x86_64/kernel-default.rpm
Things seem to be getting better by the day! I installed KOTD (with the hard drive still detached and using the link I posted above) and booted with boot option "libata.pata_dma=1". "cat /dev/sr0 > dvd.iso" works now, so perhaps everything is good on the kernel side now? When I open Konqueror I see "CHARLIE AND CHOCOLATE FACTORY" listed under disk information. I can't figure out how to actually play the DVD yet though. When I start Kaffeine I get a message: "Can't check DMA mode. Permission denied or no such device: /dev/dvd". Xine is giving pretty similar messages. Sure enough /dev/dvd does not exist. There is a /dev/dvd2 though and running "head /dev/dvd2" spit out the beginning of the disc to reveal it is the Charlie and the Chocolate Factory DVD I have in the drive. Any idea why it is being mounted as /dev/dvd2 instead of /dev/dvd?
Probably some udev issue. I don't really have much idea what's going on. Can you give a shot at mplayer? It gives pretty verbose error messages with verbose option turned on and is pretty good for debugging.
I am having trouble installing MPlayer. Whenever I try to enter software management in Yast I get "error initializing repository". I am using the following: ftp.opensuse.org/pub/opensuse/distribution/SL-OSS-factory/inst-source Will alpha 7 no longer work and I have to have the latest beta installed for it to work?
I created a symlink ("ln -s /dev/sr0 /dev/dvd") and Kaffeine is playing the DVD now. However, it is a bit jerky.
I downloaded 10.3 RC1 today and it did not go well. Is the patch in RC1 as comment #83 would seem to indicate? It took a very long time to boot, so it must be timing out still. Also, it still did not recognize my hard drive on the same ribbon due to the timeout issue. I did use the "libata.pata_dma=1" option.
Can you post the boot log? The patch is in the kernel.
Created attachment 173856 [details] /var/log/boot.msg from 10.3 RC1 install I think the following line from the log file would indicate trouble: <3>Unknown boot option `libata.pata_dma=1': ignoring
Any update on what's going on here? Did the boot option change when the patch was included into the kernel?
Should I bother downloading 10.3 final on Thursday? Or will this still not work?
10.3 final did not recognize the boot option. So either the patch was not included or the boot option was changed when the patch was included. Let me know if you know which is the case. Thanks, Ben <a href="http://www.benmccann.com">benmccann.com</a>
The message indicates the kernel proper (sans modules) doesn't know about the parameter. The patch is in there. The trick is that you need to specify it differently in the kernel command line for modules. 1. For installation, please add the following to the kernel parameters. Options="libata.pata_dma=1" 2. After installation, you need to add the following. libata.pata_dma=1 In both cases, the kernel will complain that it doesn't recognize the parameter but they will be applied when libata module is loaded. You can verify this by running "cat /sys/module/libata/parameters/pata_dma".
On the green boot menu where the first choice is "Boot from Hard Disk", I hit the down arrow once to "Installation" and then typed exactly the following: Options="libata.pata_dma=1" It did not seem to work since boot still took a very long time and running "cat /sys/module/libata/parameters/pata_dma" returned only the number 7. Am I setting the parameter correctly?
Any ideas on how to set the parameter for install or whether it's even possible? I really would like to get an installed working system. I'm wondering if I should take the optical drive out of the system so that I can get a working install, but don't want to do that in the middle of troubleshooting this patch.
Sorry about the delay. I was moving my flat. The correct option is... options="libata=pata_dma=1" The syntax is pretty confusing and I got confused again. My apologies. Please test and report the result. Thanks.
No problem. I can see how you'd have a hard time remembering that syntax. Using the correct option got me through install. I will install libdvdcss and see whether DVD playback is still jerky as it was in Alpha 7.
First off, I'd like to say thanks for all the help and sticking with me so long. It's great to finally have 10.3 installed and be able to play a CD. Now if we can just get DVDs playing as well I'll be a very happy camper. Well, actually they are playing, but just a bit too jerky to watch a movie. Any suggestions or anything I can provide to help debug the issue?
Again, sorry for the delay. Moving takes a lot of time. :-( Can you post /var/log/boot.msg? If the option is applied, your drive is configured for PIO and it's slow and burns a lot of cpu cycles. I think libata midlayer or its low level drivers (at least ata_piix and pata_ali) could be doing something wrong regarding MWDMA. I'm not quite sure what yet. I'll take another look through the code.
Created attachment 179005 [details] /var/log/boot.msg from 10.3 final Thanks for helping me in the middle of your move Tejun. I know it's a pain having done it myself recently.
Created attachment 179156 [details] libata_scsi-Fix-ATAPI-transfer-lengths.patch Does this patch fix the problem? ie. Does this patch make your system work w/o libata.pata_dma=1 kernel parameter? My VPN is still down and I can't prep kernel rpm at the moment. If you need a kernel rpm, please lemme know. I'll build one once things work again.
Created attachment 179246 [details] atapi-dma-for-rw-only.patch It seems Albert was right from the start and we'll need to limit ATAPI DMA to only a few commands. Please test the above first and then this one on top of it. Thanks.
I think I successfully got through my first kernel compilation, but I seem to have some trouble installing now. Perhaps I missed a step somewhere. Anyway, maybe you can point me in the right direction: chameleon-htpc:/usr/src/packages/RPMS/x86_64 # rpm -ivh kernel-2.6.22.90.4default-1.x86_64.rpm Preparing... ########################################### [100%] file /boot/System.map-2.6.22.9-0.4-default from install of kernel-2.6.22.90.4default-1 conflicts with file from package kernel-default-2.6.22.9-0.4 file /boot/config-2.6.22.9-0.4-default from install of kernel-2.6.22.90.4default-1 conflicts with file from package kernel-default-2.6.22.9-0.4 file /boot/vmlinuz-2.6.22.9-0.4-default from install of kernel-2.6.22.90.4default-1 conflicts with file from package kernel-default-2.6.22.9-0.4
Yeah, it can be tricky. You need to change release name or something such that it has a different version string. The easiest way to test the patch is... 1. be root 2. cd /usr/src/linux 3. patch -p1 < patch_to_apply 4. make cloneconfig 5. make menuconfig -> general setup -> Local version -> change it to "-test" 6. make (or make -j4) 7. make modules_install 8. make install 9. reboot You now should be able to choose the test kernel or the default kernel.
Created attachment 179479 [details] dmesg from ATAPI transfer length fix Doesn't look like the first patch by itself worked. I will try the second now.
Created attachment 179480 [details] /var/log/boot.msg from ATAPI transfer length fix
When I applied the second patch it returned: patching file drivers/ata/libata-core.c Hunk #2 succeeded at 4331 (offset -116 lines). Hopefully that means it was successful. Just seemed weird to me it only said something about "Hunk #2" and nothing about a first hunk being successful. Anyhow, I am compiling now and will post the results later today.
Created attachment 179499 [details] dmesg from DMA RW only patch
Created attachment 179500 [details] /var/log/boot.msg from DMA RW only patch
Created attachment 179503 [details] dmesg after playing commercially pressed audio CD I put in an audio CD and the Desktop became non-responsive for quite sometime. Then, after a few minutes, the system responded normally again and I was able to listen to the CD in Kaffeine.
DVD playback is still jerky, though perhaps less so.
Benjamin, initial errors caused the drive to speed down to pio4 and that could be why dvd playback is still jerky. Please reboot and try to play dvd directly. Also, after clean reboot, please run "time dd if=/dev/sr0 of=/dev/null bs=65536" and see whether system becomes non-responsive and report the final transfer rate (mbytes transferred / duration). Also, with the patch applied, edit ata_check_atapi_dma() function in drivers/ata/libata-core.c and delete "case GPCMD_READ_CD:" line and retry cd playing/ripping. Thanks.
I rebooted and put in a DVD. The system seemed to lock up, so I rebooted again and ran the command below: chameleon-htpc:~ # time dd if=/dev/sr0 of=/dev/null bs=65536 dd: reading `/dev/sr0': Input/output error 0+0 records in 0+0 records out 0 bytes (0 B) copied, 15.5392 s, 0.0 kB/s real 0m15.568s user 0m0.000s sys 0m0.000s
Created attachment 179556 [details] dmesg after inserting DVD without GPCMD_READ_CD I commented out "case GPCMD_READ_CD:" and the audio CD played very well. I then rebooted and inserted a DVD after which the system became non-responsive for a little while.
Thanks. Ekkk, so it didn't really work. That's an interesting piece of device choking on 4k DMA READ. :-( I currently don't see any way to work around this other than completely disabling DMA for the device. Can you ship the drive to me? I'll pay with paypal or something for the drive and shipment. Thanks.
Hmm. I suppose so. This email address is registered on PayPal. You just wanted to buy the drive off me, right? Does $45 seems fair? (assuming domestic shipping to the US)
The problem is that I'm located in S. Korea and the drive will need to fly over the pacific. How much would it be with trans-pacific shipping? It doesn't have to be super-fast but I'd like to have it less than in a month. Thanks.
For $75 total I can get it there in 6-10 days.
Alright, deal then. :-) I'll email you my address. Let's talk there. Thanks.
Created attachment 179801 [details] tejun-public.asc My VPN access is still down after moving & reinstalling, so I'll write you using my gmail account but I'll sign it with my key. I'm attaching public key here for verification. Also, you can look for it in key servers. Key ID is 868D6F48 and fingerprint is 99E7 12C1 76E6 30C3 7388 5C12 EDA8 701F 868D 6F48.
Thank you. I will send the drive tomorrow. When I buy my next drive, is there a good way for me to tell if it will be compatible with suse? I am thinking of getting another drive: http://www.newegg.com/Product/Product.aspx?Item=N82E16827135146
Just for the record (SLES10 info only): Patch: patches.drivers/libata-add-pata_dma-kernel-parameter (for bug 229260 and bug 272786 (the present one)) included, enabled, and released in: SLE10 (and 10.1) kernel update 2.6.16.53-0.16 dated Oct 03, 2007 & released Oct 10, 2007. Setting Whiteboard Status for SLES10 --> released
Most drives work just fine. There are only a few which are causing problems and that's why I'm buying the drive from you so that I can fix it. The ASUS one should work fine. (if it doesn't, I'll buy it from you again :-)
I got another Samsung, one which I read works on a few other distros. I'll let you know if it doesn't :o) This one's packaged up and will be dropped in the mail tomorrow, so you should get it within two weeks.
UPDATE: Got the package and tested it. DMA just won't work on the device. It gives strange logical unit timeout errors. I've tried various controllers including ICH6 ata_piix with no success. I think we'll have to blacklist it for the time being. Thanks.
I played with it again today trying out various firmwares and the other operating system. No firmware made its DMA mode working and windows couldn't use DMA either. It looks like this specific drive is faulty rather than the whole model at this point. I'm resolving this bug as INVALID for now. Feel free to re-open the bug if there is information pointing different direction. Thanks.