Telefonare via internet

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Telefonare via internet

Messaggio da rik70 »

Di schede audio ne vedo una sola.
joe ha scritto: Scheda audio usb potrebbe voler dire anche auricolari con microfono collegati via usb giusto?
Da quanto ho letto dovrebbero essere dispositivi indipendenti dalla scheda audio di sistema....
Non necessariamente: potresti usare usare la USB per lo squillo e quella interna per cuffie e microfono.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Telefonare via internet

Messaggio da joe »

Sì, certo... è che avevo intenzione di acquistare un paio di cuffie microfonate nuove per cui pensavo che si spendesse meno a prenderle direttamente USB indipendenti, piuttosto che prendere scheda audio usb + cuffie...
Comunque per il momento mi hai dato qualche ottimo spunto, mi informo un po' sugli arnesi in commercio.

PS.
Non so se avevi letto il mio messaggio precedente.
In realtà sul mio PC come probabilmente su tutti i PC, vi è la scheda madre dotata di segnale sonoro, il classico "beep" che si sente all'accensione del PC.
Ora, capisco che non sia una seconda scheda audio, ma si potrebbe sfruttare in qualche modo come "squillo" per il voip?
In rete non ho trovato nulla (probabilmente è un'idea un po' troppo funambolica)...
Su Slackware, per la cronaca riesco a far emettere un beep dopo aver caricato il modulo pcspkr e lanciato il comando:

Codice: Seleziona tutto

# echo -e '\a'>/dev/console
come root.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Telefonare via internet

Messaggio da rik70 »

joe ha scritto:Sì, certo... è che avevo intenzione di acquistare un paio di cuffie microfonate nuove per cui pensavo che si spendesse meno a prenderle direttamente USB indipendenti, piuttosto che prendere scheda audio usb + cuffie...
Hai ragione, io stavo pensando a cuffie/auricolari collegati a una scheda audio usb.

Sulla faccenda pcspkr ne so meno di te.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Telefonare via internet

Messaggio da rik70 »

P.s.

Ci son capitato per caso - dovendo ricompilare il kernel 3.11, causa bug su netfilter - ma per la faccenda dello speaker c'è la soluzione.

Si tratta del modulo 'snd-pcsp', che a quanto ho capito permette di utiizzare l'altoprlante di sistema come una scheda audio - credo solo per riprodurre suoni, non per l'acquisizione.

Il modulo però non è compilato nei kernel delle distribuzioni comuni, compresa Slackware. La ragione è che potrebbe interferire negativamente con le schede audio di sistema se non si prendono gli opportuni accorgimenti.

Incollo direttamente le informazioni riportate nel menu di configurazione del kernel:
Device Drivers > Sound card support > Advanced Linux Sound Architecture > Generic sound devices
PC-Speaker support (READ HELP!)
CONFIG_SND_PCSP:
│
│ If you don't have a sound card in your computer, you can include a
│ driver for the PC speaker which allows it to act like a primitive
│ sound card.
│ This driver also replaces the pcspkr driver for beeps.
│
│ You can compile this as a module which will be called snd-pcsp.
│
│ WARNING: if you already have a soundcard, enabling this
│ driver may lead to a problem. Namely, it may get loaded
│ before the other sound driver of yours, making the
│ pc-speaker a default sound device. Which is likely not
│ what you want. To make this driver play nicely with other
│ sound driver, you can add this in a configuration file under
│ /etc/modprobe.d/ directory:
│ options snd-pcsp index=2
│
│ You don't need this driver if you only want your pc-speaker to beep.
│ You don't need this driver if you have a tablet piezo beeper
│ in your PC instead of the real speaker.
│ Say N if you have a sound card.
│ Say M if you don't.
│ Say Y only if you really know what you do.
Credo sia abbastanza chiaro - selezionare M (non Y) ricompilare i moduli e fare in modo che la scheda non venga impostata come predefinita, mettere in blacklist il driver pcspkr.

E' tutto.

Ciao.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Telefonare via internet

Messaggio da joe »

Ho capito. Bella trovata!
L'unico sbattimento è ricompilare il kernel...
Potrei anche provare, tanto partendo dal config di Pat, dovrebbe bastare solo editare la riga:

