Kasutaja:Imre

Allikas: Kuutõrvaja
Redaktsioon seisuga 20. juuni 2010, kell 18:46 kasutajalt Imre (arutelu | kaastöö) (linux + bluetooth + gprs)
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)

qt struktuuri kohta ettepanek

Põhimõttelised alternatiivid

  • sisulised teemad -> osid - esmalt on tekitatud sisuliste teemade struktuur, iga teema all on selle teema käsitlus operatsioonisüsteemide kaupa, kusjuures iga teema all on tõenäolselt üks kuni mõni üldist seda teemat puudutavat punkti
  • osid -> sisulised teemad - esmalt on tekitatud operatsioonisüsteemide nimekiri ja iga all on selle os'i vaatest sisuliste teemade käsitlus

'Sisulised teemad -> osid' eelised

  • kogu veebikohal on sama strutuur; ei teki nelja erinevat veebikohta ühele domeeninimele
  • erinevate os'ide käsitlejad näevad paratamatult enam mis teised teevad

Lehele saabuja peaks saama ennast positsioneerida kahes vaates

  • nö tavakasutja vs süsteemi administreerija ambitsioon
  • valida mitmete sisuliste teemade seast endale meelepärase

Nt Subversioni tekstini jõuab tavakasutaja nii

 Avaleht -> Tavakasutaja vaade -> Subverisoni kasutamine

ja administraator

 Avaleht -> Administraatori vaade -> Subversioni haldamine

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 + irda + gprs

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 ja telefoni vaheline suhtlemine üle irda (FIR)
  • seada käima arvuti ühendus internetiga kasutada telefoni nagu modemit üle selle irda lingi

Esialgu on tegu nö käelise juhendiga, st järgnevused ei ole kirjutatud ilusti skriptidesse.

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 olekus 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

ning tekib protsess

 emmija:~# ps aux | grep ir
 root         4  0.0  0.0      0     0 ?        SN   08:36   0:03 [ksoftirqd/0]
 root      3040  0.0  0.0   1700   392 ?        S    09:06   0:00 irattach irda0 -s

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

Telefoni on tarvis tekitada sobiv andmeside profiil

 Menüü -> Seaded -> Side -> Andmeside -> Andmekontod -> Kontonimi
 
 APN: internet.emt.ee
 Auntentimine: Puudub

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

Konkreetsel juhul kujunes andmevahetuse kiiruseks nt wget programmiga kopeerides 8-9 kBait/s ehk 115200 bit/s kanti.

Abiks materjalid

linux + bluetooth + gprs

Tuleb paigaldada pakett bluez-utils, lülitada telefonis bluetooth sisse, asetada telefon arvuti lähedusse ning öelda

 emmija:~# hcitool scan
 Scanning ...
       00:1C:A4:C9:09:C8       K550i
 emmija:~# hcitool info 00:1C:A4:C9:09:C8
 Requesting information ...
       BD Address:  00:1C:A4:C9:09:C8
       Device Name: K550i
       LMP Version: 2.0 (0x3) LMP Subversion: 0x520
       Manufacturer: ST Microelectronics (48)
       Features: 0xff 0xe9 0x8d 0xfe 0x9b 0xe9 0x00 0x00
       ....

Teha failis /etc/bluetooth/rfcomm.conf vajalikud muudatused

 rfcomm0 {
       # Automatically bind the device at startup
       bind yes;
 
       # Bluetooth address of the device
       device 00:1C:A4:C9:09:C8;
 
       # RFCOMM channel for the connection
       channel 2;
 
       # Description of the connection
       comment "Example Bluetooth device";
 }
 emmija:~# /etc/init.d/bluetooth start
 Starting bluetooth: hcid hid_devicesNo devices in HCI mode found
  rfcomm.
 emmija:~# rfcomm 
 rfcomm0: 00:1C:A4:C9:09:C8 channel 2 clean 
 rfcomm connect /dev/rfcomm0 00:1C:A4:C9:09:C8 2

Seejärel telefon küsib, et kas suhtleme arvutiga, esimesel korral tuleb ka arvuti kohta salvestada telefonisse sissekanne.

 emmija:/usr/share/doc/bluez-utils/examples# ./passkey-agent --default 1111
 emmija:~# pppd call gprs-bt

Kasutamise lõpul tuleb vahel öelda

 bash# rfcomm release /dev/rfcomm0

Ibm-riiul-1.gif