Re: audio cd problems

From: Evan Dower <evantd_at_hotmail.com>
Date: Tue, 13 Jan 2004 13:22:00 -0800
I will focus on issue #1 of CDs taking a long time to show up.
Preliminary testing shows mixed results with
FreeBSD 5.1-CURRENT (CUSTOM) #0: Tue Jan 13 05:48:16 PST 2004
(cvsup'd early this morning, built at the time shown above, world installed 
less than an hour ago, should this be 5.2-CURRENT?). Sometimes CDs become 
visible within a minute, other times I get (same as when I don't have a CD 
in the drive):

% cdcontrol -f /dev/acd0 info
cdcontrol: getting toc header: Input/output error
% grip
Error: Failed to read disc contents
Error: Failed to read disc contents

for several minutes. Sometimes I eject and reinsert to try again, sometimes 
I just walk away for a while and hope it shows up by the time I get back.
There are no messages on the console about this.

% dmesg | grep acd
acd0: CDRW <TDK CDRW161040X> at ata1-master PIO4

During the problematic period I have the following devices (same as when I 
don't have a CD in the drive):

% ls -lF /dev/acd*
crw-r--r--  1 root  operator  117,   0 Jan 13 12:27 /dev/acd0
crw-r--r--  1 root  wheel     117, 0x00010000 Jan 13 12:27 /dev/acd0t01

Once the CD shows up, I get something along the lines of:

% ls -lF /dev/acd*
crw-r--r--  1 root  operator  117,   0 Jan 13 12:27 /dev/acd0
crw-r--r--  1 root  wheel     117, 0x00010000 Jan 13 12:27 /dev/acd0t01
crw-r--r--  1 root  wheel     117, 0x00020000 Jan 13 12:27 /dev/acd0t02
crw-r--r--  1 root  wheel     117, 0x00030000 Jan 13 12:27 /dev/acd0t03
crw-r--r--  1 root  wheel     117, 0x00040000 Jan 13 12:27 /dev/acd0t04
crw-r--r--  1 root  wheel     117, 0x00050000 Jan 13 12:27 /dev/acd0t05
crw-r--r--  1 root  wheel     117, 0x00060000 Jan 13 12:27 /dev/acd0t06
crw-r--r--  1 root  wheel     117, 0x00070000 Jan 13 12:27 /dev/acd0t07
crw-r--r--  1 root  wheel     117, 0x00080000 Jan 13 12:27 /dev/acd0t08
crw-r--r--  1 root  wheel     117, 0x00090000 Jan 13 12:27 /dev/acd0t09
crw-r--r--  1 root  wheel     117, 0x000a0000 Jan 13 12:27 /dev/acd0t10
crw-r--r--  1 root  wheel     117, 0x000b0000 Jan 13 12:27 /dev/acd0t11
crw-r--r--  1 root  wheel     117, 0x000c0000 Jan 13 12:27 /dev/acd0t12

I have included truss outputs but the gist is that when there is no CD, or 
there is a CD but it has yet to be recognized even after several minutes, 
ioctl() fails with ERR#5 'Input/output error', while it succeeds if the disc 
has been recognized. The open() call always returns positive, even when 
there is no CD in the drive.

How can I check for ATA communication errors? If there are any, they aren't 
showing up on the console or in /var/log/messages.

Thanks very much for your help, and I hope this information is useful,
Evan Dower

truss outputs:

(when there is no cd in the drive)
% truss -faed cdcontrol -f /dev/acd0 info
  914: 0.000206730 mmap(0x0,3440,0x3,0x1000,-1,0x0) = 671539200 (0x2806e000)
  914: 0.000432457 munmap(0x2806e000,0xd70)      = 0 (0x0)
  914: 0.000549791 __sysctl(0xbfbff7cc,0x2,0x2806c3cc,0xbfbff7c8,0x0,0x0) = 
0 (0x0)
  914: 0.000685283 mmap(0x0,32768,0x3,0x1002,-1,0x0) = 671539200 
(0x2806e000)
  914: 0.000790324 issetugid()                   = 0 (0x0)
  914: 0.001050133 open("/var/run/ld-elf.so.hints",0x0,00) = 3 (0x3)
  914: 0.001160483 read(0x3,0xbfbff864,0x80)     = 128 (0x80)
  914: 0.001286756 lseek(3,0x80,0)               = 128 (0x80)
  914: 0.001397943 read(0x3,0x28070100,0xd0)     = 208 (0xd0)
  914: 0.001511645 close(3)                      = 0 (0x0)
  914: 0.001679822 access("/lib/libedit.so.4",0) = 0 (0x0)
  914: 0.001825092 open("/lib/libedit.so.4",0x0,027757774274) = 3 (0x3)
  914: 0.001921473 fstat(3,0xbfbff8a4)           = 0 (0x0)
  914: 0.002035734 read(0x3,0x2806b320,0x1000)   = 4096 (0x1000)
  914: 0.002181562 mmap(0x0,86016,0x5,0x20002,3,0x0) = 671571968 
(0x28076000)
  914: 0.002300013 mprotect(0x28089000,0x1000,0x7) = 0 (0x0)
  914: 0.002413156 mprotect(0x28089000,0x1000,0x5) = 0 (0x0)
  914: 0.002537473 mmap(0x2808a000,4096,0x3,0x12,3,0x14000) = 671653888 
(0x2808a000)
  914: 0.002696153 close(3)                      = 0 (0x0)
  914: 0.002844496 access("/lib/libncurses.so.5",0) = 0 (0x0)
  914: 0.002988089 open("/lib/libncurses.so.5",0x0,027757774274) = 3 (0x3)
  914: 0.003083632 fstat(3,0xbfbff8a4)           = 0 (0x0)
  914: 0.003223594 read(0x3,0x2806b320,0x1000)   = 4096 (0x1000)
  914: 0.006647213 mmap(0x0,262144,0x5,0x20002,3,0x0) = 671657984 
(0x2808b000)
  914: 0.007087214 mprotect(0x280c1000,0x1000,0x7) = 0 (0x0)
  914: 0.007674160 mprotect(0x280c1000,0x1000,0x5) = 0 (0x0)
  914: 0.013992560 mmap(0x280c2000,32768,0x3,0x12,3,0x37000) = 671883264 
(0x280c2000)
  914: 0.014305729 mmap(0x280ca000,4096,0x3,0x1012,-1,0x0) = 671916032 
(0x280ca000)
  914: 0.014433119 close(3)                      = 0 (0x0)
  914: 0.014658846 access("/lib/libc.so.5",0)    = 0 (0x0)
  914: 0.014827024 open("/lib/libc.so.5",0x0,027757774274) = 3 (0x3)
  914: 0.014927037 fstat(3,0xbfbff8a4)           = 0 (0x0)
  914: 0.015042135 read(0x3,0x2806b320,0x1000)   = 4096 (0x1000)
  914: 0.015165335 mmap(0x0,892928,0x5,0x20002,3,0x0) = 671920128 
(0x280cb000)
  914: 0.015279596 mprotect(0x2818d000,0x1000,0x7) = 0 (0x0)
  914: 0.015400281 mprotect(0x2818d000,0x1000,0x5) = 0 (0x0)
  914: 0.015525437 mmap(0x2818e000,20480,0x3,0x12,3,0xc2000) = 672718848 
(0x2818e000)
  914: 0.015684675 mmap(0x28193000,73728,0x3,0x1012,-1,0x0) = 672739328 
(0x28193000)
  914: 0.015796980 close(3)                      = 0 (0x0)
  914: 0.015953983 access("/lib/libncurses.so.5",0) = 0 (0x0)
  914: 0.016071596 mmap(0x0,464,0x3,0x1000,-1,0x0) = 672813056 (0x281a5000)
  914: 0.022529400 munmap(0x281a5000,0x1d0)      = 0 (0x0)
  914: 0.022642822 mmap(0x0,920,0x3,0x1000,-1,0x0) = 672813056 (0x281a5000)
  914: 0.022828879 munmap(0x281a5000,0x398)      = 0 (0x0)
  914: 0.022942301 mmap(0x0,4616,0x3,0x1000,-1,0x0) = 672813056 (0x281a5000)
  914: 0.023363584 munmap(0x281a5000,0x1208)     = 0 (0x0)
  914: 0.023470301 mprotect(0x280cb000,0xc3000,0x7) = 0 (0x0)
  914: 0.023583724 mmap(0x0,21264,0x3,0x1000,-1,0x0) = 672813056 
(0x281a5000)
  914: 0.024308676 munmap(0x281a5000,0x5310)     = 0 (0x0)
  914: 0.024425171 mprotect(0x280cb000,0xc3000,0x5) = 0 (0x0)
  914: 0.024594467 sigaction(SIGILL,0xbfbff8e4,0xbfbff8c4) = 0 (0x0)
  914: 0.024684981 sigprocmask(0x1,0x0,0x2806b27c) = 0 (0x0)
  914: 0.024777171 sigaction(SIGILL,0xbfbff8c4,0x0) = 0 (0x0)
  914: 0.024911825 sigprocmask(0x1,0x2806b220,0xbfbff8f4) = 0 (0x0)
  914: 0.025001222 sigprocmask(0x3,0x2806b230,0x0) = 0 (0x0)
  914: 0.027094505 open("/dev/acd0",0x0,01001134273) = 3 (0x3)
  914: 0.040333897 ioctl(3,CHIOGPICKER,0xbfbff8e8) ERR#5 'Input/output 
error'
cdcontrol:   914: 0.041175904 write(2,0xbfbff140,11)     = 11 (0xb)
getting toc header  914: 0.044438609 write(2,0xbfbff160,18)      = 18 (0x12)
:   914: 0.044590304 write(2,0x28183d7e,2)       = 2 (0x2)
Input/output error
  914: 0.044769377 write(2,0xbfbff140,19)        = 19 (0x13)
  914: 0.044993987 exit(0xffffffff)
process exit, rval = 65280

(when there is a CD but it isn't recognized after a few minutes)
  982: 0.003060444 mmap(0x0,3440,0x3,0x1000,-1,0x0) = 671539200 (0x2806e000)
  982: 0.003295670 munmap(0x2806e000,0xd70)      = 0 (0x0)
  982: 0.003385905 __sysctl(0xbfbff7cc,0x2,0x2806c3cc,0xbfbff7c8,0x0,0x0) = 
0 (0x0)
  982: 0.003477257 mmap(0x0,32768,0x3,0x1002,-1,0x0) = 671539200 
(0x2806e000)
  982: 0.003536483 issetugid()                   = 0 (0x0)
  982: 0.003780368 open("/var/run/ld-elf.so.hints",0x0,00) = 4 (0x4)
  982: 0.003859149 read(0x4,0xbfbff864,0x80)     = 128 (0x80)
  982: 0.003939606 lseek(4,0x80,0)               = 128 (0x80)
  982: 0.003997994 read(0x4,0x28070100,0xd0)     = 208 (0xd0)
  982: 0.004080406 close(4)                      = 0 (0x0)
  982: 0.004218971 access("/lib/libedit.so.4",0) = 0 (0x0)
  982: 0.004336863 open("/lib/libedit.so.4",0x0,027757774274) = 4 (0x4)
  982: 0.004402794 fstat(4,0xbfbff8a4)           = 0 (0x0)
  982: 0.004476546 read(0x4,0x2806b320,0x1000)   = 4096 (0x1000)
  982: 0.004589410 mmap(0x0,86016,0x5,0x20002,4,0x0) = 671571968 
(0x28076000)
  982: 0.004653943 mprotect(0x28089000,0x1000,0x7) = 0 (0x0)
  982: 0.004737473 mprotect(0x28089000,0x1000,0x5) = 0 (0x0)
  982: 0.004824076 mmap(0x2808a000,4096,0x3,0x12,4,0x14000) = 671653888 
(0x2808a000)
  982: 0.004912635 close(4)                      = 0 (0x0)
  982: 0.005026336 access("/lib/libncurses.so.5",0) = 0 (0x0)
  982: 0.005139759 open("/lib/libncurses.so.5",0x0,027757774274) = 4 (0x4)
  982: 0.005205689 fstat(4,0xbfbff8a4)           = 0 (0x0)
  982: 0.005274692 read(0x4,0x2806b320,0x1000)   = 4096 (0x1000)
  982: 0.005423873 mmap(0x0,262144,0x5,0x20002,4,0x0) = 671657984 
(0x2808b000)
  982: 0.005485054 mprotect(0x280c1000,0x1000,0x7) = 0 (0x0)
  982: 0.005567467 mprotect(0x280c1000,0x1000,0x5) = 0 (0x0)
  982: 0.005660775 mmap(0x280c2000,32768,0x3,0x12,4,0x37000) = 671883264 
(0x280c2000)
  982: 0.005769168 mmap(0x280ca000,4096,0x3,0x1012,-1,0x0) = 671916032 
(0x280ca000)
  982: 0.005832026 close(4)                      = 0 (0x0)
  982: 0.005944610 access("/lib/libc.so.5",0)    = 0 (0x0)
  982: 0.006057752 open("/lib/libc.so.5",0x0,027757774274) = 4 (0x4)
  982: 0.006122565 fstat(4,0xbfbff8a4)           = 0 (0x0)
  982: 0.006191010 read(0x4,0x2806b320,0x1000)   = 4096 (0x1000)
  982: 0.006275099 mmap(0x0,892928,0x5,0x20002,4,0x0) = 671920128 
(0x280cb000)
  982: 0.006335721 mprotect(0x2818d000,0x1000,0x7) = 0 (0x0)
  982: 0.006423441 mprotect(0x2818d000,0x1000,0x5) = 0 (0x0)
  982: 0.006514515 mmap(0x2818e000,20480,0x3,0x12,4,0xc2000) = 672718848 
(0x2818e000)
  982: 0.006626819 mmap(0x28193000,73728,0x3,0x1012,-1,0x0) = 672739328 
(0x28193000)
  982: 0.006689956 close(4)                      = 0 (0x0)
  982: 0.006820140 access("/lib/libncurses.so.5",0) = 0 (0x0)
  982: 0.006912331 mmap(0x0,464,0x3,0x1000,-1,0x0) = 672813056 (0x281a5000)
  982: 0.006974629 munmap(0x281a5000,0x1d0)      = 0 (0x0)
  982: 0.007055924 mmap(0x0,920,0x3,0x1000,-1,0x0) = 672813056 (0x281a5000)
  982: 0.007185550 munmap(0x281a5000,0x398)      = 0 (0x0)
  982: 0.007268242 mmap(0x0,4616,0x3,0x1000,-1,0x0) = 672813056 (0x281a5000)
  982: 0.007642032 munmap(0x281a5000,0x1208)     = 0 (0x0)
  982: 0.007718019 mprotect(0x280cb000,0xc3000,0x7) = 0 (0x0)
  982: 0.007798477 mmap(0x0,21264,0x3,0x1000,-1,0x0) = 672813056 
(0x281a5000)
  982: 0.008369499 munmap(0x281a5000,0x5310)     = 0 (0x0)
  982: 0.008442972 mprotect(0x280cb000,0xc3000,0x5) = 0 (0x0)
  982: 0.008579581 sigaction(SIGILL,0xbfbff8e4,0xbfbff8c4) = 0 (0x0)
  982: 0.008638527 sigprocmask(0x1,0x0,0x2806b27c) = 0 (0x0)
  982: 0.008700826 sigaction(SIGILL,0xbfbff8c4,0x0) = 0 (0x0)
  982: 0.008799162 sigprocmask(0x1,0x2806b220,0xbfbff8f4) = 0 (0x0)
  982: 0.008858947 sigprocmask(0x3,0x2806b230,0x0) = 0 (0x0)
  982: 0.011156445 open("/dev/acd0",0x0,01001134273) = 4 (0x4)
  982: 0.013062553 ioctl(4,CHIOGPICKER,0xbfbff8e8) ERR#5 'Input/output 
error'
  982: 0.013328509 write(2,0xbfbff140,11)        = 11 (0xb)
  982: 0.013411201 write(2,0xbfbff160,18)        = 18 (0x12)
  982: 0.013484395 write(2,0x28183d7e,2)         = 2 (0x2)
  982: 0.013572674 write(2,0xbfbff140,19)        = 19 (0x13)
  982: 0.013655646 exit(0xffffffff)
process exit, rval = 65280

(when there is a CD in the drive that has been recognized)
  990: 0.001411353 mmap(0x0,3440,0x3,0x1000,-1,0x0) = 671539200 (0x2806e000)
  990: 0.002863492 munmap(0x2806e000,0xd70)      = 0 (0x0)
  990: 0.003815569 __sysctl(0xbfbff7cc,0x2,0x2806c3cc,0xbfbff7c8,0x0,0x0) = 
0 (0x0)
  990: 0.003955251 mmap(0x0,32768,0x3,0x1002,-1,0x0) = 671539200 
(0x2806e000)
  990: 0.004026489 issetugid()                   = 0 (0x0)
  990: 0.004315353 open("/var/run/ld-elf.so.hints",0x0,00) = 4 (0x4)
  990: 0.004394972 read(0x4,0xbfbff864,0x80)     = 128 (0x80)
  990: 0.004477943 lseek(4,0x80,0)               = 128 (0x80)
  990: 0.004537448 read(0x4,0x28070100,0xd0)     = 208 (0xd0)
  990: 0.004622375 close(4)                      = 0 (0x0)
  990: 0.004767086 access("/lib/libedit.so.4",0) = 0 (0x0)
  990: 0.004882185 open("/lib/libedit.so.4",0x0,027757774274) = 4 (0x4)
  990: 0.004947836 fstat(4,0xbfbff8a4)           = 0 (0x0)
  990: 0.005022147 read(0x4,0x2806b320,0x1000)   = 4096 (0x1000)
  990: 0.005139201 mmap(0x0,86016,0x5,0x20002,4,0x0) = 671571968 
(0x28076000)
  990: 0.005204572 mprotect(0x28089000,0x1000,0x7) = 0 (0x0)
  990: 0.005292572 mprotect(0x28089000,0x1000,0x5) = 0 (0x0)
  990: 0.005379734 mmap(0x2808a000,4096,0x3,0x12,4,0x14000) = 671653888 
(0x2808a000)
  990: 0.005465779 close(4)                      = 0 (0x0)
  990: 0.005576966 access("/lib/libncurses.so.5",0) = 0 (0x0)
  990: 0.005691506 open("/lib/libncurses.so.5",0x0,027757774274) = 4 (0x4)
  990: 0.005757156 fstat(4,0xbfbff8a4)           = 0 (0x0)
  990: 0.005826718 read(0x4,0x2806b320,0x1000)   = 4096 (0x1000)
  990: 0.005975341 mmap(0x0,262144,0x5,0x20002,4,0x0) = 671657984 
(0x2808b000)
  990: 0.006037639 mprotect(0x280c1000,0x1000,0x7) = 0 (0x0)
  990: 0.006119493 mprotect(0x280c1000,0x1000,0x5) = 0 (0x0)
  990: 0.006211963 mmap(0x280c2000,32768,0x3,0x12,4,0x37000) = 671883264 
(0x280c2000)
  990: 0.006318401 mmap(0x280ca000,4096,0x3,0x1012,-1,0x0) = 671916032 
(0x280ca000)
  990: 0.006383772 close(4)                      = 0 (0x0)
  990: 0.006492445 access("/lib/libc.so.5",0)    = 0 (0x0)
  990: 0.006606147 open("/lib/libc.so.5",0x0,027757774274) = 4 (0x4)
  990: 0.006671239 fstat(4,0xbfbff8a4)           = 0 (0x0)
  990: 0.006740801 read(0x4,0x2806b320,0x1000)   = 4096 (0x1000)
  990: 0.006824890 mmap(0x0,892928,0x5,0x20002,4,0x0) = 671920128 
(0x280cb000)
  990: 0.006886071 mprotect(0x2818d000,0x1000,0x7) = 0 (0x0)
  990: 0.006971836 mprotect(0x2818d000,0x1000,0x5) = 0 (0x0)
  990: 0.007061233 mmap(0x2818e000,20480,0x3,0x12,4,0xc2000) = 672718848 
(0x2818e000)
  990: 0.007171582 mmap(0x28193000,73728,0x3,0x1012,-1,0x0) = 672739328 
(0x28193000)
  990: 0.007233601 close(4)                      = 0 (0x0)
  990: 0.007361271 access("/lib/libncurses.so.5",0) = 0 (0x0)
  990: 0.007449271 mmap(0x0,464,0x3,0x1000,-1,0x0) = 672813056 (0x281a5000)
  990: 0.007511290 munmap(0x281a5000,0x1d0)      = 0 (0x0)
  990: 0.007593703 mmap(0x0,920,0x3,0x1000,-1,0x0) = 672813056 (0x281a5000)
  990: 0.007722210 munmap(0x281a5000,0x398)      = 0 (0x0)
  990: 0.007805461 mmap(0x0,4616,0x3,0x1000,-1,0x0) = 672813056 (0x281a5000)
  990: 0.008175341 munmap(0x281a5000,0x1208)     = 0 (0x0)
  990: 0.008251607 mprotect(0x280cb000,0xc3000,0x7) = 0 (0x0)
  990: 0.008331226 mmap(0x0,21264,0x3,0x1000,-1,0x0) = 672813056 
(0x281a5000)
  990: 0.008896103 munmap(0x281a5000,0x5310)     = 0 (0x0)
  990: 0.008969576 mprotect(0x280cb000,0xc3000,0x5) = 0 (0x0)
  990: 0.009103112 sigaction(SIGILL,0xbfbff8e4,0xbfbff8c4) = 0 (0x0)
  990: 0.009161500 sigprocmask(0x1,0x0,0x2806b27c) = 0 (0x0)
  990: 0.009224077 sigaction(SIGILL,0xbfbff8c4,0x0) = 0 (0x0)
  990: 0.009322414 sigprocmask(0x1,0x2806b220,0xbfbff8f4) = 0 (0x0)
  990: 0.009381639 sigprocmask(0x3,0x2806b230,0x0) = 0 (0x0)
  990: 0.015252218 open("/dev/acd0",0x0,01001134273) = 4 (0x4)
  990: 0.015474034 ioctl(4,CHIOGPICKER,0xbfbff8e8) = 0 (0x0)
  990: 0.015601424 fstat(1,0xbfbff530)           = 0 (0x0)
  990: 0.015817932 readlink("/etc/malloc.conf",0xbfbff510,63) ERR#2 'No such 
file or directory'
  990: 0.015888612 issetugid()                   = 0 (0x0)
  990: 0.015923812 getuid()                      = 1001 (0x3e9)
  990: 0.015956497 getgid()                      = 1001 (0x3e9)
  990: 0.016060980 mmap(0x0,4096,0x3,0x1002,-1,0x0) = 672813056 (0x281a5000)
  990: 0.016155126 break(0x8050000)              = 0 (0x0)
  990: 0.016242288 break(0x8051000)              = 0 (0x0)
  990: 0.016345373 ioctl(1,TIOCGETA,0xbfbff570)  = 0 (0x0)
  990: 0.016460472 write(1,0x8050000,60)         = 60 (0x3c)
  990: 0.016545120 ioctl(4,CDIOREADTOCENTRYS,0xbfbff8c0) = 0 (0x0)
  990: 0.016622224 write(1,0x8050000,49)         = 49 (0x31)
  990: 0.016692345 write(1,0x8050000,50)         = 50 (0x32)
  990: 0.016784536 write(1,0x8050000,49)         = 49 (0x31)
  990: 0.016876167 write(1,0x8050000,49)         = 49 (0x31)
  990: 0.016966961 write(1,0x8050000,49)         = 49 (0x31)
  990: 0.017058593 write(1,0x8050000,49)         = 49 (0x31)
  990: 0.017151342 write(1,0x8050000,49)         = 49 (0x31)
  990: 0.017242694 write(1,0x8050000,49)         = 49 (0x31)
  990: 0.017333488 write(1,0x8050000,49)         = 49 (0x31)
  990: 0.017425399 write(1,0x8050000,49)         = 49 (0x31)
  990: 0.017516472 write(1,0x8050000,49)         = 49 (0x31)
  990: 0.017606986 write(1,0x8050000,49)         = 49 (0x31)
  990: 0.017698059 write(1,0x8050000,49)         = 49 (0x31)
  990: 0.017788574 write(1,0x8050000,49)         = 49 (0x31)
  990: 0.017877132 write(1,0x8050000,49)         = 49 (0x31)
  990: 0.017959266 exit(0x0)
process exit, rval = 0


--
Evan Dower
Undergraduate, Computer Science
University of Washington
Public key: http://students.washington.edu/evantd/pgp-pub-key.txt
Key fingerprint = D321 FA24 4BDA F82D 53A9  5B27 7D15 5A4F 033F 887D




>From: Doug White <dwhite_at_gumbysoft.com>
>To: Evan Dower <evantd_at_hotmail.com>
>CC: freebsd-current_at_freebsd.org
>Subject: Re: audio cd problems
>Date: Tue, 13 Jan 2004 11:28:02 -0800 (PST)
>
>I think we're dealing with two different issues here.
>
>1.  Disc takes a long time to "show up"
>2.  Can't rip data from the disc
>
>I can't reproduce #1 on my -current box. gnome-cd and cdcontrol work as
>expected.  It sounds like something isn't touching the disc causing geom
>to 'taste' it and register the track devices.  However gnome-cd polls the
>device regularly so this should eventually happen.  You'll need to examine
>the state of /dev/acd* and try doing something like 'cdcontrol info' to
>force a read on the device and see if /dev/acd* changes.  More
>investigation here is needed... have you tried rebuilding gnome-cd?
>Truss'd it to see what its getting back from the cd device open? Checked
>for ATA errors communicating with your cd device?
>
>As for #2, there is a known API change with ripping that caused the
>CDROMREADAUDIO ioctl to go away. Since the tracks are registered in devfs,
>you can rip CDs using a direct read on /dev/acd?t? instead of the ioctl.
>The CD rippers need to be updated to use this new API.  I would think that
>SCSI-based rippers would continue to work, however, if using atapicam.
>
>cdparanoia is working properly on my -current box, so you may just need to
>update & rebuild the port to get the necessary patches. cdda2wav doesn't
>accept a device name as a -D argument, which may be how the maintainer
>decided to disable ioctl operation.  I don't have atapicam in the kernel
>so I can't test this as of yet.  I will also try grip.
>
>On Tue, 13 Jan 2004, Evan Dower wrote:
>
> > Unfortunately since I don't use audio CDs very often I can't give a good
> > time scale. I'm guessing that it happened either with ATAng about 4 
>months
> > ago, or with the recent GEOMification about 2 months ago. In any case, 
>there
> > was a recent commit regarding timeout/reinit so, I'll have to install a 
>new
> > world and see if that fixes things. I primarily use grip, but I believe 
>I
> > also tried gnome's CD player and cdcontrol with similar results. Somet 
>imes
> > the CD shows up within a minute and sometimes it seems to take around a 
>half
> > hour. I don't get any sort of panic. It just takes an inordinate amount 
>of
> > time for the CD to become visible. Regarding ripping, I have tried both
> > cdda2wav and cdparanoia. For a while cdparanoia worked when cdda2wav did
> > not. I assume this was because it had been patched for a recent constant
> > change (CDROMREADAUDIO or something like that). Following is some output
> > from cdda2wav and then cdparanoia. Since the may have been fixed in a 
>recent
> > commit to the ATA system, I will update and get back to you.
> > ********************************** begin cdda2wav output
> > % cdda2wav -t 3 -D /dev/acd0 -s -x -O wav 2>&1
> > cdrom device (/dev/acd0) is not of type generic SCSI. Setting interface 
>to
> > cooked_ioctl.
> > 266240 bytes buffer memory requested, 4 buffers, 27 sectors
> > ReadToc_cooked (CDROMREADTOCHDR)...
> > #Cdda2wav version 2.00.3_freebsd_5.1-release_i386_i386, real time 
>sched.,
> > soundcard, libparanoia support
> > EnableCdda_cooked (CDIOCSETCDDA)...
> > EnableCdda_cooked (CDIOCSETCDDA) is not available...
> > AUDIOtrack pre-emphasis  copy-permitted tracktype channels
> >       1-12          yes              no     audio    2
> > Table of Contents: total tracks:12, (total time 56:52.47)
> >   1.( 3:26.15),  2.( 3:59.38),  3.( 5:22.02),  4.( 4:06.25),  5.( 
>3:18.65),
> >   6.( 3:03.05),  7.( 3:10.33),  8.( 5:07.42),  9.( 5:47.10), 10.( 
>4:43.48),
> > 11.( 5:12.27), 12.( 9:33.05)
> >
> > Table of Contents: starting sectors
> >   1.(      32),  2.(   15497),  3.(   33460),  4.(   57612),  5.(   
>76087),
> >   6.(   91002),  7.(  104732),  8.(  119015),  9.(  142082), 10.(  
>168117),
> > 11.(  189390), 12.(  212817), lead-out(  255797)
> > CDINDEX discid: VLsTa7GbBeXS577xlEfV.J4Zui0-
> > CDDB discid: 0xaf0d520c
> > CD-Text: not detected
> > CD-Extra: not detected
> > samplefile size will be 56805548 bytes.
> > recording 322.0266 seconds stereo with 16 bits _at_ 44100.0 Hz ->'audio'...
> > overlap:min/max/cur, jitter, percent_done:
> >   /  /  /          0%ReadCdRom_cooked (CDROMREADAUDIO)...
> > cooked: Read cdda : Inappropriate ioctl for device
> > sector 33460 + 27, buffer 28199000 + 41000
> > ^M27/ 0/ 1/  -2352   0%ReadCdRom_cooked (CDROMREADAUDIO)...
> > cooked: Read cdda : Inappropriate ioctl for device
> > sector 33486 + 27, buffer 281A9000 + 41000
> > ^M 1/ 1/ 1/      0   0%ReadCdRom_cooked (CDROMREADAUDIO)...
> > cooked: Read cdda : Inappropriate ioctl for device
> > sector 33512 + 27, buffer 281B9000 + 41000
> > ^M 1/ 1/ 1/      0   0%ReadCdRom_cooked (CDROMREADAUDIO)...
> > cooked: Read cdda : Inappropriate ioctl for device
> > << snip >>
> > cooked: Read cdda : Inappropriate ioctl for device
> > sector 57562 + 27, buffer 281C9000 + 41000
> > ^M 1/ 1/ 1/      0  99%ReadCdRom_cooked (CDROMREADAUDIO)...
> > cooked: Read cdda : Inappropriate ioctl for device
> > sector 57588 + 24, buffer 28199000 + 41000
> > ^M 1/ 1/ 1/      0 100%EnableCdda_cooked (CDIOCSETCDDA)...
> > non audio sector size is ignored.
> > EnableCdda_cooked (CDIOCSETCDDA) is not available...
> > 100%  track  3 successfully recorded
> > ******************************************* end cdda2wav output
> > Note: cdda2wav creates a file audio.wav that contains the appropriate 
>amount
> > of silence.
> > ******************************************** begin cdparanoia output
> > % cdparanoia -v -d /dev/acd0 -w 8 blah.wav
> > cdparanoia III release 9.8 (March 23, 2001)
> > (C) 2001 Monty <monty_at_xiph.org> and Xiphophorus
> > FreeBSD porting (c) 2003
> >         Simon 'corecode' Schubert <corecode_at_corecode.ath.cx>
> >
> > Report bugs to paranoia_at_xiph.org
> > http://www.xiph.org/paranoia/
> >
> > Checking /dev/acd0 for cdrom...
> >                 Could not open SCSI device: cam_lookup_pass: couldn't 
>open
> > /dev/xpt0
> > cam_lookup_pass: Permission denied: Permission denied
> >                 CDROM sensed: Generic cooked ioctl CDROM
> >
> > Verifying drive can read CDDA...
> >
> >         Unable to read any data; drive probably not CDDA capable.
> > 006: Could not read any data from drive
> >
> > Cdparanoia could not find a way to read audio from this drive.
> > ************************************************ end cdparanoia output
> >
> > Thanks very much, I'll share what I find out after I do another
> > installworld.
> > --
> > Evan Dower
> > Undergraduate, Computer Science
> > University of Washington
> > Public key: http://students.washington.edu/evantd/pgp-pub-key.txt
> > Key fingerprint = D321 FA24 4BDA F82D 53A9  5B27 7D15 5A4F 033F 887D
> >
> >
> >
> >
> > >From: Doug White <dwhite_at_gumbysoft.com>
> > >To: Evan Dower <evantd_at_hotmail.com>
> > >CC: freebsd-current_at_freebsd.org
> > >Subject: Re: audio cd problems
> > >Date: Mon, 12 Jan 2004 13:00:26 -0800 (PST)
> > >
> > >On Sun, 11 Jan 2004, Evan Dower wrote:
> > >
> > > > For quite some time, I've had audio cd related issues with recent
> > > > -current's.
> > >
> > >Can you provide an exact duplication scenario? Approximate time when
> > >problems started? Programs involved?
> > >
> > >I was testing audio cds with last month's -current when trying to 
>figure
> > >out a panic with switching discs.  The audio cds came up fine then.
> > >
> > >--
> > >Doug White                    |  FreeBSD: The Power to Serve
> > >dwhite_at_gumbysoft.com          |  www.FreeBSD.org
> >
> > _________________________________________________________________
> > Check out the new MSN 9 Dial-up — fast & reliable Internet access with 
>prime
> > features! http://join.msn.com/?pgmarket=en-us&page=dialup/home&ST=1
> >
>
>--
>Doug White                    |  FreeBSD: The Power to Serve
>dwhite_at_gumbysoft.com          |  www.FreeBSD.org

_________________________________________________________________
Let the new MSN Premium Internet Software make the most of your high-speed 
experience. http://join.msn.com/?pgmarket=en-us&page=byoa/prem&ST=1
Received on Tue Jan 13 2004 - 12:22:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:37 UTC