Codice: Seleziona tutto

# CONFIG_SND_PCSP is not set
in modo che diventi:

Codice: Seleziona tutto

CONFIG_SND_PCSP=m
Aggiungo che in Slackware 14 con kernel huge di default, il modulo pcspk non viene caricato automaticamente:

Codice: Seleziona tutto

root@darkstar:~# lsmod|grep pcs
root@darkstar:~# grep PCSPKR /boot/config
CONFIG_PCSPKR_PLATFORM=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_INPUT_PCSPKR=m
Quindi non dovrebbe essere necessario metterlo in blacklist immagino.
Ad ogni modo grazie della notizia. Proverò...

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Telefonare via internet

Messaggio da rik70 »

joe ha scritto: L'unico sbattimento è ricompilare il kernel...
Che poi dovrebbe essere sufficiente ricompilare solo i moduli, a meno che non decidi di optare per la configurazione più rischiosa.

Ricordo che c'era un modo per (ri)compilare solo il modulo che interessa, e mi ero anche cimentato con successo. Ma vai a ricordare dove e quando.

Vabbè... ma questi sono dettagli.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Telefonare via internet

Messaggio da joe »

Dunque, alla fine ho compilato i moduli. Seguendo le indicazioni di un post su linuxquestions ho dato i seguenti comandi:

Codice: Seleziona tutto

cd /usr/src/linux
make menuconfig
# e qui ho attivato il modulo snd_pcsp

make modules
# operazione lunghisssima, accidenti credevo che con un core duo non impiegasse così tanto...
# Ecco che processore ho:
# Linux darkstar 3.2.45-smp #2 SMP Fri May 31 16:57:40 CDT 2013
# i686 Intel(R) Core(TM)2 Duo CPU     E8200  @ 2.66GHz GenuineIntel GNU/Linux

make modules_install
# questo in qulache modo vi và a sovrascrivere i moduli già installati aggiungendo quello sbloccato (snd-pcsp)
# Però occhio se avete aggiunto moduli proprietari tipo i drivers nvidia perchè questi poi vanno ricompilati
# o anche solo reinstallati
Ok, benissimo ma ora come far suonare il telefono sfruttando questa nuova "scheda audio"???
Prima di tutto da sistem settings di kde nella sezione multimedia e "phonon" verifichiamo che vi sia la nuova scheda audio denominata "pcsp".
Poi, solo dopo essercene assicurati, apriamo linphone.
Andiamo nella preferenze e in "multimedia settings".
Se apriamo un menù a tendina relativo a uno qualsiasi dei tre eventi "playback", "ring", "capture". Ecco che noteremo qualche scelta in più di prima. Nel mio caso si sono aggiunti:

Codice: Seleziona tutto

ALSA: pcsp
OSS: /dev/dsp2/
Che sono due indirizzi alternativi che puntano al PC speaker attravero il modulo snd-pcsp.
Quindi basta testare un po' la cosa assicurandoci di avere come "ring device" uno dei due sopra.

Come è andato il test.
Ho provato a chiamarmi per vedere come suona.
In pratica invece del classico fastidioso (ma necessario per sentire lo squillo) beep che mi aspettavo è stato prodotto un tenue, inudibile "tloc"... una sola volta per di più.

Allora "back to shell", ho lanciato il comando che faceva fare beep:

Codice: Seleziona tutto

root@darkstar:~# echo -e '\a'>/dev/console 
root@darkstar:~# echo -e '\a'>/dev/dsp1
root@darkstar:~# echo -e '\a'>/dev/dsp
Il primo fa "beep" dal pcspeaker. Questo è il ring che vorrei ottenere.
Il secondo fa "tloc" dal pcspeaker.
Il terzo fà "tloc" in cuffia.

Non se l'obiettivo sia raggiungibile... Se vi viene in mente qualcosa tutto è beneaccetto, però penso proprio che l'unica sia l'acquisto di un paio di cuffie usb e una cassa. O una scheda audio usb

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Telefonare via internet

Messaggio da rik70 »

Cosa dicono

Codice: Seleziona tutto

[Edit]

aplay -l 
cat /proc/asound/cards
?

