Hi @sebras, libcdaudio is looking for a maintainer. Would you accept becoming a maintainer of the project, and apply the patch yourself?
Hey! I tested your patch and (as expected) it works flawlessly (as does eject(1)!). Do you mind getting this patch into libcdaudio so I can enjoy it in Debian/testing without having to patch libraries? :) / Sebastian
What I've found out, is that no PLAYMSF command appears in the output of strace. I can't even find a child process spawned by cdcd. But the CD does spin in the drive.
No sound output to ALSA device
No sound output to ALSA device
No sound output to ALSA device
No sound output to ALSA device
cd_eject (): ioctl (cd_desc, CDAUDIO_EJECT) always returning -1
I can accept your proposal, but I'm too busy to contribute to this project regularly.
Perfect! However, cdcd/libcdaudio is looking for a maintainer. Would you accept becoming a maintainer, so that you can integrate the change directly?
Sorry, typo in the sourcecode!
I've now got a solution based on the eject_scsi () method from the eject utility: If the old CDROMEJECT fails, just switch to a series of SCSI commands as a fallback. Continue here: Patch #7
Eject ioctl error resolved
OK, I've adapted the cd_eject following the eject utility and recompiled the library as well as cdcd, but no use: Instead of the CD, I only get the ioctl error. See the file attached for a complete output of strace when invoking cdcd with the eject command directly from the shell. UPDATE: After fiddling around with the eject utility, I found out that my drive (and many others as well, I suppose) apparently would only accept SCSI commands, so it's basically a SCSI-over-USB device: pi@autoradio:/import/valen/autoradio...
OK, I've adapted the cd_eject following the eject utility and recompiled the library as well as cdcd, but no use: Instead of the CD, I only get the ioctl error. See the file attached for a complete output of strace when invoking cdcd with the eject command directly from the shell.
Thank you for the hints. I have already decoded the errno: It gives me 5, which means "input output error" — so the error can be literally anywhere. UPDATE: After another user's hint, I used strace to hunt down the cause of the error. Here is its output: ioctl(3, CDROM_DISC_STATUS, 0) = 100 ioctl(3, CDROMSUBCHNL, 0x7e93e308) = 0 ioctl(3, CDROMEJECT, 0x1) = -1 EIO (Input/output error) write(1, "ioctl returned -1\n", 18) = 18 For comparison, here is the strace output of the eject command-line utility,...
Thank you for the hints. I have already decoded the errno: It gives me 5, which means "input output error" — so the error can be literally anywhere. UPDATE: After another user's hint, I used strace to hunt down the cause of the error. Here is its output: ioctl(3, CDROM_DISC_STATUS, 0) = 100 ioctl(3, CDROMSUBCHNL, 0x7e93e308) = 0 ioctl(3, CDROMEJECT, 0x1) = -1 EIO (Input/output error) write(1, "ioctl returned -1\n", 18) = 18 For comparison, here is the strace output of the eject command-line utility,...
Thank you for the hints. I have already decoded the errno: It gives me 5, which means "input output error" — so the error can be literally anywhere. UPDATE: After another user's hint, I used strace to hunt down the cause of the error. Here is its output: ioctl(3, CDROM_DISC_STATUS, 0) = 100 ioctl(3, CDROMSUBCHNL, 0x7e93e308) = 0 ioctl(3, CDROMEJECT, 0x1) = -1 EIO (Input/output error) write(1, "ioctl returned -1\n", 18) = 18
Thank you for the hints. I have already decoded the errno: It gives me 5, which means "input output error" — so the error can be literally anywhere.
Hello, In src/compat.h we define: #ifdef CDROMEJECT #define CDAUDIO_EJECT CDROMEJECT #endif So we really use CDROMEJECT. The error message comes from this function in src/cdaudio.c: /* Eject the tray */ int cd_eject(int cd_desc) { int r = ioctl(cd_desc, CDAUDIO_EJECT); if(r) { printf("ioctl returned %d\n", r); return -1; } return 0; } What we could add here is an additional print of the errno (with e.g. perror()) to better understand the error. Note that libcdaudio and cdcd are currently in search...
cd_eject (): ioctl (cd_desc, CDAUDIO_EJECT) always returning -1
I'm sergiomb, we may apply 3 downstream patches https://pkgs.fedoraproject.org/cgit/rpms/libcdaudio.git/tree/,...
Hello, I have not checked it but there are certainly lots of things to do in the...
This patch looks good to me , should be applied on git source ? like others for example:...
Well done, I confirm that this is a problem. Please feel free to submit a fix. I'm...
cddb.c: 3 * possible bad array index ?
.gitignore: ignore generated files.
Clean & make ./autogen.sh nicer.
Do not depend on bash.