Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Mar 2000 09:27:50 -0500 (EST)
From:      Jonathan Smith <jonsmith@dragonstar.dhs.org>
To:        Soren Schmidt <sos@freebsd.dk>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Bug: atapi-cd ioctls called in cdcontrol
Message-ID:  <Pine.BSF.4.21.0003130906580.26191-100000@dragonstar.dhs.org>
In-Reply-To: <200003131402.PAA13301@freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
After discussion with Soren off list, I'm bringing this onlist :)

Machine:
K6/2-450 on Asus P5A with 128 Meg PC133 (runnin 100) ram, Western Digital
Caviar AC23400L 4.3 gig, Sony DDU220E dvd rom

OS:
FreeBSD 3.x-STABLE for much time, switch to 4.0-CURRENT ~month and a half
ago?, been updating and building/installing worlds now and again since

Problem:
Drive does not support (or claims to not support) the LBA access
methods.  I'm not certain if there's some little tweak that's wrong in the
bios, or if the acd driver's confused, or if the drivey (Sony
DDU220E) generally hates LBA.  Problem _did not exist_ under 3.x-STABLE
that I recall. (read as, maybe somone should point me to how to debug this
really low level ;)

Specifically, I could go into cdcontrol and attempt to play by block,
track, disk in general, etc. and it would fail with an i/o error in the
program, and a PLAY_BIG -- ILLEGAL REQUEST on console.  WHen forcing it to
play by the MSF methods (specify the Minute Second and Frame to start and
end with) it worked.  Further, I did a hack in atapi-cd.c to translate the
lba PLAYBLOCKS (I think) to translate to MSF and use PLAY_MSF
instead..... That, too, worked.  



Three things)

1) Soren or some other highly educated person, can you give me a hand
(read as: give me insight into where to look) to see where the lba would
be failing so that it might be fixed

2) If one fails (which I don't see as happening since the drive worked
under 3.x-Stable just fine ;), it would be really nice if the kernel would
handle this and say, 'Oh, he wants to use LBA playing methods which won't
work on an MSF drive...  We need to translate and call the MSF.'  I don't
like this, and I take from the sound of it, Soren didn't either (he
mentioned that there wasn't a real good soloution).

3) If cdcontrol allows switching from msf (default) to lba can we have
this better documented....  I don't really know what this switches
between.  I certainly _want_ cdcontrol to play MSF since it can't LBA, but
this doesn't do that.

(Note: The reason I suggest having the kernel do the translation to MSF is
that it's not going to be easy/possible to ask every program to check it
themselves ***sigh***)

j.

PS

dmesg w/ ACDDEBUG

Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California. All rights reserved.
FreeBSD 4.0-CURRENT #10: Sun Mar 12 19:37:43 EST 2000
    jonsmith@knightstar.jsnet:/net/dragonstar/project/FreeBSD/4.0-CURRENT/src/sys/compile/KNIGHTSTAR
Timecounter "i8254"  frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (451.02-MHz 586-class CPU)
  Origin = "AuthenticAMD"  Id = 0x58c  Stepping = 12
  Features=0x8021bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,PGE,MMX>
  AMD Features=0x80000800<SYSCALL,3DNow!>
real memory  = 134201344 (131056K bytes)
config> q
avail memory = 126963712 (123988K bytes)
Preloaded elf kernel "kernel" at 0xc030f000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc030f09c.
VESA: v2.0, 8192k memory, flags:0x0, mode table:0xc02b9c42 (1000022)
VESA: ATI MACH64
md0: Malloc disk
npx0: <math processor> on motherboard
npx0: INT 16 interface
apm0: <APM BIOS> on motherboard
apm: found APM BIOS v1.2, connected at v1.2
pcib0: <AcerLabs M1541 (Aladdin-V) PCI host bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <AcerLabs M5243 PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
chip1: <AcerLabs M15x3 Power Management Unit> at device 3.0 on pci0
isab0: <AcerLabs M1533 portable PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
xl0: <3Com 3c905B-TX Fast Etherlink XL> port 0xd800-0xd87f mem 0xdf000000-0xdf00007f irq 9 at device 9.0 on pci0
xl0: Ethernet address: 00:10:5a:05:6a:43
miibus0: <MII bus> on xl0
xlphy0: <3Com internal media interface> on miibus0
xlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pci0: <ATI Mach64-GP graphics accelerator> at 10.0 irq 9
pci0: <unknown card> (vendor=0x1105, dev=0x8300) at 12.0 irq 10
atapci0: <AcerLabs Aladdin ATA33 controller> port 0xd000-0xd00f irq 0 at device 15.0 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x6f on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> on isa0
sc0: VGA <16 virtual consoles, flags=0x200>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
ppi0: <Parallel I/O> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
plip0: <PLIP network interface> on ppbus0
unknown: <PNP0400> can't assign resources
unknown: <PNP0501> can't assign resources
unknown: <PNP0501> can't assign resources
unknown: <PNP0700> can't assign resources
unknown: <PNP0f13> can't assign resources
unknown0: <PNP0c01> at iomem 0-0x9ffff,0x100000-0x7ffffff,0xe8000-0xeffff,0xf0000-0xf3fff,0xf4000-0xf7fff,0xf8000-0xfbfff,0xfc000-0xfffff,0xfffe0000-0xffffffff on isa0
unknown: <PNP0000> can't assign resources
unknown1: <PNP0100> at port 0x40-0x43 irq 0 on isa0
unknown2: <PNP0b00> at port 0x70-0x71 irq 8 on isa0
unknown: <PNP0303> can't assign resources
unknown3: <PNP0c04> at port 0xf0 irq 13 on isa0
unknown4: <PNP0200> at port 0-0xf,0x80-0x90,0x94-0x9f,0xc0-0xde drq 4 on isa0
unknown: <PNP0800> can't assign resources
unknown5: <PNP0a03> at port 0xcf8-0xcff on isa0
unknown6: <PNP0c02> at port 0x290-0x297,0x40b,0x480-0x49f,0x4d6,0xec00-0xec3f,0xe800-0xe83f on isa0
pcm0: <Yamaha OPL-SAx> at port 0x220-0x22f,0x530-0x537,0x388-0x38b,0x330-0x331,0x370-0x371 irq 5 drq 0,1 on isa0
unknown7: <OPL3-SAX Sound Board> at port 0x201 on isa0
unknown8: <OPL3-SAX Sound Board> at port 0x100-0x107 on isa0
unknown9: <Generic ESDI/IDE/ATA controller> at port 0x1e8-0x1ef,0x3ee irq 11 on isa0
ad0: 4112MB <WDC AC24300L> [8912/15/63] at ata0-master using UDMA33
acd: mode sense  00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
acd: mode sense  00-20-70-00-00-00-00-00-2a-18-0b-00-71-ff-29-23-00-00-01-00-02-00-00-00-00-00-00-00-00-00
acd0: DVD-ROM <DVD-ROM DDU220E> at ata1-master using PIO4
Mounting root from ufs:/dev/ad0s2a
ad0: UDMA ICRC READ ERROR blk# 0 retrying
ad0: UDMA ICRC READ ERROR blk# 3534300 retrying
ad0: UDMA ICRC READ ERROR blk# 3534300 retrying
ad0: UDMA ICRC READ ERROR blk# 3534300 retrying
ad0: UDMA ICRC READ ERROR blk# 3534300ata0-master: WARNING: WAIT_READY active=ATA_ACTIVE_ATA
 falling back to PIO mode



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0003130906580.26191-100000>