Subject: Re: MAKEDEV can't make /dev/audio* on Qube2
To: Daniel C. Sinclair <daniel.c.sinclair@gmail.com>
From: Andy Ruhl <acruhl@gmail.com>
List: port-cobalt
Date: 02/08/2005 10:08:52
On Mon, 7 Feb 2005 20:45:08 -0800, Daniel C. Sinclair
<daniel.c.sinclair@gmail.com> wrote:
> I have a Creative AudioPCI in my Qube2 and the eap driver in my
> kernel.  It boots up and detects the soundcard, listing this in dmesg:
> 
> eap0 at pci0 dev 10 function 0: Ensoniq CT5880 CT5880-C (rev. 0x02)
> eap0: interrupting at irq 9
> eap0: ac97: SigmaTel STAC9721/23 codec; 18 bit DAC, 18 bit ADC, SigmaTel 3D
> eap0: ac97: ext id 200<AMAP>
> audio0 at eap0: full duplex, mmap, independent
> 
> When I use MAKEDEV to make the audio device files it says:
> 
> MAKEDEV: audio0: unknown device
> MAKEDEV: audio1: unknown device
> MAKEDEV: audio2: unknown device
> MAKEDEV: audio3: unknown device
> 
> It turns out that the audio devices are not listed in netbsd-cobalt's
> MAKEDEV file.  Anyone know why?  I tried copying a MAKEDEV from a
> netbsd-i386 machine and running that.  It creates the following:
> 
> lrwx------  1 root  wheel        6 Feb  7 20:05 audio -> audio0
> crw-rw-rw-  1 root  wheel  42, 128 Feb  7 19:37 audio0
> crw-rw-rw-  1 root  wheel  42, 129 Feb  7 19:37 audio1
> crw-rw-rw-  1 root  wheel  42, 130 Feb  7 19:37 audio2
> crw-rw-rw-  1 root  wheel  42, 131 Feb  7 19:37 audio3
> lrwx------  1 root  wheel        9 Feb  7 20:05 audioctl -> audioctl0
> crw-rw-rw-  1 root  wheel  42, 192 Feb  7 19:37 audioctl0
> crw-rw-rw-  1 root  wheel  42, 193 Feb  7 19:37 audioctl1
> crw-rw-rw-  1 root  wheel  42, 194 Feb  7 19:37 audioctl2
> crw-rw-rw-  1 root  wheel  42, 195 Feb  7 19:37 audioctl3
> 
> But when I try to access the audio device I get this:
> 
> cannot create audio: no such device or address
> 
> I don't know much about how UNIX device files work, but I'm guessing
> that the major/minor device numbers are incorrect for this platform.
> Can someone tell me what numbers I should use or where I can find
> them?  Perhaps in the eap driver source code?

I don't claim to know what I'm talking about here, so be warned.

If you read the MAKEDEV script, you find that it's mostly doing mknod.
The man page for mknod says to look here for more info about major
numbers:

``/usr/src/sys/arch/<arch>/<arch>/conf.c''

But I just looked at a few architectures and conf.c doesn't exist.

My brain has thus run out of capacity to comprehend this problem.

But if you figure it out it would be nice to get smb devices built
too. I got the kernel to compile with SMBFS, but MAKEDEV doesn't build
the devices.

Andy