Cellulare e IrDA su Ubuntu Linux HOWTO
Questo articolo è molto vecchio e potrebbe essere obsoleto
Questo howto è quindi rivolto specialmente ai possessori del suddetto telefonino, ma per molti passaggi è valido per quasi la totalità dei cellulari in commercio dotati di porta IrDA in quanto vengono usati protocolli come OBEX a la comunicazione seriale standard tra modem.
L'howto si divide così:
- Hardware - mettere a punto tutto il necessario
- Driver setup - Mettere a punto la nostra macchina linux
- OBEX - Come fare i primi test di comunicazione
- Applicazioni - Una carrellata di applicazioni per gestire al meglio le funzioni dei cellulari
Hardware
Per prima cosa assicuriamoci di avere tutto l'armamentario collegato. Io mi sono fatto da me il transceiver con un LED infrarosso (come quello nei telecomandi) pilotato da un transistor BC108, mentre la parte ricevente è realizzata con un circuito già pronto e schermato che permette di avere un segnale in uscita già amplificato e TTL compatibile. Poi il segnale di ricezione l'ho messo in una porta NOT triggerata così da migliorare ulteriormente il segnale e mettere un LED che mostri il traffico in transito.
Questo è un esempio di uno schema molto semplificato con l'utilizzo di un transceiver integrato:
Ora che l'interfaccia hardware è pronta e collegata alla scheda madre, assicuriamoci che il BIOS sia configurato in modo da usare questa porta seriale come IrDA. Attenzione questa guida configura la porta IrDA in modalità SIR, se avete un controller FIR molto più veloce del precedente puoi seguire questa guida per la configurazione del driver.
Driver setup
Tornati sulla nostra linuxbox, se non è scoppiato nulla nel frattempo, iniziamo ad installare i pacchetti necessari:
sudo apt-get install irda-utils openobex-apps obexftp
Adesso inseriamo i seguenti moduli nel kernel così
$ sudo modprobe ircomm ircomm-tty
Ora non ci resta che "legare" la porta utilizzata per l'IrDA allo stack del kernel e già che ci siamo attiviamo anche l'auto-discovering
$ sudo irattach /dev/ttyS1 -s
Io ho messo ttyS1 perché la porta IrDA integrata è mappata come la seconda seriale all'indirizzo 0x3f8 (COM2 su Windows).
Una volta dato il comando dovremmo vedere il LED lampeggiare alla frequenza di 3 secondi circa.
Ora controlliamo se il tutto funziona, quindi eseguiamo il comando sottostante e avviciniamo il cellulare con la porta infrarossi attivata.
Dovremmo vedere qualcosa del genere, ma facendo particolare attenzione alla stringa con xid:rsp, il segno minore '<' e la stringa del cellulare, dovremmo avere la conferma che il cellulare risponde al discovering e che abbiamo configurato tutto correttamente:
$ sudo irdadump
18:33:11.018864 xid:cmd c39292d4 > ffffffff S=6 s=0 (14)
18:33:11.108780 xid:cmd c39292d4 > ffffffff S=6 s=1 (14)
18:33:11.198780 xid:cmd c39292d4 > ffffffff S=6 s=2 (14)
18:33:11.273779 xid:rsp c39292d4 < 374b3956 S=6 s=2 SAGEM hint=9025 [ Modem Telephony IrCOMM IrOBEX ] (22)
18:33:11.288783 xid:cmd c39292d4 > ffffffff S=6 s=3 (14)
18:33:11.378784 xid:cmd c39292d4 > ffffffff S=6 s=4 (14)
18:33:11.468782 xid:cmd c39292d4 > ffffffff S=6 s=5 (14)
18:33:11.558778 xid:cmd c39292d4 > ffffffff S=6 s=* dnax-box hint=0400 [ Computer ] (24)
Questa è la stringa di identificazione inviata dal mio cellulare:
18:33:11.273779 xid:rsp c39292d4 < 374b3956 S=6 s=2 SAGEM hint=9025 [ Modem Telephony IrCOMM IrOBEX ] (22)
Il mio cellulare si identifica con SAGEM e dice di supportare i protocolli IrOBEX e IrCOMM, quindi potrà trasferire file con l'omonimo protocollo e fungerà da modem.
Purtroppo ho riscontrato un problema che non so se dipende dalla mia interfaccia fai-da-te o dal cellulare, in pratica non riesco a far funzionare il collegamento a 115200 baud, così sono costretto a forzare la velocità massima a 9600 baud, è un po' bassina ma almeno funziona.
sudo sysctl net.irda.max_baud_rate=9600
Adesso facciamo un ulteriore test sul collegamento, effettuiamo un ping sul cellulare!
Diamo il seguente comando:
$ cat /proc/net/irda/discovery
IrLMP: Discovery log:
nickname: SAGEM, hint: 0x9025, saddr: 0xc39292d4, daddr: 0x062a1d03
Ponendo attenzione alla stringa restituita, prendiamo l'ultimo parametro, daddr e lo mettiamolo in irdaping così:
$ sudo irdaping 0x062a1d03
IrDA ping (0x062a1d03 on irda0): 32 bytes
32 bytes from 0x062a1d03: irda_seq=0 time=103.28 ms.
32 bytes from 0x062a1d03: irda_seq=1 time=105.20 ms.
32 bytes from 0x062a1d03: irda_seq=2 time=107.22 ms.
32 bytes from 0x062a1d03: irda_seq=3 time=103.09 ms.
4 packets received by filter
Dovremmo vedere delle risposte da parte del cellulare come in questo esempio. Per terminare premiamo CTRL-C.
Ora che funziona tutto possiamo includere i moduli ircomm e ircomm-tty nel file /etc/modules in modo da caricarli automaticamente all'avvio.
Trasferimento file - OBEX
Adesso è arrivato il momento per fare i primi esperimenti con il protocollo OBEX, quello che ci permetterà di trasferire file da e verso il nostro cellulare. In particolare per il mio cellulare ho notato che il protocollo OBEX FTP viene usato esclusivamente per l'operazione di put, mentre se voglio leggere la memoria interna con un sempre directory listing il cellulare si riavvia!
Per controllare il funzionamento del protocollo OBEX diamo un obex_test e premiamo c, dovremo ricevere il seguente output:
$ obex_test
Using IrDA transport
OBEX Interactive test client/server.
> c
Connect OK!
Version: 0x10. Flags: 0x00
> q
Ovviamente q serve per uscire.
Applicazioni
Bene ora abbiamo solo l'imbarazzo della scelta per gestire il nostro cellulare. Qui tratterò di programmi senza GUI come obexftp e obexpushd ma anche di comodi programmini più user-friendly come gnome-phone-manager e ircp-tray.
Obexftp
Obexftp è un semplice programma da riga di comando molto simile nel funzionamento a un comune client ftp. Per quanto riguarda il mio cellulare se faccio il listing della memoria il cellulare si riavvia... per cui vediamo come mandare un file al cellulare:
obexftp--irda --put foto.jpg
Per completezza esporrò anche gli altri 2 comandi fondamentali ma ricordo che col Sagem myX5-2 non funzionano e provocano il riavvio del cellulare.
Per guardare il contenuto della memoria sarà necessario fare così:
obexftp --irda --list
mentre per prelevare un file
obexftp --irda --get file
Dove al posto di file verrà messo il file da trasferire al pc nella cartella in cui viene lanciato obexftp.
Obexpushd
Obexpushd non è altro che un demone che resta in ascolto di eventuali connessioni obex, appena un cellulare tenta di inviare un file lui accetta la connessione e salva il file nella home. Per installarlo basta scaricare l'omonimo pacchetto via Synaptic o semplicemente con un sudo apt-get install obexpushd.
GNOME Phone Manager
Questo applicativo è veramente utile e semplice. Una volta avviato sta nel vassoio di sistema e tenta subito di collegarsi al cellulare. Una volta connesso è possibile inviare e ricevere sms direttamente dal tuo desktop. Purtroppo non è ancora stato tradotto in italiano ma non credo sia un problema data la semplicità estrema di questa utility. L'unica configurazione è quella di impostare correttamente il tipo di collegamento. basterà fare click col destro sulla icona, selezionare Preferenze, spostrarsi sulla scheda Connection e selezionare "Infra red (/dev/ircomm)". Se non viene rieffettuata la connessione riavviare il programma.
GNOME Phone Manager lo puoi installare dal menù Aggiungi/Rimuovi cercando "gestore telefono", altrimenti con il solito sudo apt-get install gnome-phone-manager. L'unica nota è che Gnome Phone Manager genera parecchio traffico irda...
Ircp-Tray
Questo applicativo permette lo scambio di file tra pc e cellulare tramite il protocollo obex in maniera totalmente trasparente per l'utente. In pratica si installa nel vassoio di sistema e riman ein attesa di eventuali connessioni obex in entrata, quindi mostra una finestra per salvare il file in entrata e successivamente procede con il trasferimento. Cliccando sull'icona è invece possibile inviare un file al cellulare, basterà scegliere il file da inviare ed il gioco è fatto!
Purtroppo Ircp-Tray non è incluso in Ubuntu ma è disponibile un pacchetto .deb autoinstallante su GetDeb sia a 32 bit che a 64 bit.
Gli utenti un po' più smaliziati si possono cimentare nella compilazione dai sorgenti di ircp-Tray da me modificato, i vantaggi sono la completa traduzione in italiano e un po' di eyecandy nel menù contestuale. Link: https://launchpad.net/ircp-tray/
XGnokii
Quest'altro programma invece permette il controllo di della rubrica e degli sms. Ha una interfaccia un po' retrò ma non per questo poco funzionale. Tra le caratteristiche c'è la possibilità di effettuare dei backup della rubrica interna e dei messaggi di testo.
Per la configurazione è indispensabile modificare manualmente un file in quanto altrimenti all'avvio l'applicazione si bloccherà (è fatta un po' con i piedi ma vabbè).
Se conoscete qualche altro buon programma non esitate a segnalarmelo!
Immagine in cima all'articolo di proprietà di AMagill,
ugaciaka scrive —
ciao, ottima guida. Pure io ho avuto problemi con il baud massimo! Però almeno adesso funziona. Grazie!
Ciao!!!
DnaX scrive —
Per curiosità com'è fatta la tua interfaccia? Io uso la porta IrDA integrata nella scheda madre. La sezione di ricezione è un modulo di quelli per i telecomandi delle televisioni, quindi non mi aspetto una grande banda passante, il segnale viene poi passato attraverso una porta NOT triggerata, anche lì magari dovrei usare un integrato cmos ad alta velocità... Per la parte trasmittente c'è invece in LED IR pilotato da un BC107... di cui non ricordo la banda di quest’ultimo...
ugaciaka scrive —
Mi stai parlando arabo, La porta irda è nel portatile....l’unica cosa che ti so dire è che dopo un po‘ di prove 9600 è il baud massimo che posso mettere, esattamente come a te.
Non ho mai testato l’irda se non con (arch)linux perché vista l’ho piallato subito.
Il portatile è un asus a8sc
DnaX scrive —
Grazie lo stesso ;)
KoKi - DeaDShaDoW scrive —
ciaoo!!! sai ho capito tutto perfetamnte ma quando installo obexapps mi dice impossibile trovare obexapps
cosa posso fare?
DnaX scrive —
Ciao KoKi - DeaDShaDoW, scusa se ti rispondo solo adesso. Comunque hai ragione, ho scritto male il nome del pacchetto che è openobex-apps. Una ricerca su Synaptic con chiave "obex" avrebbe tolto ogni dubbio.
Fammi sapere com'è andata e se ti interessa prova il mio programma Ircp Tray incluso in Ubuntu 8.10.
ugaciaka scrive —
Ciao dnax,
piccolo aggiornamento: non ho impostato più il baud e adesso...trasferisco file al cellulare a bomba! linux kernel 2.6.30.5, penso che sia grazie a questo ma non saprei.
Saluti e grazie ancora
DnaX scrive —
@Ugaciaka: Grazie per la info, adesso provo anche io col nuovo kernel!
dock scrive —
Ciao, complimenti per la guida che a me serve solo parzialmente, ovvero la mia esigenza è di ottenere una mappatura(lettura) di codici irda (da telecomando tv) per poi gestirla con Lirc.
La mia domanda è: conosci qualche dongle irda compatibile con linux o sono tutti compatibili ?
Grazie
DnaX scrive —
Quelli della eXagerate, che mi pare una sottomarca della Hamlet vanno bene. Purtroppo è un po‘ che non sperimento più e non sono più riuscito a farlo andare ad almeno 56kbps o meglio 4Mbps!
Per lirc però non saprei se il driver riesce a prendere i segnali in formato raw, per poi analizzarli con lirc. La meglio è un ricevitore dei telecomandi sulla porta seriale.
Carlo scrive —
Barber shop Bray Park - Fade Kingdom
21B/8 Sovereign Ave, Bray Park
Queensland QLD 4500
Australia
+61435823705
Murrumba Downs barber shop
Derrick scrive —
Bulletproof Trust Secrets-The Private Wealth Academy
https://markets.financialcontent.com/stocks/article/kisspr-2023-10-11-private-wealth-academy-helps-individuals-privatize-protect-and-proliferate-their-wealth
Kelsey scrive —
Small Business Tax
https://canvas.instructure.com/eportfolios/2642484/chancexkny266/Achieving_Financial_Mastery_The_American_Guide_to_Personal_Finance
Guadalupe scrive —
Bad Credit Small Business Loans
https://www.blogtalkradio.com/h4lqqnb851
Odette scrive —
Beat The Ticket Secrets
https://consent.yahoo.com/v2/collectConsent?sessionId=4_cc-session_1332054b-0fd3-4489-b1a6-e6871dc8cfce
Juliet scrive —
Beat The Ticket Secrets
https://smb.winchestersun.com/article/Private-Wealth-Academy-Helps-Individuals-Privatize-Protect-and-Proliferate-Their-Wealth?storyId=6526b5c7993994cbabcb14ce
Winnie scrive —
High Credit Secrets
https://www.buffalonynews.net/news/274000519/private-wealth-academy-helps-individuals-privatize-protect-and-proliferate-their-wealth
Lucas scrive —
Beat The Ticket Secrets
https://www.lickelevator.com//markets/stocks.php?article=kisspr-2023-10-11-private-wealth-academy-helps-individuals-privatize-protect-and-proliferate-their-wealth
Denis scrive —
Beat The Ticket Secrets
https://pr.rivertonjournal.com/article/Private-Wealth-Academy-Helps-Individuals-Privatize-Protect-and-Proliferate-Their-Wealth?storyId=6526cabe2f039f0008a16b25
Carmelo scrive —
Half Your Mortgage
https://jacksonville.newsnetmedia.com/story/49824445/private-wealth-academy-helps-individuals-privatize-protect-and-proliferate-their-wealth
Karolin scrive —
Foreclosure Secrets
https://www.bloomberg.com/press-releases/2023-10-11/private-wealth-academy-helps-individuals-privatize-protect-and-proliferate-their-wealth
Robin scrive —
Howw To Improve Credit Score Quickly
https://www.giantbomb.com/profile/b3nttfw581/
Leesa scrive —
Corporate Credit Secrets
https://ca.finance.yahoo.com/news/private-wealth-academy-helps-individuals-144400460.html
Rudolph scrive —
Heloc Mortgage Strategy
http://judahhygg282.iamarrows.com/unlocking-financial-flexibility-the-ultimate-guide-to-heloc-strategy-in-the-us
Denese scrive —
Heloc Investment Strategies
https://www.red-bookmarks.win/heloc-strategy-to-pay-off-mortgage
Karine scrive —
Heloc Strategy Investing
https://tiny-wiki.win/index.php?title=The_HELOC_Blueprint_for_Early_Mortgage_Liberation:_Mastering_Your_Home_Loan
Jesus scrive —
How To Reduce Tax
https://www.bokkmarking-signs.win/avoid-gift-tax
Colette scrive —
Tax Liability Meaning
https://chasingadream.rpginitiative.com/member.php?action=profile&uid=22837
Sasha scrive —
Irresvocable Trust Florida
https://www.booknose.win/irrevocable-trust-asset-protection
Siobhan scrive —
No Tax Liability
https://moiafazenda.ru/user/n9svkgs056
Minna scrive —
Income Tax Liability
https://www.bust-bookmark.win/tax-liability
Muriel scrive —
Asset Protection Attorney
https://numberfields.asu.edu/NumberFields/show_user.php?userid=3553504
Frederic scrive —
Asset Protection Specialist
http://sa.dudj.krdssah.859635@211.45.131.206?a%5B%5D=%3Ca+href%3Dhttps%3A%2F%2Fmilkyway.cs.rpi.edu%2Fmilkyway%2Fshow_user.php%3Fuserid%3D6784480%3Eliving+trust+asset+protection%3C%2Fa%3E%3Cmeta+http-equiv%3Drefresh+content%3D0%3Burl%3Dhttp%3A%2F%2Fforums.visualtext.org%2Fmember.php%3Faction%3Dprofile%26uid%3D1149631+%2F%3E
Sonja scrive —
Asset Protection Attorney
http://archerrbgc938.wpsuo.com/exploring-the-function-of-trusts-in-asset-protection