ottobre 23, 2007

Utilizzare la porta infrarossi su Debian e Ubuntu

Posted in Guide, Tips 'n' Tricks a 3:24 pm di debianotix

Spesso sui nostri notebook è presente una porta infrarossi (Irda) peccato che le nostre amate distro si dimentichino di attivarla e renderla funzionante…ma per questo ci sto qua io no? 😉

Il riferimento è per quelle porte che usano il modulo nsc-ircc per funzionare, ma non escludo che funzioni su altri modelli.

Su Ubuntu la procedura è semplicissima, installate questi 2 pacchetti: irda-utils e openobex-apps dopodiché riavviate il sistema. Dando un ifconfig o un iwconfig dovrebbe essere pronto un nuovo device di nome irda0. Per provare se funziona date un irdadump irda0, cominceranno a scorrere delle scritte, mettete di fronte alla porta il vostro cellulare che cerca di inviare una foto via infrarossi, a questo punto in mezzo alle scritte di prima che continuano a scorrere ne dovrebbero apparire altre relative al telefono in questione. Ok, ora è tutto pronto, se volete per esempio ricevere una foto dal vostro telefonino, da terminale digitate irxfer e inviate il file attraverso la porta infrarossi, dovreste riceverlo nella vostra home sotto la cartella /tmp. Viceversa per quanto riguarda l’invio basterà dare un irxfer nomefile e mettere il telefono in ricezione da infrarossi….semplice vero? mi piacerebbe vederle integrate in Nautilus queste cose, ma meglio questo che niente no?

Per quanto riguarda Debian c’è solo un passaggio in più da fare, visto che la “Mamma” non disattiva automaticamente la porta seriale per assegnare l’irq alla porta irda. Quindi, dopo aver installato i 2 pacchetti di cui sopra, irda-utils e openobex-apps, prima di riavviare create il file /etc/modprobe.d/irda (da terminale con privilegi di root: gedit /etc/modprobe.d/irda) e copiaincollateci quanto segue:

# IrCOMM module
alias char-major-161 ircomm-tty
alias char-major-60 ircomm_tty

# DevFS autoload for IrCOMM
alias /dev/ircomm0 ircomm-tty
alias /dev/ircomm1 ircomm-tty

# IrLAN, but currently the IrLAN protocol is no longer maintained by the Linux/IrDA core team
alias irlan0 irlan

# To use the FIR driver. This applies only to the specific device!!!
alias irda0 nsc-ircc
install nsc-ircc /bin/setserial /dev/ttyS1 uart none; /sbin/modprobe –ignore-install nsc-ircc; echo 1 > /proc/sys/net/irda/discovery; ifconfig irda0 up
remove nsc-ircc /sbin/modprobe -r –ignore-remove nsc-ircc; /sbin/modprobe -r ircomm_tty ircomm irda

# IrNET module
alias char-major-10-187 irnet

A questo punto riavviate e procedete alle prove che ho descritto sopra.

Aggiornamento:

Sulla Debian testing attuale (18-02-2008) il file da modificare è /etc/modprobe.d/irda-utils, e dovrebbe essere così:

# Other aliases are defined in the modules themselves
alias char-major-10-187 irnet

# For FIR device

alias irda0 nsc-ircc
options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3
install nsc-ircc /bin/setserial /dev/ttyS1 uart none port 0 irq 0; /sbin/modprobe –ignore-install nsc-ircc

Buon Irda a tutti!

Annunci

