Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: twee usb geluidskaarten  (gelezen 1448 keer)

Offline Eduard2

  • Lid
twee usb geluidskaarten
« Gepost op: 2022/06/17, 10:09:19 »
Beste forumleden,

Twee usb kaarten van hetzelfde type worden na inpluggen teruggevonden in de map /dev/snd/by-path. De ene kaart heeft in de vermelding ergens een cijfer 1, de andere het cijfer 2. Stop je de usb kaartjes één voor één in hun "stopcontact" dan ligt het voor de hand dat de eerste het laagste nummer krijgt. Steek je de twee op voorhand in een usb hub dan kan ik niet voorspellen welke het laagste nummer krijgt op het moment de spanning opkomt.  Het programma stuurt beide met een verschillende audiostream aan. (twee verschillende radiostations op internet) Het gevolg is dat je niet op voorhand weet welk station een speaker zal uitsturen.  Bestaat er een kneep om dit op te lossen? Ik had al gedacht aan een script dat ze beiden afschakelt om ze daarna in gekende volgorde weer aan te schakelen. Het is maar een idee.  Of het uitvoerbaar is wordt een andere kwestie. Heeft iemand een suggestie?

Op voorhand bedankt,

Eduard

Offline peer

  • Lid
Re: twee usb geluidskaarten
« Reactie #1 Gepost op: 2022/06/17, 13:16:36 »
met de opdracht 'lsusb' moet je de kaarten kunnen zien. Ze hebben een unieke ID. Ook zie je hier de bus en het devicenummer. Wellicht kun je dat in je script gebruiken.
Hieronder zie je een klein stukje van de opdracht op mijn pc
lsusb
.......
Bus 002 Device 002: ID 08bb:2902 Texas Instruments PCM2902 Audio Codec
....
 
Ik zou zo niet weten hoe ik het script zou moeten maken. Jouw manier zou moeten kunnen. Maar er zijn vast wel andere maineren mogelijk.

Offline Eduard2

  • Lid
Re: twee usb geluidskaarten
« Reactie #2 Gepost op: 2022/06/17, 14:46:20 »
Dag Peer,

Bedankt voor het meedenken.
Zowel met lsusb als met ls /dev/snd  zie ik de twee geluidskaarten die in mijn usb hub zitten. In lsusb hebben beiden het ID 08dc:013c.  Als ik me niet vergis is 08dc een hex getal dat de fabrikant aangeeft. De 013c het type.  Om de modules te onderscheiden heb ik op elk een klevertje aangebracht. De ene kreeg het label "3"; de andere "4".  Deze met label 3 gaat naar een luidspreker in kamer 3.  Label 4 naar kamer 4. In kamer 3 wil men enkel een stream met popmuziek horen. Kamer 4 klassiek. Als je zonder meer opstart kan het resultaat omgekeerd zijn. Het lukt me nog niet een systeem te bedenken dat die klus klaart.

Vriendelijke groeten,

Eduard

Offline peer

  • Lid
Re: twee usb geluidskaarten
« Reactie #3 Gepost op: 2022/06/17, 17:19:43 »
je hebt gelijk de ID's zijn gelijk van de geluidskaarten. Daar kan je dus niets mee.
Als jouw systeem met pulsaudio werkt dan kun je in de terminal informatie bekijken van de geluidskaarten. Ook kun je volgorde van geluidskaarten aanpassen. Ik weet niet hoe verschillend beide kaarten zijn en wat er gebeurt bij een reboot of als je een kaart verwijderd.
pactl help
pactl [options] stat
pactl [options] info
pactl [options] list [short] [TYPE]
pactl [options] exit
pactl [options] upload-sample FILENAME [NAME]
pactl [options] play-sample  NAME [SINK]
pactl [options] remove-sample  NAME
pactl [options] load-module  NAME [ARGS ...]
pactl [options] unload-module  NAME|#N
pactl [options] move-(sink-input|source-output) #N SINK|SOURCE
pactl [options] suspend-(sink|source) NAME|#N 1|0
pactl [options] set-card-profile  CARD PROFILE
pactl [options] set-default-(sink|source) NAME
pactl [options] set-(sink|source)-port NAME|#N PORT
pactl [options] set-(sink|source)-volume NAME|#N VOLUME [VOLUME ...]
pactl [options] set-(sink-input|source-output)-volume #N VOLUME [VOLUME ...]
pactl [options] set-(sink|source)-mute NAME|#N 1|0|toggle
pactl [options] set-(sink-input|source-output)-mute #N 1|0|toggle
pactl [options] set-sink-formats #N FORMATS
pactl [options] set-port-latency-offset CARD-NAME|CARD-#N PORT OFFSET
pactl [options] subscribe

The special names @DEFAULT_SINK@, @DEFAULT_SOURCE@ and @DEFAULT_MONITOR@
can be used to specify the default sink, source and monitor.

  -h, --help                            Show this help
      --version                         Show version

  -s, --server=SERVER                   The name of the server to connect to
  -n, --client-name=NAME                How to call this client on the server
