trying to recording while listening (as i used to), i discovered OSS 4.2 don't create pcm1 anymore. So, we have only one pcm registered in /dev/oss...Is it a way to get more than one pcm device (other than buying a commercial version of OSS) ?(using vmixctl don't work too, oss driver report no support at all)Should we use previous versions (i get 3 or 4 of them working like a charm with vmix and pcm1 enabled) ?

Can you also paste here the output of "ossinfo -v3" and of "ossmix"? From what I can tell, vmix is already attached (because the number of engines is higher than the number of devices)... Also, test this using "ossrecord" program along with "ossplay".

2. OSS 4.0 (b071011/200904080824) built under FreeBSD-6.3, module loaded under FreeBSD-7.2 :- all oss directories from 6.3 were used (etc, module, config ...), no mix-up btw versions.- we are on the same motherboardResult => bad trap, kernel panic, reboot- Explain : don't try this, even with COMPAT6 option enabled on FBSD-7.2 kernel, i think module sources was specifically designed for 6.x and don't work under 7.x

3. OSS 4.0 (b071011/200904080824) built under FreeBSD-7.2 and loaded on FreeBSD-7.2 (sources from oss-v4.0-build1016-src-bsd.tar.bz2) :- soundon => no trouble on loading kernel module- work fine, but i don't try a 'brainstorming' on 7.2, all my audio programs were compiled with OSS-4.2/soundcard.h version, so it could be lead to some trouble, i must rebuild them.- FYI : i didn't remember myself, but compiling build1016 lead to a bug ; i re-discovered it and fix it one more time ! (a very small one, see ossdetect.c:296 )- ossinfo say :

4.2 tries to set up all vmix devices under /dev/dsp, so that users won't have to set up programs to use different /dev/dspN if they want to make several output simultaneously. It's based on a FreeBSD 7-only feature (7.1+ to be more exact). I know this works for multiple playback, and I believe it should work for mixed recording/playback too. Does ossrecord under 4.2 give out an error if it's used without '-d/dev/dsp1'?

Secondly, I think setting "flat_device_model=1" in 4.2's /usr/lib/oss/osscore.conf (or /usr/local/lib/oss/osscore.conf - depends if you're using the port) and restarting OSS, will lead to the same result you're seeking (split device files). If that's not enough, you can rebuild OSS with the following modification: edit kernel/OS/FreeBSD/wrapper/bsddefs.h and prevent it from defining VDEV_SUPPORT. The rebuilt OSS will have the same behaviour as 4.0.

Thirdly, soundcard.h should be binary compatible across versions, so no need to worry there. 4.2 should work more nicely with FreeBSD - it has several fixes for programs compiled under local soundcard.h (e.g. SNDCTL_DSP_GETBLKSIZE is defined slightly differently under FreeBSD - 4.2 supports that) and for FreeBSD behaviour (e.g. fcntl() call to set up/remove nonblocking flag failed because FreeBSD sends some ioctls to driver in that case. This hurt libSDL based programs).