"SNDCTL_CARDINFO: Device not configured" on FreeBS

OSS specific BSD discussion (FreeBSD/NetBSD/OpenBSD)

Moderators: cesium, dev, kodachi, hannu

"SNDCTL_CARDINFO: Device not configured" on FreeBS

Postby nwhs » Fri Dec 12, 2008 12:36 pm

Hello,

I've installed oss4 from ports on my FreeBSD 7.1-beta2 and have added
Code: Select all
oss_load="YES"
in rc.conf.
But after reboot ossinfo gives very strange output:
Code: Select all
[root@tplayer ~]# ossinfo
Version info: FreeBSD native OSS ABI 700112 (0x00040000)
<many Ъ> ю
Platform: FreeBSD/i386 7.1-BETA2 FreeBSD 7.1-BETA2 #4: Fri Nov  7 14:51:57 MSK 2008     root@tplayer:/usr/obj/usr/src/sys/PLAYER (tplayer)

Number of audio devices:        9
Number of audio engines:        -1
Number of mixer devices:        2


Device objects
SNDCTL_CARDINFO: Device not configured

This is for GeForce 8200 integrated soundcard and Creative CT5880-C.
Code: Select all
tplayer# cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386)
Installed devices:
pcm0: <NVidia> at memory 0xfbf78000 irq 11  [20080420_0052] [MPSAFE] (1p:1v/1r:1v channels duplex)
pcm1: <Creative> at io 0xec00 irq 10 kld snd_es137x [MPSAFE] (2p:1v/1r:1v channels duplex default)


Do i need to disable something or anything else to do to make it work? I haven't found any guides on installing oss under freebsd (people just writes "i've installed OSS+<smth>") or threads with similar problem so please help me.
Last edited by nwhs on Mon Dec 15, 2008 10:37 am, edited 1 time in total.
nwhs
New Member
 
Posts: 3
Joined: Fri Dec 12, 2008 12:11 pm

Postby cesium » Fri Dec 12, 2008 12:48 pm

Weird... You need to disable the FreeBSD drivers so that they don't conflict with the OSS ones - it looks like they're still loaded?
Also, you might wish to manually compile OSS <s>(preferably latest source from mercurial, since there are certain improvements for FreeBSD relative to 4.0 b1016)</s> [edit: The OSS port has been updated to 4.1 b1050, so nevermind that] using this guide, <s>especially</s> if the above didn't work out for you.
Last edited by cesium on Mon Dec 15, 2008 11:41 am, edited 2 times in total.
cesium
Developer
 
Posts: 902
Joined: Sun Aug 12, 2007 12:51 am

Postby nwhs » Mon Dec 15, 2008 10:46 am

Yes, FreeBSD drivers was active, actually i forgot to disable it :oops:
Today, i compiled manually oss v4.1-build1050 and installed it. It has detected Creative soundcard with no words about Nvidia and i've got this:
Code: Select all
Version info: OSS 4.1 (b 1050/200812150818) (0x00040100) GPL
Platform: FreeBSD/i386 7.1-BETA2 FreeBSD 7.1-BETA2 #4: Fri Nov  7 14:51:57 MSK 2008     root@tplayer:/usr/obj/usr/src/sys/PLAYER (tplayer)

Number of audio devices:   2
Number of audio engines:   6
Number of mixer devices:   1


Device objects
0: oss_sbpci0 Sound Blaster PCI128


Mixer devices
0: AC97 Mixer (STAC9721) (Mixer 0 of device object 0)

Audio devices
Sound Blaster PCI128 (rev 2)      /dev/oss/oss_sbpci0/pcm0  (device index 0)
Sound Blaster PCI128 (playback only)  /dev/oss/oss_sbpci0/pcm1  (device index 1)


I made oss to work, thanx =), but does the Nvidia8300 integrated card supported? I think that the strange output from ossmixer was because oss was off, i've got the similar with both FreeBSD drivers and oss (4.1) unactive.
nwhs
New Member
 
Posts: 3
Joined: Fri Dec 12, 2008 12:11 pm

Postby cesium » Mon Dec 15, 2008 11:25 am

It isn't listed as supported, but maybe it's just a variant of a suppored card? Can you discover the pci id? 'pciconf -lv' might show this on FreeBSD [edit: Searching the net, it shows as an intergrated HDAudio chip, so with the right id, it will probably work].

As for installing OSS on FreeBSD (I've just noticed the edit), both the port and the manual complie&install should work. The port requires editing rc.conf to enable OSS and disable the native drivers, and the manual install is covered by the link (though you'd still have to disable the native drivers).
cesium
Developer
 
Posts: 902
Joined: Sun Aug 12, 2007 12:51 am

Postby nwhs » Mon Dec 15, 2008 2:01 pm

The actual chip is VT1708B (VIA 8-channel audio codec, according to motherboard specs), and i've found VIA linux driver "VIA’s VT8237A South Bridge chips and the VIA VT1708 HD Audio Codec", 1708B add "DTS Connect" to 1708.
In devices.list file there are two interesting string,
Code: Select all
oss_hdaudio   pci1106,3288   VIA High Definition Audio
oss_via823x   pci1106,3059   VIA VT8233/8235/8237
while the second seems to refer to VIA southbridge soundcard (with VT1708 codec), the first may be for 1708B.
pciconf -lv gives
Code: Select all
none5@pci0:0:7:0:       class=0x040300 card=0x829f1043 chip=0x077410de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = multimedia
(there are no other multimedia devices, i don't think that it is integrated video)

How do i set card's id for oss? Do i need a patch for a binary or source or just to modify devices.list? (If there is a FAQ or guide, please give me a link, a haven't found them)

btw, native FreeBSD drivers worked fine (but i needed ossinfo and more control on playback).
nwhs
New Member
 
Posts: 3
Joined: Fri Dec 12, 2008 12:11 pm

Postby cesium » Mon Dec 15, 2008 2:13 pm

Well, you need to change two files in the source, both in the kernel/drv/oss_hdaudio directory:
A) oss_hdaudio.c - it needs another #define for the pci id (around line 30 or so), and to add to the checks in lines 1720 and 1773 - basically add it everywhere the NVIDIA_DEVICE_... defines are used.
B) The .devices file - used by ossdetect only, so it's not strictly required.
C) Adding the codec id to hdaudio_codecids.h would be nice, but isn't required either, and best not done now.
After that, you just rebuild and reinstall.

I can't figure out the pciconf output, so I don't know what the subid is. I'm used to lspci output... Maybe the freebsd source has the id, or you can check with pciutils... Or maybe pciconf needs multiple '-v' switches...
[edit: clarify a bit. pci subid isn't best term here - what we need is the non-vendor part of the pci id]
cesium
Developer
 
Posts: 902
Joined: Sun Aug 12, 2007 12:51 am

Postby cesium » Mon Dec 15, 2008 6:23 pm

The patch at: http://mailman.opensound.com/pipermail/ ... 00833.html might work (it's for GeForce 8200). Anyway, it shows how to patch oss_hdaudio.
cesium
Developer
 
Posts: 902
Joined: Sun Aug 12, 2007 12:51 am


Return to BSD

Who is online

Users browsing this forum: Majestic-12 [Bot] and 1 guest