Ik zou pactl list in een paar verschillende situaties bekijken. Dus kaart 3 -> kamer 3 en kaart 4 -> kamer 4 is de ene situatie en kaart 3 -> kamer 4 en kaart 4 -> kamer 3 is de andere situatie. Kijken of je hier iets uit kan halen. 


Offline bart85

  • Lid
Je leert maar mooi over weg gaan met de commandline. Geen grafische toepassingen voor systeembeheer.
You can never make a system 100% secure unless you unplug the machine from all networks, turn it off, lock it in a safe, smother it in concrete and never use it.

Offline Eduard2

  • Lid
Re: twee usb geluidskaarten
« Reactie #5 Gepost op: 2022/06/18, 11:01:43 »
Dag Peer,
Vermoedelijk zijn de sticks zo identiek dat het bij opstart onmogelijk is te zeggen welke met kamer3 of met kamer4 is verbonden. Een nachtje slapen bracht het idee de microfoon ingang daarvoor te gebruiken. Met wat elektronica knutselwerk moet het lukken de ene ingang een 1000 Hz en de andere een 2000 Hz ingangssignaal aan te leggen.  Een programma schrijven dat de frequentie bij benadering meet dat zie ik wel zitten.

Vriendelijke groetgen,

Eduard

Offline peer

  • Lid
Re: twee usb geluidskaarten
« Reactie #6 Gepost op: 2022/06/18, 12:10:08 »
ik ben benieuwd.
Als je een microfoon op één soundcard (bv. die voor kamer 3) aansluit dan zou je die toch moeten kunnen vinden in je script. Daar heb je toch geen signaal voor nodig???

Ik heb ook wat gegoogled
Als je de soundkaarten altijd op dezelfde usb poort hebt aangesloten dan zie ik nog twee mogelijkheden:

1. beide usbpoorten afschakelen en daarna in vaste volgorde weer inschakelen. Dit schreef je geloof ik in je eerste post. Dit zou moeten kunnen met uhubctl

2. udev gaat over het managen van devices. Hierin moet je volgorde van het initialiseren van de devices kunnen regelen. Hier zou je de volgorde van de usb poorten moeten kunnen afdwingen. Ik heb ergens gelezen dat dat kan maar ik weet niet hoe.

Ik heb hier verder geen ervaring in. Ik   

Re: twee usb geluidskaarten
« Reactie #7 Gepost op: 2022/06/18, 14:10:54 »
1. beide usbpoorten afschakelen en daarna in vaste volgorde weer inschakelen. Dit schreef je geloof ik in je eerste post. Dit zou moeten kunnen met uhubctl
Hallo, uhubctl werkt volgens mij voor smart [usb] hubs. Op mijn systeem vindt-ie geen enkele usb-poort of -device, terwijl ik toch een 4-poorts usb heb.
De OP zou ook naar het programmaatje usb_modeswitch kunnen kijken. Wel even uitzoeken hoe dat werkt, is op het eerste gezicht niet duidelijk.

Offline peer

  • Lid
Re: twee usb geluidskaarten
« Reactie #8 Gepost op: 2022/06/18, 16:46:59 »
usb_modeswitch lijkt mij ook niet een oplossing. Deze gaat nl. uit van de ID bij het commando lsusb. En het ID is voor beide geluidskaarten gelijk.

Ik vind het wel een interessant probleem. Ben benieuwd naar de oplossing.

Offline Eduard2

  • Lid
Re: twee usb geluidskaarten
« Reactie #9 Gepost op: 2022/06/19, 22:46:07 »
Dag Peer en Paul,
Ik pieker er al een paar dagen over. Vermoedelijk zal het een heel andere oplossing krijgen. Via een FTDI kabel met ingebouwde usb naar serial omzetter stuurt de pc nu een raspberry pico. Omdat er geen hoge eisen worden gesteld aan de geluidskwaliteit volstaat een gefilterde pwm. Voor één kanaal werkt dat reeds. De pico heeft 8 pwm modules aan boord. Dat biedt mogelijkheden. Zonder soldeerbout verwacht ik niet dat het vraagstuk kan worden opgelost.
Vriendelijke groeten,

Eduard

Offline peer

  • Lid
Re: twee usb geluidskaarten
« Reactie #10 Gepost op: 2022/06/20, 09:17:33 »
ik denk dat het wel zonder soldeerbout kan.
Probleem is dat de twee geluidskaarten identiek zijn. Door aan één van de geluidskaarten een microfoon te hangen maak je ze verschillend. De microfoon is in linux zichtbaar en het moet ook vindbaar zijn op welke geluidskaart die zit.  Daramee heb je de gegevens van de geluidskaart (en de andere weet je dan ook)

Re: twee usb geluidskaarten
« Reactie #11 Gepost op: 2022/06/20, 11:24:33 »
Hallo, misschien kom je verder door niet op ID (want die zijn gelijk) maar op iSerial te zoeken, mogelijk dat je daar twee verschillende waarden ziet. 

sudo lsusb -v