You are not logged in.

#1 2007-04-07 07:49:10

paulr
Member
Registered: 2007-03-23
Posts: 52

To be or not to be SCSI, that is the question.

I'm having a fair amount of trouble with my system generating coasters. I've got two SATA hard drives, a DVD writer and a CD writer on the ATAPI bus, on a PIIX motherboard.

According to these parts of dmesg, it's SCSI - is ata2 "configured for UDMA/33" confirmation that its DMA is on ??

scsi0 : ata_piix
ata1: port disabled. ignoring.
scsi1 : ata_piix
ata2.00: ATAPI, max UDMA/66
ata2.01: ATAPI, max UDMA/33
ata2.00: configured for UDMA/33
ata2.01: configured for UDMA/33
scsi 1:0:0:0: CD-ROM            DVDRW    IDE1008          0457 PQ: 0 ANSI: 5
scsi 1:0:1:0: CD-ROM            SONY     CD-RW  CRX300E   KYS2 PQ: 0 ANSI: 5

sr0: scsi3-mmc drive: 62x/62x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
(snip usb stuff)
sr 1:0:0:0: Attached scsi CD-ROM sr0
sr1: scsi3-mmc drive: 0x/48x writer cd/rw xa/form2 cdda tray
sr 1:0:1:0: Attached scsi CD-ROM sr1

The drive detection is right ; except they aren't SCSI drives.

The DVD writer is behaving like I remember in the past without DMA on ; it's slow, it's highly susceptible to anything else being used in the OS (causes it to burn coasters). I'd like to turn DMA on, or check it, using HDPARM but it can't, it thinks it's a SCSI drive or something.

hdparm /dev/sr0[root@myhost Downloads]# hdparm /dev/sr0

/dev/sr0:
IO_support   =  0 (default 16-bit)
readonly     =  0 (off)
readahead    = 256 (on)
HDIO_GETGEO failed: Inappropriate ioctl for device

Are my optical writers (optical group is okay btw) being forced through some SCSI wrapper and this is stopping DMA from working ?

Offline

#2 2007-04-09 06:55:03

paulr
Member
Registered: 2007-03-23
Posts: 52

Re: To be or not to be SCSI, that is the question.

I can fix this by returning to the old IDE driver.

in /etc/mkinitcpio.conf

(1) replace PATA with IDE in HOOKS
(2) add piix at the start of MODULES

and rebuild the kernel image (mkinitcpio -p kernel26) and reboot. Returns the CD/DVD drivers to hdc and hdd, and burning appears to work okay.

Offline

#3 2007-04-10 20:12:57

wulax
Member
Registered: 2006-02-20
Posts: 30

Re: To be or not to be SCSI, that is the question.

I also had this issue until I found your solution. Thanks for writing it.

Offline

#4 2007-04-12 01:58:16

bt
Member
Registered: 2007-04-11
Posts: 198

Re: To be or not to be SCSI, that is the question.

I have the same problem -- except -- that my ide hard drive is also recognized as a scsi drive.I do have a scsi card in the computer because I was using two scsi hard discs, both of which are now retired (after 10 years).
I can now remove the scsi card.
If I change .etc.mkinitcpio.conf as recommended, it would mean that /etc/fstab would still read the hard drive a /dev/sda, and I probably would not be able to boot. So.. I assume that I would have edit /etc/fstab before rebooting.
as to the addition of piix in MODULES, I asume you mean the lines in /etc/rc.conf.

This is a brand new installation .. and everything works, but I would like to make this change. Any advice would be welcome.

Offline

#5 2007-04-12 08:57:29

wulax
Member
Registered: 2006-02-20
Posts: 30

Re: To be or not to be SCSI, that is the question.

bt wrote:

If I change .etc.mkinitcpio.conf as recommended, it would mean that /etc/fstab would still read the hard drive a /dev/sda, and I probably would not be able to boot. So.. I assume that I would have edit /etc/fstab before rebooting.
as to the addition of piix in MODULES, I asume you mean the lines in /etc/rc.conf.

Not exactly. Don't change /etc/rc.conf. As he said:

paulr wrote:

in /etc/mkinitcpio.conf

(1) replace PATA with IDE in HOOKS
(2) add piix at the start of MODULES

and rebuild the kernel image (mkinitcpio -p kernel26)

But before rebooting, change all instances of "sda" to "hda" in /etc/fstab:

# <file system>        <dir>         <type>    <options>          <dump> <pass>
none                   /dev/pts      devpts    defaults            0      0
none                   /dev/shm      tmpfs     defaults            0      0


/dev/cdrom /mnt/cdrom   iso9660   ro,user,noauto,unhide        0    0
/dev/dvd /mnt/dvd   udf   ro,user,noauto,unhide            0    0
/dev/hda4 /home ext3 defaults                    0    1
/dev/hda3 / ext3 defaults                    0    1
/dev/hda1 /boot ext2 defaults                    0    1
/dev/hda2 swap swap defaults                    0    0

