An ATAPI CD-ROM drive doesn't work with 7.0-BETA2,
but it works with 7.0-BETA1 and 6.3-BETA1
Watanabe Kazuhiro
CQG00620 at nifty.ne.jp
Wed Nov 21 05:06:03 PST 2007
At Sun, 18 Nov 2007 16:19:58 -0800,
Kip Macy wrote:
> This is also an issue on parallels. Scott Long and the maintainer are
> aware of the issue. I don't know yet how they intend to address it.
>
> -Kip
>
>
> On Nov 18, 2007 3:08 PM, Juergen Lock <nox at jelal.kn-bremen.de> wrote:
> >
> > In article <20071111073940.E35C74AE2D at mail.asahi-net.or.jp> you write:
> > >Hi, all.
> > >
> > >I've tried to install FreeBSD/pc98 7.0-BETA2 to PC-9821Xa9 via FTP.
> > >Installation is finished sucessfully.
> > >But cannot use the internal ATAPI CD-ROM drive.
> > >
> > >aries# uname -a
> > >FreeBSD aries.sign.local 7.0-BETA2 FreeBSD 7.0-BETA2 #1: Sun Nov 11 00:16:42
> > >JST 2007 nabe at aries.sign.local:/usr/src/sys/pc98/compile/GENERIC pc98
> > >aries# dmesg | grep ^acd
> > >acd0: <CD-ROM CDU76E-NE/1.0d> CDROM drive at ata1 as master
> > >acd0: read 689KB/s (689KB/s), 256KB buffer, PIO2
> > >acd0: Reads: CDDA stream
> > >acd0: Writes:
> > >acd0: Audio: play, 256 volume levels
> > >acd0: Mechanism: ejectable tray, unlocked
> > >acd0: Medium: CD-ROM unknown
> > >aries# mount_cd9660 -v /dev/acd0 /mnt
> > >could not determine starting sector, using very first session
> > >mount_cd9660: /dev/acd0: Input/output error
> > >aries# cdcontrol info
> > >cdcontrol: /dev/acd0: Input/output error
> > >aries# cdcontrol status
> > >cdcontrol: /dev/acd0: Input/output error
> > >aries#
> > >
> > >The CD-ROM drive works well with 7.0-BETA1 and 6.3-BETA1.
> > >
> > >To use the CD-ROM drive with 7.0-BETA2, I have to apply a quick patch
> > >described below and recompile the kernel:
> > >
> > >--- sys/dev/ata/atapi-cd.c.orig 2007-11-01 04:59:53.000000000 +0900
> > >+++ sys/dev/ata/atapi-cd.c 2007-11-11 00:15:21.000000000 +0900
> > >@@ -696,12 +696,16 @@
> > > if (!acd_mode_sense(dev, ATAPI_CDROM_CAP_PAGE,
> > > (caddr_t)&cdp->cap, sizeof(cdp->cap)) &&
> > > cdp->cap.page_code == ATAPI_CDROM_CAP_PAGE) {
> > >+#if 0
> > > if ((cdp->cap.medium_type == MST_FMT_NONE) ||
> > > (cdp->cap.medium_type == MST_NO_DISC) ||
> > > (cdp->cap.medium_type == MST_DOOR_OPEN) ||
> > > (cdp->cap.medium_type == MST_FMT_ERROR))
> > > return EIO;
> > > else
> > >+#else
> > >+ printf("cap.medium_type:%d\n", cdp->cap.medium_type);
> > >+#endif
> > > break;
> > > }
> > > pause("acdld", hz / 2);
> > >
> > >The value of cdp->cap.medium_type is 0 (MST_FMT_NONE).
> >
> > Interesting, I didn't know real hw is also affected... I already
> > had to make a patch for qemu that chases these recent commits (atapi-cd.c),
> > see my post on -emulation,
> > http://lists.freebsd.org/pipermail/freebsd-emulation/2007-November/004178.html
> >
> > If you want to play with the patch, its also at,
> > http://people.freebsd.org/~nox/qemu/patch-hw-ide.c
> > (testers especially with non-FreeBSD guests still wanted!)
> >
> > Thanx,
> > Juergen
Fixed in 8-current.
http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/ata/atapi-cd.c#rev1.195
I've upgraded the PC from 7.0-BETA3 (cannot use the CD-ROM yet) to
8-current (yesterday's source). The CD-ROM drive works fine.
aries# uname -a
FreeBSD aries.sign.local 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Tue Nov 20
21:16:32 JST 2007 nabe at capricorn:/FreeBSD/obj/pc98/HEAD/pc98
/FreeBSD/HEAD/src/sys/GENERIC pc98
aries# dmesg | grep ^acd
acd0: <CD-ROM CDU76E-NE/1.0d> CDROM drive at ata1 as master
acd0: read 689KB/s (689KB/s), 256KB buffer, PIO2
acd0: Reads: CDDA stream
acd0: Writes:
acd0: Audio: play, 256 volume levels
acd0: Mechanism: ejectable tray, unlocked
acd0: Medium: CD-ROM unknown
aries# mount_cd9660 -v /dev/acd0 /mnt
using starting sector 0
aries# ls -l /mnt
total 57
-r--r--r-- 1 root wheel 25 Oct 8 2002 cdrom.inf
-r--r--r-- 1 root wheel 50336 Oct 19 2002 filename.txt
dr-xr-xr-x 55 root wheel 8192 Oct 19 2002 packages
aries# cdcontrol info
Starting track = 1, ending track = 1, TOC size = 18 bytes
track start duration block length type
-------------------------------------------------
1 0:02.00 73:36.48 0 331248 data
170 73:38.48 - 331248 - -
aries# cdcontrol status
Audio status = 21<void>, current track = 1, current position = 0:01.60
Media catalog is inactive
Left volume = 255, right volume = 255
aries#
I hope to MFC the fix to RELENG_7 and RELENG_6.
---
Watanabe Kazuhiro (CQG00620 at nifty.ne.jp)
More information about the freebsd-emulation
mailing list