From owner-freebsd-bugs Mon Nov 20 3:40: 6 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 7949B37B4C5 for ; Mon, 20 Nov 2000 03:40:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id DAA27819; Mon, 20 Nov 2000 03:40:01 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from tatsuki.ohnolab.org (PPP1042.tokyo-ip.dti.ne.jp [211.132.76.42]) by hub.freebsd.org (Postfix) with ESMTP id D8EE337B479 for ; Mon, 20 Nov 2000 03:38:26 -0800 (PST) Received: (from root@localhost) by tatsuki.ohnolab.org (8.9.3/8.9.3) id UAA00499; Mon, 20 Nov 2000 20:36:57 +0900 (JST) (envelope-from kimoto) Message-Id: <200011201136.UAA00499@tatsuki.ohnolab.org> Date: Mon, 20 Nov 2000 20:36:57 +0900 (JST) From: kimoto@ohnolab.org Reply-To: kimoto@ohnolab.org To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: i386/22971: RealProducer doesn't work on linux emulation. Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 22971 >Category: i386 >Synopsis: RealProducer doesn't work on linux emulation >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Nov 20 03:40:01 PST 2000 >Closed-Date: >Last-Modified: >Originator: Masahiko KIMOTO >Release: FreeBSD 4.1-RELEASE i386 >Organization: Tokyo Institute of Technology >Environment: FreeBSD 3.x, 4.x and current. Linux Emulation base-6.1. Any SoundCards, Any Sound drivers. >Description: RealProducer doesn't work on linux emulation on any version of FreeBSD because of lack of a ioctl for /dev/mixer which is used by RealProducer. >How-To-Repeat: Install RealProducer, enable linux emulation and run realproducer. It terminates with error message of 'ioctl is not implemented' >Fix: Simply add the conversion of the ioctl to linux emulation module. The following patch for FreeBSD 4.1-RELEASE solves the problem. Please apply it to current. *** sys/i386/linux/linux_ioctl.c.orig Mon Nov 20 20:22:07 2000 --- sys/i386/linux/linux_ioctl.c Mon Nov 20 20:23:11 2000 *************** *** 1044,1049 **** --- 1044,1053 ---- args->cmd = SETDIR(SOUND_MIXER_WRITE_LINE3); return (ioctl(p, (struct ioctl_args *)args)); + case LINUX_SOUND_MIXER_WRITE_RECSRC: + args->cmd = SETDIR(SOUND_MIXER_WRITE_RECSRC); + return ioctl(p, (struct ioctl_args *)args); + case LINUX_OSS_GETVERSION: { int version = linux_get_oss_version(p); return (copyout(&version, (caddr_t)args->arg, sizeof(int))); *** sys/i386/linux/linux_ioctl.h.orig Mon Nov 20 20:23:43 2000 --- sys/i386/linux/linux_ioctl.h Mon Nov 20 20:24:08 2000 *************** *** 163,168 **** --- 163,169 ---- #define LINUX_SOUND_MIXER_WRITE_LINE1 0x4d0E #define LINUX_SOUND_MIXER_WRITE_LINE2 0x4d0F #define LINUX_SOUND_MIXER_WRITE_LINE3 0x4d10 + #define LINUX_SOUND_MIXER_WRITE_RECSRC 0x4dff #define LINUX_OSS_GETVERSION 0x4d76 #define LINUX_SOUND_MIXER_READ_DEVMASK 0x4dfe #define LINUX_SNDCTL_DSP_RESET 0x5000 >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message