Kasutaja:Imre

Allikas: Kuutõrvaja
Redaktsioon seisuga 10. märts 2008, kell 09:43 kasutajalt Imre (arutelu | kaastöö) (linux + gprs + irda)

Mail::Sender

Mail::Sender teegi abil on Perlis hea kirju saata, Debianis

 bash# apt-get install libmail-sender-perl

ja skript

 #!/usr/bin/perl
 use Mail::Sender;
 
 $sender = new Mail::Sender
 {smtp => 'smtp.loomaaed.tartu.ee', from => 'mart@loomaaed.tartu.ee'};
 
 $sender->MailMsg({to => 'priit@loomaaed.tartu.ee',
          subject => 'Test 12',
          msg => "Teksti sisu"
          });

linux + gprs + irda

Riistvaraks on Sony Ericsson K550 ning IBM T42 ning operatsioonisüsteemiks Debian Lenny standardse testingu tuumaga, lisatud pakett irda-utils. Eesmärgiks on seada käima arvuti internetiühendus üle irda (FIR) telefoniga ning kasutades gprs'i.

Esialgu on tegu nö käelise juhendiga, lähtepunktina ei tohiks olla irdasse puutuvaid mooduleid laaditud

 emmija:~# lsmod | grep ir
 dm_mirror              20928  0 
 dm_mod                 52160  2 dm_snapshot,dm_mirror
 firmware_class          9504  1 pcmcia

Failis /etc/modprobe.d/irda-utils peab olema kirjas

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

Serial pordid peaks nö välja lülitatud oleks olema

 emmija:~# setserial /dev/ttyS0
 /dev/ttyS0, UART: unknown, Port: 0x0000, IRQ: 0
 emmija:~# setserial /dev/ttyS1
 /dev/ttyS1, UART: unknown, Port: 0x0000, IRQ: 0

Kui pole, öelda

 bash# setserial /dev/ttyS0 uart none

Ühtegi irattach'i ei tohiks ka olla

 emmija:~# ps aux | grep ir
 root         4  0.0  0.0      0     0 ?        SN   08:36   0:00 [ksoftirqd/0]
 root      2973  0.0  0.0   1784   568 pts/0    S+   09:01   0:00 grep ir

Selleks, et telefon ja arvuti üle irda suhtlema hakkaks, tuleb laadida vajalikud moodulid sobivate parameetritega

 emmija:~# modprobe nsc_ircc

Syslog ütleb selle peale

 Mar 10 09:02:54 emmija kernel: irda_init()
 Mar 10 09:02:54 emmija kernel: NET: Registered protocol family 23
 Mar 10 09:02:54 emmija kernel: pnp: Device 00:0c activated.
 Mar 10 09:02:54 emmija kernel: nsc_ircc_pnp_probe() : From PnP, found firbase 0x2F8 ; irq 3 ; dma 3.
 Mar 10 09:02:54 emmija kernel: nsc-ircc, chip->init
 Mar 10 09:02:54 emmija kernel: nsc-ircc, Found chip at base=0x02e
 Mar 10 09:02:54 emmija kernel: nsc-ircc, driver loaded (Dag Brattli)
 Mar 10 09:02:54 emmija kernel: IrDA: Registered device irda0
 Mar 10 09:02:54 emmija kernel: nsc-ircc, Using dongle: IBM31T1100 or Temic TFDS6000/TFDS6500

ning ifconfig

 emmija:~# ifconfig -a
 ...
 irda0     Link encap:IrLAP  HWaddr 00:00:00:00  
           NOARP  MTU:2048  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:8 
           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Laadime mooduli ircomm_tty

 emmija:~# modprobe ircomm_tty
 ...
 IrCOMM protocol (Dag Brattli)

Tekivad ka /dev/ircomm* seadmed.

