From owner-freebsd-current Sat Jan 8 18:29:39 2000 Delivered-To: freebsd-current@freebsd.org Received: from 1Cust52.tnt1.washington.dc.da.uu.net (localhost [127.0.0.1]) by hub.freebsd.org (Postfix) with ESMTP id DD7B4151B0; Sat, 8 Jan 2000 18:29:31 -0800 (PST) (envelope-from green@FreeBSD.org) Date: Sat, 8 Jan 2000 21:29:29 -0500 (EST) From: Brian Fundakowski Feldman X-Sender: green@green.dyndns.org To: sos@FreeBSD.org Cc: current@FreeBSD.org Subject: ATA CD-R problems, still... Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Well, I don't know about anyone else out there having the problems I'm having, but I might as well ask. I'm using the ATA driver with the following bugfix applied, otherwise the same. Index: atapi-cd.c =================================================================== RCS file: /usr2/ncvs/src/sys/dev/ata/atapi-cd.c,v retrieving revision 1.33 diff -u -r1.33 atapi-cd.c --- atapi-cd.c 2000/01/07 12:01:00 1.33 +++ atapi-cd.c 2000/01/08 18:50:42 @@ -966,9 +966,12 @@ break; case CDRIOCCLOSEDISK: - if (!(cdp->flags & F_WRITTEN) || !(cdp->flags & F_DISK_OPEN)) { + if (!(cdp->flags & F_DISK_OPEN)) { error = EINVAL; printf("acd%d: sequence error (nothing to close)\n", cdp->lun); + } + else if (!(cdp->flags & F_WRITTEN)) { + cdp->flags &= ~(F_DISK_OPEN | F_TRACK_OPEN); } else { error = acd_close_disk(cdp); The problem manifests itself by now allowing me to write anything on any of my disks. Actually, it won't let me write data. Here is an example direct from vty0 (blank lines removed): {"/home2/tmp"}$ mkdir foo {"/home2/tmp"}$ cd foo {"/home2/tmp/foo"}$ dd if=/dev/zero bs=1m count=50 of=foo.iso 50+0 records in 50+0 records out 52428800 bytes transferred in 4.582966 secs (11439928 bytes/sec) {"/home2/tmp/foo"}$ burncd -s 2 data foo.iso fixate next writeable LBA 49652 writing from file foo.iso acd0: WRITE_BIG - ILLEGAL REQUEST asc=10 ascq=00 error=00 only wrote 0 of 65536 bytes fixating CD, please wait.. {"/home2/tmp/foo"}$ As you can see, I got an ILLEGAL REQUEST error printf(). The drive, which worked previously (in wormcontrol(8) days), is acd0 in the dmesg which follows. 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 #3: Sat Jan 8 21:17:33 EST 2000 green@green.dyndns.org:/usr/src/sys/compile/GREEN Timecounter "i8254" frequency 1193182 Hz CPU: AMD-K6(tm) 3D processor (350.80-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x58c Stepping = 12 Features=0x8021bf AMD Features=0x80000800 real memory = 134217728 (131072K bytes) avail memory = 124481536 (121564K bytes) Preloaded elf kernel "kernel" at 0xc02f9000. Preloaded elf module "vesa.ko" at 0xc02f909c. Preloaded elf module "usb.ko" at 0xc02f9138. Preloaded elf module "joy.ko" at 0xc02f91d4. VESA: v3.0, 4096k memory, flags:0x1, mode table:0xc02dc102 (1000022) VESA: NVidia md0: Malloc disk apm0: on motherboard apm: found APM BIOS v1.2, connected at v1.2 npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 ohci0: mem 0xebfef000-0xebfeffff irq 10 at device 2.0 on pci0 usb0: OHCI version 1.0, legacy support usb0: on ohci0 usb0: USB revision 1.0 uhub0: AcerLabs OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered alpm0: at device 3.0 on pci0 isab0: at device 7.0 on pci0 isa0: on isab0 ata-pci0: port 0xffa0-0xffaf irq 0 at device 15.0 on pci0 ata-pci0: Busmastering DMA supported ata0 at 0x01f0 irq 14 on ata-pci0 ata1 at 0x0170 irq 15 on ata-pci0 pci0: unknown card (vendor=0x10d9, dev=0x0531) at 16.0 irq 11 ata-pci1: port 0xd800-0xd8ff,0xddc8-0xddcb,0xddd0-0xddd7 irq 9 at device 18.0 on pci0 ata-pci1: Busmastering DMA supported ata2 at 0xddd0 irq 9 on ata-pci1 ata-pci2: port 0xda00-0xdaff,0xddf8-0xddfb,0xdde0-0xdde7 irq 9 at device 18.1 on pci0 ata-pci2: Busmastering DMA supported ata3 at 0xdde0 irq 9 on ata-pci2 vga-pci0: mem 0xcc000000-0xccffffff,0xef000000-0xefffffff irq 0 at device 20.0 on pci0 smbus0: on alsmb0 smb0: on smbus0 sbc0: at port 0x220-0x22f irq 5 drq 1 flags 0x16 on isa0 sbc0: setting card to irq 5, drq 1, 6 pcm0: on sbc0 atkbdc0: at port 0x60-0x6f on isa0 atkbd0: irq 1 on atkbdc0 psm0: irq 12 on atkbdc0 psm0: model IntelliMouse, device ID 3 vga0: at port 0x3b0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: 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 sio2: not probed (disabled) sio3: not probed (disabled) ppc0 at port 0x378-0x37f irq 7 drq 3 on isa0 ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode plip0: on ppbus 0 lpt0: on ppbus 0 lpt0: Interrupt-driven port ppi0: on ppbus 0 pps0: on ppbus 0 unknown0: at iomem 0-0x9ffff,0xe0000-0xfffff on isa0 unknown: can't assign resources unknown1: at port 0-0xf,0x80-0x90,0x94-0x9f,0xc0-0xde drq 4 on isa0 unknown2: at port 0x40-0x43 irq 0 on isa0 unknown3: at port 0x70-0x71 irq 8 on isa0 unknown: can't assign resources unknown: can't assign resources unknown4: at port 0xf0-0xff irq 13 on isa0 unknown5: at port 0x4d0-0x4d1,0xcf8-0xcff,0x3f7,0x4000-0x403f,0x5000-0x501f,0x480-0x49f,0x40b,0x4d6,0x73,0x92,0xb0-0xb3,0x10 iomem 0xfffe0000-0xffffffff,0x100000-0x7ffffff on isa0 unknown: can't assign resources unknown: can't assign resources unknown6: at port 0x3f0-0x3f5 irq 6 drq 2 on isa0 unknown: can't assign resources DUMMYNET initialized (000106) IP packet filtering initialized, divert enabled, rule-based forwarding enabled, logging limited to 100 packets/entry by default IPsec: Initialized Security Association Processing. ad0: ATA-4 disk at ata0 as master ad0: 6103MB (12500460 sectors), 13228 cyls, 15 heads, 63 S/T, 512 B/S ad0: 16 secs/int, 1 depth queue, UDMA33 ad1: ATA-4 disk at ata1 as master ad1: 9671MB (19807200 sectors), 19650 cyls, 16 heads, 63 S/T, 512 B/S ad1: 16 secs/int, 1 depth queue, UDMA33 ad2: ATA-0 disk at ata3 as master ad2: 1554MB (3183264 sectors), 3158 cyls, 16 heads, 63 S/T, 512 B/S ad2: 16 secs/int, 1 depth queue, WDMA2 acd0: CD-R drive at ata2 as master acd0: read 1377KB/s (1377KB/s) write 344KB/s (344KB/s), 512KB buffer, PIO3 acd0: Reads: CD-R, CD-DA stream acd0: Writes: CD-R, test write acd0: Audio: play, 2 volume levels acd0: Mechanism: ejectable tray acd0: Medium: no/blank disc inside, unlocked Mounting root from ufs:/dev/ad0s1a dc0: port 0xde00-0xdeff mem 0xeefeff00-0xeefeffff irq 11 at device 16.0 on pci0 dc0: Ethernet address: 00:80:c6:f9:50:a6 dc0: supplying EUI64: 00:80:c6:ff:fe:f9:50:a6 miibus0: on dc0 dcphy0: on miibus0 dcphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto dc0: starting DAD for fe80:0005::0280:c6ff:fef9:50a6 dc0: DAD complete for fe80:0005::0280:c6ff:fef9:50a6 - no duplicates found acd0: WRITE_BIG - ILLEGAL REQUEST asc=10 ascq=00 error=00 acd0: WRITE_BIG - ILLEGAL REQUEST asc=10 ascq=00 error=00 acd0: WRITE_BIG - ILLEGAL REQUEST asc=10 ascq=00 error=00 I don't have any non-default ATA options in my kernel config, by the way. Has anyone else experienced this, or does anyone know what it's all about? -- Brian Fundakowski Feldman \ FreeBSD: The Power to Serve! / green@FreeBSD.org `------------------------------' To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message