12 commenti »

  1. Dante said,

    In Ubuntu feisty 7.10 … niente, come segue (irda-utils e openobex-apps installate)

    eth0 Link encap:Ethernet HWaddr 00:0F:EA:5D:46:96
    inet addr:192.168.x.x Bcast:192.168.x.255 Mask:255.255.255.0
    inet6 addr: fe80::20f:eaff:fe5d:4696/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:10450 errors:0 dropped:0 overruns:0 frame:0
    TX packets:9047 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:8716155 (8.3 MB) TX bytes:1877714 (1.7 MB)
    Interrupt:18 Base address:0xa000

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
    myname@myname-desksempron:~$ irdadump irda0
    irdadump: Operation not permitted

  2. debianotix said,

    Quale chip hai per la porta irda? puoi postare l’output di lsmod?

  3. sanjelanka said,

    ciao! io ho una debian
    ma anche a me non ha funzionato
    questo è (credo) l’infraossi che mi viene fuori
    da “lsmod”

    irtty_sir 8224 0
    sir_dev 15620 1 irtty_sir
    irda 172540 2 irtty_sir,sir_dev
    crc_ccitt 2240 1 irda

    con lspci non viene fuori niente che faccia intendere l’infrarossi

  4. kira said,

    irda0 Link encap:IrLAP HWaddr d5:c8:e6:c0
    UP RUNNING NOARP MTU:2048 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:1743 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:8
    RX bytes:0 (0.0 b) TX bytes:26394 (25.7 KB)

    questo è quello che mi appare con ifconfig,

    se però faccio “irdadump irda0” iniziano a correre le scritte ma se provo a mettere davanti il cell alla porta e cerco di inviare un file non succede nulla.

    dimenticavo…. ho ubuntu e per poter fare irdadump devo autenticarmi con su
    hai qualche idea??

  5. debianotix said,

    @Kira: è giusto…non deve succedere niente, cambiano solo le scritte che scorrono…per riceve il file devi usare il comando irxfer, per irdadump devi usare sudo o autenticarti su, tutto nella norma, per irxfer mi pare di no, visto che agisce nella /home

  6. Dante said,

    Ho risolto seguendo passo passo le istruzioni che ho trovato su questo link:

    http://www.netsons.org/viewtopic.php?p=13374&sid=dd4cfa824b271cb52abe56c2b1729cec

    ma ho avuto la fortuna di possedere lo stesso chip sigma-tel (è una periferica irda da pc desktop collegata alla usb) così “tutto” funziona – nel senso che il cellulare è visto sullo scrolling del comando :

    sudo irdadump

    ma vorrei una interfaccia meno spartana della riga di comando (comando: irxfer). Sto provando a farlo vedere da Wammu ma non ne vuole sapere.

    Un saluto a tutti e buona fortuna

  7. Dante said,

    Ho cantato vittoria troppo presto. A quanto pare linux vede il mio cellulare siemens ma non accade l’inverso

    il comando

    “sudo irdadump” mi dà

    07:47:11.464919 xid:cmd 095520d4 > ffffffff S=6 s=* dan-desksempron hint=0400 [ Computer ] (33)
    07:47:13.864924 xid:cmd 095520d4 > ffffffff S=6 s=0 (14)
    07:47:13.964918 xid:cmd 095520d4 > ffffffff S=6 s=1 (14)
    07:47:14.064923 xid:cmd 095520d4 > ffffffff S=6 s=2 (14)
    07:47:14.164918 xid:cmd 095520d4 > ffffffff S=6 s=3 (14)
    07:47:14.247149 xid:rsp 095520d4 ffffffff S=6 s=4 (14)

    ma se provo a dare il comando

    “irxfer” la porta si mette correttamete in ascolto (Obex è ok) come segue

    dan@desksempron:~$ irxfer
    Waiting for files

    ma quando provo a inviare il file usando la procedura dal cellulare mi dà

    “dispositivo non trovato”

    da Wammu http://wammu.eu/?version=0.22 il software mi vede con la routine di ricerca automatica solo le mie porte ttyS0 ttyS1 etc come segue

    Wammu is now searching for phone:
    Avvio di /dev/ttyS0 – [‘at19200’, ‘at115200’, ‘fbusdlr3’, ‘fbus’, ‘mbus’, ‘fbuspl2303’, ‘phonetblue’, ‘fbusblue’]
    Avvio di /dev/ttyS1 – [‘at19200’, ‘at115200’, ‘fbusdlr3’, ‘fbus’, ‘mbus’, ‘fbuspl2303’, ‘phonetblue’, ‘fbusblue’]
    Avvio di /dev/ttyS2 – [‘at19200’, ‘at115200’, ‘fbusdlr3’, ‘fbus’, ‘mbus’, ‘fbuspl2303’, ‘phonetblue’, ‘fbusblue’]
    Neither GNOME Bluetooth (btctl) nor PyBluez found, not possible to scan for bluetooth devices
    /dev/ttyS0 – [‘at19200’, ‘at115200’, ‘fbusdlr3’, ‘fbus’, ‘mbus’, ‘fbuspl2303’, ‘phonetblue’, ‘fbusblue’] completato
    /dev/ttyS1 – [‘at19200’, ‘at115200’, ‘fbusdlr3’, ‘fbus’, ‘mbus’, ‘fbuspl2303’, ‘phonetblue’, ‘fbusblue’] completato
    /dev/ttyS2 – [‘at19200’, ‘at115200’, ‘fbusdlr3’, ‘fbus’, ‘mbus’, ‘fbuspl2303’, ‘phonetblue’, ‘fbusblue’] completato
    Operazioni terminate, trovati 0 telefoni
    No phone has been found!

    E’ dura …

    Ciao a tutti

  8. Dante said,

    sorry ho dimenticato le linee cruciali del’output del comando di irdadump del mio post precedente

    07:47:14.164918 xid:cmd 095520d4 > ffffffff S=6 s=3 (14)
    07:47:14.247149 xid:rsp 095520d4 ffffffff S=6 s=4 (14)

  9. Dante said,

    riprovo ad attaccare la linea (non vuole fare il paste proprio di quella linea!)

    00158480 S=6 s=3 SIEMENS C72 hint=b124 [ PnP Modem Fax IrCOMM IrOBEX ] (28)

  10. Dante said,

    < 00158480 S=6 s=3 SIEMENS C72 hint=b124 [ PnP Modem Fax IrCOMM IrOBEX ] (28)

  11. Dante said,

    Ecco il mio output al comando:

    lsmod:

    Module Size Used by
    stir4200 13956 0
    binfmt_misc 12936 1
    rfcomm 42136 2
    l2cap 26240 11 rfcomm
    bluetooth 57060 4 rfcomm,l2cap
    irda 202300 1 stir4200
    crc_ccitt 3072 1 irda
    ppdev 10244 0
    radeon 125472 2
    drm 83348 3 radeon
    cpufreq_stats 7232 0
    cpufreq_powersave 2688 0
    cpufreq_conservative 8072 0
    cpufreq_userspace 5280 0
    cpufreq_ondemand 9612 0
    freq_table 5792 2 cpufreq_stats,cpufreq_ondemand
    video 18060 0
    sbs 19592 0
    container 5504 0
    dock 10656 0
    button 8976 0
    ac 6148 0
    battery 11012 0
    ipv6 273892 8
    sbp2 24072 0
    lp 12580 0
    snd_via82xx 29336 1
    snd_ac97_codec 100644 1 snd_via82xx
    snd_bt87x 16420 0
    snd_pcm_oss 44672 0
    snd_mixer_oss 17664 1 snd_pcm_oss
    ac97_bus 3200 1 snd_ac97_codec
    snd_pcm 80388 4 snd_via82xx,snd_ac97_codec,snd_bt87x,snd_pcm_oss
    snd_page_alloc 11400 3 snd_via82xx,snd_bt87x,snd_pcm
    bt878 11832 0
    snd_mpu401_uart 9600 1 snd_via82xx
    snd_seq_dummy 4740 0
    snd_seq_oss 33152 0
    snd_seq_midi 9600 0
    snd_rawmidi 25728 2 snd_mpu401_uart,snd_seq_midi
    snd_seq_midi_event 8448 2 snd_seq_oss,snd_seq_midi
    snd_seq 53232 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
    tuner 63144 0
    snd_timer 24324 2 snd_pcm,snd_seq
    snd_seq_device 9228 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
    tvaudio 24348 0
    analog 13344 0
    gameport 16776 2 snd_via82xx,analog
    pcspkr 4224 0
    parport_pc 37412 1
    parport 37448 3 ppdev,lp,parport_pc
    serio_raw 8068 0
    snd 54660 14 snd_via82xx,snd_ac97_codec,snd_bt87x,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_mpu401_uart,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
    k8temp 6656 0
    psmouse 39952 0
    soundcore 8800 1 snd
    xpad 9988 0
    i2c_viapro 10004 0
    af_packet 24840 2
    bttv 177012 1 bt878
    video_buf 26244 1 bttv
    ir_common 35460 1 bttv
    compat_ioctl32 2304 1 bttv
    i2c_algo_bit 7428 1 bttv
    btcx_risc 5896 1 bttv
    tveeprom 16784 1 bttv
    amd64_agp 13700 1
    agpgart 35016 2 drm,amd64_agp
    i2c_core 26112 6 tuner,tvaudio,i2c_viapro,bttv,i2c_algo_bit,tveeprom
    shpchp 34580 0
    pci_hotplug 32704 1 shpchp
    videodev 29312 1 bttv
    v4l2_common 18432 4 tuner,tvaudio,bttv,videodev
    v4l1_compat 15364 2 bttv,videodev
    joydev 11328 0
    evdev 11136 3
    ext3 133896 1
    jbd 60456 1 ext3
    mbcache 9732 1 ext3
    usbhid 29536 0
    hid 28928 1 usbhid
    ide_cd 32672 0
    cdrom 37536 1 ide_cd
    ide_disk 18560 3
    ata_generic 8452 0
    floppy 60004 0
    ohci1394 36528 0
    ieee1394 96312 2 sbp2,ohci1394
    r8169 32260 0
    ehci_hcd 36492 0
    sata_via 12548 0
    libata 125168 2 ata_generic,sata_via
    scsi_mod 147084 2 sbp2,libata
    uhci_hcd 26640 0
    usbcore 138632 6 stir4200,xpad,usbhid,ehci_hcd,uhci_hcd
    via82cxxx 10372 0 [permanent]
    ide_core 116804 3 ide_cd,ide_disk,via82cxxx
    thermal 14344 0
    processor 32072 1 thermal
    fan 5764 0
    fuse 47124 1
    apparmor 40728 0
    commoncap 8320 1 apparmor

    ecco poi l’output al comando

    ifconfig:

    irda0 Link encap:IrLAP HWaddr 2c:d3:9b:e5
    UP RUNNING NOARP MTU:2048 Metric:1
    RX packets:1628 errors:4 dropped:4 overruns:0 frame:0
    TX packets:7685 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:8
    RX bytes:24976 (24.3 KB) TX bytes:115334 (112.6 KB)

    (ho incollato solo quello relativo alla infrarossi che è quella che ci interessa)

  12. Wow, amazing blog structure! How long have you ever been blogging
    for? you make running a blog look easy. The whole look of your
    website is great, as smartly as the content material!


Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: