Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Nov 2000 20:36:57 +0900 (JST)
From:      kimoto@ohnolab.org
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   i386/22971: RealProducer doesn't work on linux emulation.
Message-ID:  <200011201136.UAA00499@tatsuki.ohnolab.org>

next in thread | raw e-mail | index | archive | help

>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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200011201136.UAA00499>