2011-04-22 21:31

FreeBSD : faire fonctionner le NuForce uDac

nuforce µDAC

Le NuForce uDac est un DAC USB, qui joue le rôle d'une carte son externe. Malgré sa taille très réduite, sa qualité sonore est plus que correcte. Il permet donc de remplacer avantageusement les puces audio, souvent de qualité médiocre, intégrées au ordinateurs portables.

J'ai cependant eu quelques problèmes pour le faire fonctionner sous freeBSD. La démarche proposée dans le handbook ne permet pas de charger le driver adéquat.

On peut d'abord constater que le DAC est bien détecté au branchement :

# dmesg [...]
uhid1: <Vendor strings are placed here. Nuforce DAC, class 0/0, rev 1.10/1.00, addr 2> on usbus0

On tente donc de charger le méta-pilote snd_driver, ce qui permet de charger les pilotes audio les plus courants :

# kldload snd_driver

On affiche ensuite les modules sélectionnés :

cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)
Installed devices:
pcm0: <Intel ICH4 (82801DB)> (play/rec) default

Manque de bol, seul le driver de la puce audio interne du portable a été chargé (Intel ICH4). Apparement la puce du NuForce uDac ne fait pas partie des plus courantes. Il va donc falloir trouver sa référence et chercher le driver correspondant dans les notes de compatibilité matérielle.

Un petit tour par headfi nous apprend que la puce utilisée est une Sabre ESS9022.
Re-manque de bol, elle ne fait pas partie de la liste de compatibilité. Si un driver existe, il faudra le trouver autrement.

Coup de chance cette fois, à force de chercher une solution sur internet, je suis tombé sur une page parlant de snd_uaudio. Un petit coup d’œil dans la page de man nous apprend que ce driver est destiné aux cartes son USB. Ça semble correspondre...

On le charge à la main :

# kldload snd_uaudio

On regarde s'il correspond bien au uDac :

# cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)
Installed devices:
pcm0: <Intel ICH4 (82801DB)> (play/rec) default
pcm1: <USB audio> (play)

Cette fois ça marche. Il ne reste donc qu'à ajouter la ligne suivante dans /boot/loader.conf afin de charger tout ça au démarrage :

snd_uaudio_load="YES"

Voilà, après ces quelques efforts, je peux enfin profiter de ma musique sans saigner des oreilles :-P


Posted by St3rk | Permanent link | File under: freebsd, musique