Tulemusena on sellised moodulid laaditud

 emmija:~# lsmod | grep ir
 ircomm_tty             35656  0 
 ircomm                 20900  1 ircomm_tty
 nsc_ircc               21328  0 
 irda                  172092  3 ircomm_tty,ircomm,nsc_ircc
 crc_ccitt               2144  1 irda
 dm_mirror              20928  0 
 dm_mod                 52160  2 dm_snapshot,dm_mirror
 firmware_class          9504  1 pcmcia
 # irattach irda0 -s
 ..
 Mar 10 09:06:27 emmija irattach: executing: '/sbin/modprobe irda0'
 Mar 10 09:06:27 emmija irattach: executing: 'echo emmija > /proc/sys/net/irda/devname'
 Mar 10 09:06:27 emmija irattach: executing: 'echo 1 > /proc/sys/net/irda/discovery'
 Mar 10 09:06:27 emmija irattach: Starting device irda0
 Mar 10 09:06:27 emmija kernel: irlap_change_speed(), setting speed to 9600

Kui seejärel öelda

 bash# irdadump

ning asetada sisselülitatud irdaga telefon arvuti lähedale, siis on paista selline tulemus

 07:07:52.396050 xid:cmd 339233e1 > ffffffff S=6 s=* emmija hint=0400 [ Computer ] (22) 
 07:07:54.856050 xid:cmd 339233e1 > ffffffff S=6 s=0 (14) 
 07:07:54.944048 xid:cmd 339233e1 > ffffffff S=6 s=1 (14) 
 07:07:55.035461 xid:rsp 339233e1 < 41c67ea6 S=6 s=1 Sony Ericss hint=9124 [ PnP Modem IrCOMM IrOBEX ] (28) 
 07:07:55.043963 xid:cmd 339233e1 > ffffffff S=6 s=2 (14) 
 07:07:55.132047 xid:cmd 339233e1 > ffffffff S=6 s=3 (14) 
 07:07:55.220048 xid:cmd 339233e1 > ffffffff S=6 s=4 (14) 
 07:07:55.308048 xid:cmd 339233e1 > ffffffff S=6 s=5 (14) 
 07:07:55.396049 xid:cmd 339233e1 > ffffffff S=6 s=* emmija hint=0400 [ Computer ] (22) 
 07:07:57.855967 xid:cmd 339233e1 > ffffffff S=6 s=0 (14) 
 07:07:57.944047 xid:cmd 339233e1 > ffffffff S=6 s=1 (14) 
 07:07:58.032047 xid:cmd 339233e1 > ffffffff S=6 s=2 (14) 
 07:07:58.120047 xid:cmd 339233e1 > ffffffff S=6 s=3 (14) 
 07:07:58.208048 xid:cmd 339233e1 > ffffffff S=6 s=4 (14) 
 07:07:58.299422 xid:rsp 339233e1 < 41c67ea6 S=6 s=4 Sony Ericss hint=9124 [ PnP Modem IrCOMM IrOBEX ] (28) 

Kusjuures ilma telefonita on ainult emmija paista.

Seadme mõned olulised irda toimetamist mõjutavad nn sysctl parameetrid

 emmija:~# cat /proc/sys/net/irda/max_baud_rate 
 16000000
 emmija:~# echo 115200 > /proc/sys/net/irda/max_baud_rate 
 emmija:~/irda# cat /proc/sys/net/irda/max_tx_window 
 7
 emmija:~/irda# echo 1 > /proc/sys/net/irda/max_tx_window 
 emmija:~/irda# cat /proc/sys/net/irda/max_tx_data_size 
 2042
 emmija:~/irda# echo 2000 > /proc/sys/net/irda/max_tx_data_size

Nüüd peaks olema arvuti ja telefoni vahel irda seadistatud ning telefon olema kasutatav modemina, nt cu programmiga pöördudes

 emmija:~/irda# chmod o+rw /dev/ircomm0 
 emmija:~/irda# /usr/bin/cu -l /dev/ircomm0 -s 115200
 Connected.
 at
 OK
 AT+CGATT?
 +CGATT: 1
 
 OK
 AT+CGDCONT?
 +CGDCONT: 1,"IP","internet.emt.ee","0.0.0.0",0,0
 +CGDCONT: 2,"IP","mms.emt.ee","0.0.0.0",0,0
 +CGDCONT: 3,"IP","wap.emt.ee","0.0.0.0",0,0
 +CGDCONT: 4,"IP","internet.emt.ee","0.0.0.0",0,0
 
 OK
 AT DT *99***1#

Viimane hakkaks helistama. Sarnaselt saaks minicom'iga toimetada.

ppp ühenduse tekitamiseks on vajalik kasutada sobivaid parameetreid, nt selliseid kolme faili

 emmija:~# egrep -v '#|^ *$' /etc/ppp/options
 noccp
 asyncmap 0
 noauth
 nocrtscts
 local
 lock
 hide-password
 show-password
 modem
 noipdefault
 -detach
 -pap
 -chap
 -vj
 debug
 proxyarp
 lcp-echo-interval 30
 lcp-echo-failure 4
 ipcp-accept-local
 ipcp-accept-remote
 noipx
 emmija:~# cat /etc/ppp/peers/gprs 
 /dev/ircomm0
 115200
 connect 'chat -v -f /etc/ppp/chat/gprs'
 nodefaultroute
 usepeerdns
 emmija:~# cat /etc/ppp/chat/gprs  
 ABORT   'BUSY'
 ABORT   'NO CARRIER'
 ABORT   'ERROR'
 ""      AT
 OK      AT+CGDCONT=1,"IP","internet.emt.ee","",0,0
 OK      ATDT*99***1#
 \~ ""

ning tuleb öelda

 emmija:~# pppd call gprs
 Serial connection established.
 using channel 1
 Using interface ppp0
 Connect: ppp0 <--> /dev/ircomm0
 sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x3f92df0> <pcomp> <accomp>]
 rcvd [LCP ConfReq id=0x2 <accomp> <pcomp> <asyncmap 0x0> <magic 0x81aeaafc>]
 sent [LCP ConfAck id=0x2 <accomp> <pcomp> <asyncmap 0x0> <magic 0x81aeaafc>]
 rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x3f92df0> <pcomp> <accomp>]
 sent [LCP EchoReq id=0x0 magic=0x3f92df0]
 sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
 rcvd [LCP EchoRep id=0x0 magic=0x81aeaafc]
 rcvd [IPCP ConfReq id=0x1]
 sent [IPCP ConfNak id=0x1 <addr 0.0.0.0>]
 rcvd [IPCP ConfNak id=0x1 <addr 172.22.33.190> <ms-dns1 217.71.32.116> <ms-dns3 217.71.32.115>]
 sent [IPCP ConfReq id=0x2 <addr 172.22.33.190> <ms-dns1 217.71.32.116> <ms-dns3 217.71.32.115>]
 rcvd [IPCP ConfReq id=0x2]
 sent [IPCP ConfAck id=0x2]
 rcvd [IPCP ConfAck id=0x2 <addr 172.22.33.190> <ms-dns1 217.71.32.116> <ms-dns3 217.71.32.115>]
 Could not determine remote IP address: defaulting to 10.64.64.64
 Cannot determine ethernet address for proxy ARP
 local  IP address 172.22.33.190
 remote IP address 10.64.64.64
 primary   DNS address 217.71.32.116
 secondary DNS address 217.71.32.115
 Script /etc/ppp/ip-up started (pid 3136)
 Script /etc/ppp/ip-up finished (pid 3136), status = 0x0

Tulemusena on lisandunud ppp0 seade

 ppp0      Link encap:Point-to-Point Protocol  
           inet addr:172.22.42.64  P-t-P:10.64.64.64  Mask:255.255.255.255
           UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
           RX packets:4 errors:0 dropped:0 overruns:0 frame:0
           TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:3 
           RX bytes:52 (52.0 B)  TX bytes:58 (58.0 B)

Seejärel tuleb käsitsi aidata järgi default route ning internetiühendus võiks olemas olla

 emmija:~# ping kuutorvaja.eenet.ee
 PING kuutorvaja.eenet.ee (193.40.0.10) 56(84) bytes of data.
 64 bytes from koolielu.edu.ee (193.40.0.10): icmp_seq=1 ttl=59 time=526 ms
 64 bytes from koolielu.edu.ee (193.40.0.10): icmp_seq=2 ttl=59 time=523 ms
 64 bytes from koolielu.edu.ee (193.40.0.10): icmp_seq=3 ttl=59 time=523 ms
 64 bytes from koolielu.edu.ee (193.40.0.10): icmp_seq=4 ttl=59 time=324 ms

Abiks materjalid