This is my setup, yours may differ. Be sure you know which partitions are the right.
Also change sda to hda in /boot/grub/menu.lst:

# (0) Arch Linux
title  Arch Linux
root   (hd0,0)
kernel /vmlinuz26 root=/dev/hda3 ro vga=773
initrd /kernel26.img

Now you should be able to reboot safely...

Offline

#6 2007-04-12 09:41:00

paulr
Member
Registered: 2007-03-23
Posts: 52

Re: To be or not to be SCSI, that is the question.

bt wrote:

I have the same problem -- except -- that my ide hard drive is also recognized as a scsi drive.I do have a scsi card in the computer because I was using two scsi hard discs, both of which are now retired (after 10 years).
I can now remove the scsi card.
If I change .etc.mkinitcpio.conf as recommended, it would mean that /etc/fstab would still read the hard drive a /dev/sda, and I probably would not be able to boot. So.. I assume that I would have edit /etc/fstab before rebooting.
as to the addition of piix in MODULES, I asume you mean the lines in /etc/rc.conf.

This is a brand new installation .. and everything works, but I would like to make this change. Any advice would be welcome.

It depends on what your new hard disk is I think smile You can always use the Arch CD is a rescue disk ; boot from it, mount your root drive somewhere and edit it to suit.

The problem with this is its a retro solution. What it does is to return the system state back to a driver which is probably not going to be developed any more, not fix the new one. It may be a Kernel problem ; I suspect it is more likely to do with cdrecord/growisofs believing they are talking to a real SCSI drive, not a 'fake' one through the ATAPI interface.

Last edited by paulr (2007-04-12 09:43:05)

Offline

#7 2007-04-12 17:52:46

bt
Member
Registered: 2007-04-11
Posts: 198

Re: To be or not to be SCSI, that is the question.

many thanks .. will revert with my solution (if I have one!)

Offline

#8 2007-04-13 21:16:23

bt
Member
Registered: 2007-04-11
Posts: 198

Re: To be or not to be SCSI, that is the question.

Further investigation has brought two articles in WIKI.
1. Configuring mkinitcpio
2. Persistent Block Device Naming

In the mkinitcpio howto it indicates that PATA is the kernel's new IDE driver. hdx becomes sdx.
Since it appears that this is not a mistake in recognzing my hard drive and my DVD/CD burner, I now hesitate to change to the old system, and will instead investigate '/dev/disk/by-label.

I do not know how all of this affects enabling dma with hdparm, but I am hesitant to revert to an older IDE driver.

EDIT: Further investigation indicates that the new driver automatically chooses the correct setting for maximum efficiency. Shown in dmesg as "ata1: PATA max UDMA/133"

Comments are welcome.

Last edited by bt (2007-04-13 21:32:41)

Offline

#9 2007-04-14 07:57:51

paulr
Member
Registered: 2007-03-23
Posts: 52

Re: To be or not to be SCSI, that is the question.

Yep, on my system, using PATA rather than IDE does work fine , and according to the log it does set the DMA appropriately. Reading CDs and DVDs is no problem.

However - it won't write to them with any degree of reliability at all ; on my 2x DVD drive, at 2x it's 100% coasters, at 1x it's about 80% coasters. With the IDE/piix change in place it works fine.

I wondered if it was DMA because I had a problem with Mandrake 7.2 or something ancient where it didn't switch DMA on on the writers, and it was the same symptoms ; very slow, seemed vulnerable to other apps running and so on - as if the CPU was struggling to keep up with data for the writer, or something like that.

I suspect this isn't a kernel problem, but it's something to do with the always (AFAIR) slightly dodgy interface between IDE and cdrecord. Because the IDE drive identifies itself as a SCSI, it thinks it really *is* a SCSI, whereas with the IDE hook in place, it has to treat it as IDE or the two new interfaces not in sync yet somehow.

But this is all guesswork. I agree, I really don't want to go back to the old system, but I can't find a working solution for writing at the moment sad

Offline

#10 2007-04-14 12:17:48

bt
Member
Registered: 2007-04-11
Posts: 198

Re: To be or not to be SCSI, that is the question.

I'm exploring this question...It appears that in earlier kernels you needed:

                          libata.atapi_enabled=1

in kernel parameters, which is needed for CD/DVD writers to work correctly. Now, ATAPI is switched on by default (supposedly). My dmesg shows: "ata2.00:ATAPI, max UDMA66". Is this a problem in kernel configuration?

In the gentoo forums see: "[howto] sata, pata, libata and a dvd burner"

This is  a new installation (I was on gentoo) so I have not had a chance to write a CD/DVD.  I will try.

Offline

#11 2007-04-14 21:24:27

paulr
Member
Registered: 2007-03-23
Posts: 52

Re: To be or not to be SCSI, that is the question.

I've tried it on Gentoo ; running 2.19.5 (OTOMH) ; seemed to work fine, but that was using hdc and hdd, so it's probably not using the same drivers. Handicap of being bleedin' edge.

Offline

Board footer

Powered by FluxBB