Conectarea unui telefon mobil prin IR
From linux360
Introducere
Acest tutorial prezintă modul de configurare a distribuţiei Slackware Linux 12.0 pentru a permite conectarea la un telefon mobil folosind un adaptor IrDA/USB.
Adaptorul IrDA/USB este de tipul KingSun-959:
Bus 003 Device 002: ID 07d0:4959 Dazzle Kingsun KS-959 Infrared Adapter
- cat /var/log/dmesg | grep 959
KingSun KS-959 IRDA/USB found at address 3, Vendor: 7d0, Product: 4959 drivers/net/irda/ks959-sir.c: IrDA: Registered KingSun KS-959 device irda0 usbcore: registered new interface driver ks959-sir
Singurul telefon mobil pe care am testat aceste informaţii este Nokia 5200, deci este posibil ca pentru alte tipuri de telefoane mobile să existe diferenţe în ceea ce priveşte setările descrise în acest tutorial.
Informaţiile au fost testate pe un notebook Fujitsu Amilo Pro v3515 (Slackware-current, kernel 2.6.24.5). Distribuţia a fost instalată cu opţiunea "full". De asemenea, am configurat HAL (Hardware Abstraction Layer) conform CHANGES_AND_HINTS.TXT.
Pentru conectivitatea prin infraroșu, am instalat pachetul irda-utils de aici, folosind sursele pachetului de aici, astfel:
$ cd /home/<user>/Desktop
$ wget -r ftp://ftp.slackbuilds.org/12.0/network/irda-utils
$ mv /home/<user>/Desktop/ftp.slackbuilds.org/12.0/network/irda-utils/*.* /home/<user>/Desktop
$ su
- chmod +x irda-utils.SlackBuild
- ./irda-utils.SlackBuild
- cd /tmp
- installpkg irda-utils-0.9.18-i486-1_SBo.tgz
Configurare
- Încărcarea modulelor de kernel necesare (modificarea fișierului de configurare /etc/rc.d/rc.molules-<kernel-version>-smp):
- IrDA/USB modules
/sbin/modprobe irda-usb /sbin/modprobe ks959-sir /sbin/modprobe irtty-sir /sbin/modprobe ircomm /sbin/modprobe ircomm_tty
- Verificarea încărcării modulelor:
- lsmod
Module Size Used by ircomm_tty 23944 0 ircomm 14340 1 ircomm_tty irtty_sir 8960 0 sir_dev 14596 1 irtty_sir irda_usb 16772 0 ks959_sir 11648 0 irda 114360 5 ircomm_tty,ircomm,sir_dev,irda_usb,ks959_sir crc_ccitt 5760 1 irda
- Activarea serviciului IrdA:
- cd /etc/rc.d
- chmod 0755 rc.irda
- ./rc.irda start
Starting IrDA: /usr/sbin/irattach
- Activarea interfeței irda0:
- irattach irda0 -s 1
- ifconfig
irda0 Link encap:IrLAP HWaddr bf:21:c7:c1
UP RUNNING NOARP MTU:2048 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:21 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:8 RX bytes:0 (0.0 B) TX bytes:339 (339.0 B)
- Verificarea funcţionării conectivităţii IR:
Comanda cat /proc/net/irda/discovery:
- cat /proc/net/irda/discovery
IrLMP: Discovery log:
nickname: Nokia 5200, hint: 0xb125, saddr: 0xbf21c7c1, daddr: 0x0000b3b5
Comanda cat /proc/net/irda/irlap:
- cat /proc/net/irda/irlap
irlap0 state: LAP_NDM
device name: irda0, hardware name: usb#2 caddr: 0x7a, saddr: 0xbf21c7c1, daddr: 0x000000 win size: 0, win: 0, line capacity: 0, bytes left: 0 tx queue len: 0 win queue len: 0 rbusy: FALSE mbusy: FALSE retrans: 0 vs: 0 vr: 0 va: 0 qos bps maxtt dsize winsize addbofs mintt ldisc comp tx 9600 0 64 1 12 0 0 rx 9600 0 64 1 12 0 0
Comanda irdadump:
irdadump
(...)
07:39:50.648254 xid:rsp bf21c7c1 < 0000b3b5 S=6 s=5 Nokia 5200 hint=b125 [ PnP Modem Fax Telephony IrCOMM IrOBEX ] (27)
(...)
91 packets received by filter
Comanda irdaping <daddr>:
- irdaping 0x0000b3b5
IrDA ping (0x0000b3b5 on irda0): 32 bytes 32 bytes from 0x0000b3b5: irda_seq=1 time=110.18 ms. 32 bytes from 0x0000b3b5: irda_seq=2 time=111.15 ms. 32 bytes from 0x0000b3b5: irda_seq=4 time=111.10 ms. 32 bytes from 0x0000b3b5: irda_seq=5 time=105.08 ms.
8 packets received by filter
Comanda obex_test:
- obex_test
Using IrDA transport OBEX Interactive test client/server. > c Connect OK! Version: 0x10. Flags: 0x00
- Utilizarea obexftp:
$ obexftp -i -l
Connecting...done
Receiving "(null)"...\<?xml version="1.0"?>
<!DOCTYPE folder-listing SYSTEM "obex-folder-listing.dtd"
[ <!ATTLIST folder mem-type CDATA #IMPLIED> ]>
<folder-listing version="1.0">
<folder name="Extra" user-perm="RW" mem-type="MMC"/> <folder name="Graphics" created="20060101T000000" user-perm="R" mem-type="DEV"/> <folder name="Music files" created="20060101T000000" user-perm="R" mem-type="DEV"/> <folder name="Themes" created="20060101T000000" user-perm="RW" mem-type="DEV"/> <folder name="Tones" created="20060101T000000" user-perm="R" mem-type="DEV"/> <folder name="Video clips" created="20060101T000000" user-perm="R" mem-type="DEV"/> <folder name="Images" created="20060101T000000" user-perm="R" mem-type="DEV"/> <folder name="Recordings" created="20060101T000000" user-perm="R" mem-type="DEV"/> <folder name="Receiv. files" created="20060101T000000" user-perm="R" mem-type="DEV"/>
</folder-listing> done Disconnecting...done
Alte aplicaţii
- obextool (http://sourceforge.net/projects/obextool/) - instalat conform acestui tutorial (Secțiunea 3 - Alte aplicaţii)
$ obextool
Scanning for Irda devices
Found IrDA device
Using obexftp command: /usr/bin/obexftp -i
Found ObexTool version 0.33 ...
Found configuration file /etc/obextool/obextool.cfg version 0.33 ...
Found configuration file /etc/obextool/obextool.typ version 0.33 ...
Found configuration file /etc/obextool/obextool.ext version 0.33 ...
- gnokii (http://www.gnokii.org/) - numai pentru anumite tipuri de telefoane, detalii pe gnokii wiki.
Exemplu de fișier de configurare (numai liniile esențiale):
[global]
- With Linux-IrDA you will want to use
port = /dev/ircomm0
- Set model to the model number of your phone. For the
model = 6510
- There are few main models that should make use of the certain drivers.
- These are: 6110, 7110, 6510, 3110, 2110, 6160.
- Set IrDA device name.
irda_string = Nokia 5200
initlength = default
- For infrared connection with phones other than Nokia 6110/6130/6150 use:
connection = irda
- Don't forget to run: 'irattach irda0 -s' or similiar before running gnokii
use_locking = yes
- Baudrate to use on serial port connections.
serial_baudrate = 9200
- Force serial port handshaking mode, useful primarily for "AT" model.
handshake = hardware
sm_retry = 1
Fișierul de configurare original este /etc/gnokiirc.