FreeBSD 5.1 et Turtle Beach Santa Cruz

Le
Stéphane Witzmann
/* j'ai annulé la précédente version de cet article, je le reposte donc, mis
à jour */

Bonjour

Voici la suite de mes aventures au pays de FreeBSD 5.1. J'ai reçu
aujourd'hui une carte son Turtle Beach Santa Cruz. C'est un chipset
Crystal, supporté par le driver csa, comme le prouve dmesg :

csa0: <CS4280/CS4614/CS4622/CS4624/CS4630> mem
0xe5000000-0xe50fffff,0xe5800000-
0xe5800fff at device 9.0 on pci0
csa: card is Turtle Beach Santa Cruz
pcib0: slot 9 INTA is routed to irq 10
pcm1: <CS461x PCM Audio> on csa0
pcm1: <Cirrus Logic CS4297A AC97 Codec>
midi0: <CS461x Midi Interface> on csa0

Donc, effectivement, le chip est bien détecté, et utilisable par /dev/dsp1.
Essayons de lire un MP3 dessus XMMS reste bloqué au démarrage et freeze.
mpg123 est plus clément et termine gentiment. syslog donne :

pcm1:play:0: play interrupt timeout, channel dead

Essayons dans l'autre sens, cat /dev/dsp1 :

pcm1:record:0: record interrupt timeout, channel dead

Voilà Mais, pour des raisons qui me sont encore inconnues, la carte se
met parfois à fonctionner normalement, et ce jusqu'au prochain reboot. En
particulier, les reboot avec power down semble plus méchants que les soft
reboots.

Alors, c'est grave docteur ?

Note : mention spéciale à ma SB AWE 64 ISA que je n'ai jamais réussi à
faire fonctionner sous FreeBSD, même après compilation avec le driver sbc,
même après essayage de toutes les irq possibles dans device.hints, même
après modification du noyau pour forcer la détection d'une SB64 (les
pnp_quirks ne correspondaient pas) avec mon matériel

Note 2 : si vous avez un moyen d'empêcher la reconnaissance de la carte son
intégrée ou de faire pointer /dev/dsp sur /dev/dsp1, je suis preneur - le
mieux que j'aie trouvé jusque là est rm /dev/dsp0*, pas trés élégant.


Encore une fois, toute aide serait appréciée. Merci d'avance.


S.W.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Marwan FeanoR/var Burelle
Le #544445
On Mon, 29 Dec 2003 17:38:20 +0100
Stéphane Witzmann
Note 2 : si vous avez un moyen d'empêcher la reconnaissance de la carte
son intégrée ou de faire pointer /dev/dsp sur /dev/dsp1, je suis
preneur - le mieux que j'aie trouvé jusque là est rm /dev/dsp0*, pas
trés élégant.


Ça c'est pas forcément difficile. Le truc c'est de charger uniquement le
module nécessaire.

Donc, 1 ne pas avoir device pcm dans le kernel, 2 identifier le module
nécessaire pour la carte que tu veux, 3 tester tout ça avec kldload le
module qui va bien (genre snd_csa dans ton cas il me semble) et
normalement si tu fais un cat sur /dev/sndstat, tu ne devrais voir qu'un
seul device d'attacher ...

D'ailleur je me demande si ce n'est pas la présence des 2 cartes son qui
ne poserait pas ton premier problème ...

Enfin, mais je ne sais pas si ça s'applique dans ton cas, mais sur ma
carte mère j'ai pendant un certain temps fait marcher une carte pci à la
place de la carte intégrée en désactivant celle-ci via le bios, auquel
cas, même en chargeant tous les modules sons, je n'avais que la carte pci
(une toute bête pci128 qui marche très, très bien ;)

--
Marwan Burelle,
http://www.lri.fr/~burelle
( | )
http://www.cduce.org

Stéphane Witzmann
Le #551384
Marwan FeanoR/var Burelle wrote:

On Mon, 29 Dec 2003 17:38:20 +0100
Stéphane Witzmann
Note 2 : si vous avez un moyen d'empêcher la reconnaissance de la carte
son intégrée ou de faire pointer /dev/dsp sur /dev/dsp1, je suis
preneur - le mieux que j'aie trouvé jusque là est rm /dev/dsp0*, pas
trés élégant.


Ça c'est pas forcément difficile. Le truc c'est de charger uniquement le
module nécessaire.

Donc, 1 ne pas avoir device pcm dans le kernel, 2 identifier le module
nécessaire pour la carte que tu veux, 3 tester tout ça avec kldload le
module qui va bien (genre snd_csa dans ton cas il me semble) et
normalement si tu fais un cat sur /dev/sndstat, tu ne devrais voir qu'un
seul device d'attacher ...


J'ai l'impression que le driver csa est un sous-module du driver pcm
(j'avais déjà eu des problèmes de ce genre en essayant de compiler un noyau
sur mon portable), ce qui voudrait dire que je ne peux pas enlever pcm. Je
vais qd même essayer :

linking kernel
csa.o: In function `csa_attach':
csa.o(.text+0x578): undefined reference to `snd_setup_intr'
csa.o(.data+0x1258): undefined reference to `sndstat_registerfile'
csa.o(.data+0x1268): undefined reference to `sndstat_unregisterfile'
*** Error code 1

J'ai gagné... pcm est obligatoire pour le son.

D'autre part, j'ai besoin du driver pcm pour ma 3è (je collectionne...)
carte son, qui elle est en USB.


D'ailleur je me demande si ce n'est pas la présence des 2 cartes son qui
ne poserait pas ton premier problème ...


La carte son intégrée, je l'arracherais physiquememnt si je savais le faire.
En fait, ça marche plutôt bien même avec 3 cartes, ma carte son USB
fonctionne presque parfaitement, à l'exception du crash lorsque je
rebascule sous X dont j'ai déjà parlé.

Enfin, mais je ne sais pas si ça s'applique dans ton cas, mais sur ma
carte mère j'ai pendant un certain temps fait marcher une carte pci à la
place de la carte intégrée en désactivant celle-ci via le bios, auquel
cas, même en chargeant tous les modules sons, je n'avais que la carte pci
(une toute bête pci128 qui marche très, très bien ;)



J'ai essayé de désactiver dans le bios... d'ailleurs là elle est désactivée
mais elle est qd même reconnue et fonctionnelle. Je vais vérifier
néanmoins.


Marwan FeanoR/var Burelle
Le #549621
On Tue, 30 Dec 2003 14:12:33 +0100
Stéphane Witzmann
J'ai l'impression que le driver csa est un sous-module du driver pcm
(j'avais déjà eu des problèmes de ce genre en essayant de compiler un
noyau sur mon portable), ce qui voudrait dire que je ne peux pas
enlever pcm. Je vais qd même essayer :


Bien évidement pcm est nécessaire, mais à moins que ce soit lui qui gère
directement ta carte intégrée ça ne pose pas de problème.

En gros, tu ne charge que les modules dont tu as besoin (via
/boot/locader.conf au boot) et pas tous les modules son. Et tu n'utilise
pas l'option pcm dans le kernel, en plus ça te fait un kernel beaucoup
plus léger !

De toute façon, pcm sera compilé (toutes options non compilé dans le
noyeau l'est sous forme de module, sauf demande via make.conf) et chargé
lorsque tu chargera le module csa.

--
Marwan Burelle,
http://www.lri.fr/~burelle
( | )
http://www.cduce.org

Publicité
Poster une réponse
Anonyme