Forum Linux.général casque micro usb

Posté par  (site web personnel) .
Étiquettes : aucune
0
27
déc.
2006
Bonjour,

je dispose d'un casque micro usb de marque : plantronics, model : .Audio 500 headset (cf : http://materiel.net/details_39608-01.html).

J'arrive à le faire fonctionner (quasi) complètement sous ma distrib linux (archlinux) : les écouteurs ainsi que le micro l'accompagnant. En revanche, je n'arrive pas à enclencher le fullduplex pour faire fonctionner micro et écouteurs en même temps.

J'utilise les pilotes alsa avec le module snd_usb_audio et j'ai trituré dans tous les sens la config alsa (en STFWant de long en large) à coup de dmix, dsnoop et asym pour essayer de faire fonctionner le fullduplex... mais en vain.

Voici ma config matérielle et logicielle.

* noyau : 2.6.18.1 vanilla, les pilotes alsa sont issus de ce noyau

* utilisation du module snd_usb_audio

* $ lsusb :
Bus 002 Device 002: ID 047f:c001 Plantronics, Inc.

* $ cat /proc/bus/usb/devices :
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 13/900 us ( 1%), #Int= 1, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.18-ARCH uhci_hcd
S: Product=UHCI Host Controller
S: SerialNumber=0000:00:11.3
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=047f ProdID=c001 Rev= 1.00
C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio
I: If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I: If#= 1 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
E: Ad=01(O) Atr=09(Isoc) MxPS= 200 Ivl=1ms
I: If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I: If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
E: Ad=82(I) Atr=05(Isoc) MxPS= 100 Ivl=1ms
I: If#= 3 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
E: Ad=83(I) Atr=03(Int.) MxPS= 4 Ivl=32ms

* ma config ~/.asoundrc

### ASOUNDRC ###
pcm.casque_usb_hw {
type hw
card 1
mmap_emulation true
}

pcm.dmix_cu {
type dmix
ipc_key 1024
ipc_key_add_uid yes
slave {
pcm "casque_usb_hw"
# valeurs empiriques pour faire fonctionner les écouteurs (ça ne fonctionne pas sans celles-ci)
period_time 15000
period_size 1024
buffer_size 8192
rate 44100
channels 2
}
bindings {
0 0
1 1
}
}

pcm.dsnoop_cu {
type dsnoop
ipc_key 2048
ipc_key_add_uid yes
slave {
pcm "casque_usb_hw"
channels 1
}

bindings {
0 0
}
}

pcm.asym_cu {
type asym
playback.pcm "dmix_cu"
capture.pcm "dsnoop_cu"
}

pcm.pasym_cu {
type plug
slave.pcm "asym_cu"
}

pcm.casque_usb {
type plug
slave.pcm "asym_cu"
}

ctl.casque_usb {
type hw
card 1
}

# aoss
#pcm.dsp1 {
# type plug
# slave.pcm "asym_cu"
#}
#
#pcm.dsp0 {
# type plug
# slave.pcm "asym_cu"
#}

#pcm.dsp {
# type plug
# slave.pcm "asym_cu"
#}


pcm.!default {
type plug
slave.pcm "asym_cu"
}

ctl.!default {
type hw
card 1
}

### / ASOUNDRC ###

* test du fullduplex en ligne de commande :
$ arecord -r 8000 | aplay -
ALSA lib pcm_direct.c:1046:(snd_pcm_direct_initialize_slave) unable to start PCM stream
ALSA lib pcm_dsnoop.c:569:(snd_pcm_dsnoop_open) unable to initialize slave
arecord: main:550: audio open error: Relais brisé (pipe)
aplay: playback:2021: read error

par contre, "aplay fichier1.wav" puis, à côté, "arecord fichier2.wav" en même temps, ça fonctionne. Mais bon, aucun intérêt.

Une âme charitable pour solutionner mon problème ?

Sinon, c'est un pur bonheur ce casque, le son est parfaitement clair et sans aucun souffle (numérique oblige). Les signaux envoyés par les petits boutons (+ et -) présents sur le fil du casque sont interceptés par le noyau comme s'il s'agissait de n'importe quel périphérique d'entrée (comme le clavier ou la souris), on peut les configurer par son wm/desktop ou à défaut xbindkeys et consort, et en plus ça envoie les keysym XF86AudioLowerVolume et XF86AudioRaiseVolume (dans le bon ordre bien entendu).

D'avance merci et bonnes fêtes à toutes et à tous.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.