Che computer hai?
Ultima modifica di rik70 il ven 4 ott 2013, 12:50, modificato 1 volta in totale.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Telefonare via internet

Messaggio da joe »

alsaplay non ce l'ho! ;)
Però ho aplay:

Codice: Seleziona tutto

root@darkstar:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: ALC662 rev1 Digital [ALC662 rev1 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: pcsp [pcsp], device 0: pcspeaker [pcsp]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
È un PC fisso di qualche anno fà. Mi pare 2009. Sopra ho postato i dati del processore.
Qua sotto posto lspci...

Codice: Seleziona tutto

root@darkstar:~# lspci
00:00.0 Host bridge: nVidia Corporation Device 07c3 (rev a2)
00:00.1 RAM memory: nVidia Corporation nForce 630i memory controller (rev a2)
00:01.0 RAM memory: nVidia Corporation nForce 630i memory controller (rev a1)
00:01.1 RAM memory: nVidia Corporation nForce 630i memory controller (rev a1)
00:01.2 RAM memory: nVidia Corporation nForce 630i memory controller (rev a1)
00:01.3 RAM memory: nVidia Corporation nForce 630i memory controller (rev a1)
00:01.4 RAM memory: nVidia Corporation nForce 630i memory controller (rev a1)
00:01.5 RAM memory: nVidia Corporation nForce 630i memory controller (rev a1)
00:01.6 RAM memory: nVidia Corporation nForce 630i memory controller (rev a1)
00:02.0 RAM memory: nVidia Corporation nForce 630i memory controller (rev a1)
00:03.0 ISA bridge: nVidia Corporation MCP73 LPC Bridge (rev a2)
00:03.1 SMBus: nVidia Corporation MCP73 SMBus (rev a1)
00:03.2 RAM memory: nVidia Corporation MCP73 Memory Controller (rev a1)
00:03.4 RAM memory: nVidia Corporation MCP73 Memory Controller (rev a1)
00:04.0 USB controller: nVidia Corporation GeForce 7100/nForce 630i USB (rev a1)
00:04.1 USB controller: nVidia Corporation MCP73 [nForce 630i] USB 2.0 Controller (EHCI) (rev a1)
00:08.0 IDE interface: nVidia Corporation MCP73 IDE (rev a1)
00:09.0 Audio device: nVidia Corporation MCP73 High Definition Audio (rev a1)
00:0a.0 PCI bridge: nVidia Corporation MCP73 PCI Express bridge (rev a1)
00:0b.0 PCI bridge: nVidia Corporation MCP73 PCI Express bridge (rev a1)
00:0c.0 PCI bridge: nVidia Corporation MCP73 PCI Express bridge (rev a1)
00:0d.0 PCI bridge: nVidia Corporation MCP73 PCI Express bridge (rev a1)
00:0e.0 IDE interface: nVidia Corporation MCP73 IDE (rev a2)
00:0f.0 Ethernet controller: nVidia Corporation MCP73 Ethernet (rev a2)
00:10.0 VGA compatible controller: nVidia Corporation C73 [GeForce 7050 / nForce 610i] (rev a2)
01:06.0 Serial controller: NetMos Technology PCI 9835 Multi-I/O Controller (rev 01)
01:07.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
Intendevi altre info?
Sopra il case c'è scritto powered by asus.
Ma anche fueled by ati sapphire ATI... Però di schede video ati dentro non ne ho viste.
È un PC di risulta, scartato in quanto malfunzionante secondo l'utilizzatore precedente. Lo sto usando da un anno anche se l'idea era di tenerlo temporaneamente. Per problemi di spazio è stato accantonato a casa mia e ne sto approfittando. Alla fine mi ero offerto di metterlo apposto e Slackware s'è rivelata ottima come sempre.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Telefonare via internet

Messaggio da rik70 »

joe ha scritto:alsaplay non ce l'ho! ;)
Ehm.... :D
Scusa correggo.

E' un pc desktop quindi.

Ok, prova a riprodurre un file audio con mplayer e vedi cosa salta fuori.

In questo modo:

Codice: Seleziona tutto

mplayer -ao alsa:device=hw=2.0 [file audio]
Ultima modifica di rik70 il ven 4 ott 2013, 14:49, modificato 1 volta in totale.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Telefonare via internet

Messaggio da rik70 »

P.s.

Ho recuperato il modo per compilare solo il modulo snd-pcsp, con notevole risparmio di tempo. Se interessa scrivo.

Ad ogni modo a me funziona, quantomeno con mplayer - l'altro non l'ho provato.

La qualità ovviamente è pessima, probabilmente a causa dei bassi che fanno scoppiettare l'altoparlante. Ma a questo si potrebbe ovviare con .asoundrc, filtrando le frequenze estreme.

Comunque era solo per sperimentare, perché come soluzione non è granché.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Telefonare via internet

Messaggio da joe »

Grazie per le risposte.
Sì si è un desktop.

Intendiamoci, l'obiettivo nel mio caso non è ottenere chissà qualità. Voglio solo sentire il telefono quando qualcuno mi chiama.

Però da mplayer non esce alcun suono, anche se la riproduzione sembra procedere senza errori.
Avverto solo (se c'è silenzio nell'ambiente altrimenti non si sente) il consueto "tloc" proveniente da dentro il case. E lo avverto più che altro quando premo il tasto "q" per interrompere la riproduzione.

Quindi c'è effettivamente qualcosa che non và...
Il volume a livello fisico, ripeto non manca perchè inviando il beep alla /dev/console si sente forte.

PS.
Per la compilazione hai usato direttamente gcc?
Ho letto che è una via piuttosto "pericolosa", caldamente sconsigliata in un vecchio thread letto ieri (non ho più il link sottomano...).

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Telefonare via internet

Messaggio da rik70 »

joe ha scritto: PS.
Per la compilazione hai usato direttamente gcc?
Ho letto che è una via piuttosto "pericolosa", caldamente sconsigliata in un vecchio thread letto ieri (non ho più il link sottomano...).
No no, niente gcc.

Ho seguito questi passaggi:
  • cd /usr/src/versione_kernel

    make menuconfig e poi selezionato il modulo.

    make oldconfig

    make prepare

    make modules_prepare

    make -C /lib/modules/directory_moduli_kernel/build M=sound/drivers/pcsp

    mkdir -pv /lib/modules/3.7.10-smp/directory_moduli_kernel/sound/pcsp

    install -v -m 644 -o root -g root sound/drivers/pcsp/snd-pcsp.ko /lib/modules/directory_moduli_kernel/kernel/sound/pcsp

    depmod -a versiome_kernel
Fine.

Ovviamente bisogna fare attenzione che molti moduli hanno delle dipendenze, e vengono riportate negli help del menu di configurazione. Quindi se manca qualcosa, va sistemata prima e se la dipendenza è un altro modulo questo (se non lo è già) va compilato prima.

Qui la fonte.
Ultima modifica di rik70 il ven 4 ott 2013, 14:51, modificato 1 volta in totale.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Telefonare via internet

Messaggio da rik70 »

joe ha scritto: Il volume a livello fisico, ripeto non manca perchè inviando il beep alla /dev/console si sente forte.
Ecco hai parlato di /dev/console.

Ma se tu apri un terminale da una sessione grafica e piuttosto che scrivere tieni premuto il tasto freccia in basso, i beep li senti?

P.s.

Uhm.... che poi mi sa che è la stessa cosa che hai fatto tu.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Telefonare via internet

Messaggio da joe »

Da una sessione grafica no.
Tipo se apro lancio konsole e tengo premuta la freccia in giù non fà nessun rumore.... A te invece si?
Invece se digito ctrl-alt-F2 per esempio e mi ritrovo nella tty2 console testuale fuori da X per capirci... ecco allora lì tenendo premuto la freccia in giù il beep si sente forte chiaro e ripetuto finchè non mollo il tasto freccia giù.

Il fatto è che quel /dev/console di preciso non ho chiaro cosa sia ma probabilmente non è un emulatore di terminale, piuttosto proprio un oggetto simile alla console testuale vera.
Per la cronaca io sono in init3, cioè faccio partire X (KDE) a mano con "startx" dopo il boot.

Rispondi