Summary: | sysutils/dvd+rw-tools: Fails to run growisofs: :-( unable to CAMGETPASSTHRU for /dev/cd0: Inappropriate ioctl for device | ||
---|---|---|---|
Product: | Base System | Reporter: | papowell |
Component: | kern | Assignee: | Warner Losh <imp> |
Status: | In Progress --- | ||
Severity: | Affects Only Me | CC: | andreas.mahling, arved, grahamperrin, imp, mbeis |
Priority: | --- | Flags: | linimon:
mfc-stable14?
linimon: mfc-stable13? |
Version: | 15.0-CURRENT | ||
Hardware: | amd64 | ||
OS: | Any |
Description
papowell
2015-03-06 00:33:26 UTC
I forgot to indicate that I have: /boot/loader.conf: atapicam_load="YES" But when I do kldstat it does not show up in the installed modules list. Cross-reference: <https://forums.freebsd.org/threads/85282/> Re-classify (ports issue) until any (potential) base issue can be identified. We'll need reproduction against a supported FreeBSD version too. I have a similar issue with CD ripping tool audio/freac v1.1.5 It runs flawlessly under 13.0, after upgrading base system to 13.1 it fails to connect to /dev/cd0 with error ++ WARN: ioctl(fd, CDIOCALLOW) failed: Invalid argument ++ WARN: open: Inappropriate ioctl for device It doesn't matter whether I use the freac package or compile it from the ports tree uname -a FreeBSD NomadBSD 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC amd64 I've added the comment, because I suppose it is a problem with the base system. Please let me know, if I would better open a bug report for the freac port. Thank you. I have a fix. I'll commit and merge to 14 and 13. A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=028b16e2088a682c1abfb74fa5eb7ff64405ffff commit 028b16e2088a682c1abfb74fa5eb7ff64405ffff Author: Warner Losh <imp@FreeBSD.org> AuthorDate: 2024-07-25 04:47:45 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2024-07-25 04:47:45 +0000 cam: better ioctl compatibility for cd Unlike xpt and pass driver, there's no test for ENOTTY in cdioctl to try the compatbility ioctls. Add one. However, this is a disk ioctl, not a cdev ioctl. To get around this, we cast the struct disk * to a struct cdev * to pass through. We cast it back in a simple wrapper function. PR: 198336 Sponsored by: Netflix MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D42666 Differential Revision: https://reviews.freebsd.org/D35312 sys/cam/cam_compat.c | 6 ++++++ sys/cam/cam_periph.c | 22 +++++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) ^Triage: patch committed but into src tree. Reclassify a bit. |