Jak uzyska─ç po┼é─ůczenie po┼é─ůczenie z internetem poprzez IrDA?

Bezprzewodowe po┼é─ůczenie

UWAGA: To jest bardzo stara wersja strony. Id┼║ do tej strony

(16.09.2000)

Co jest potrzebne:
- notebook z interfejsem IrDA (przyk┼éady dotycz─ů IBM ThinkPad 600)
- telefon kom├│rkowy z interfejsem IrDA i wbudowanym modemem (np. Nokia 7110)

1. Kompilacja j─ůdra

Oczywi┼Ťcie j─ůdro linuksa musi posiada─ç obs┼éug─Ö interfejsu IrDA. Ja u┼╝y┼éem dystybucji Mandrake 7.1 z j─ůdrem 2.2.16. Skompiluj j─ůdro jak chcesz, ale pami─Ötaj o ustawieniu odpowiednich opcji w sekcji "IrDA (infrared) support". Oto moje ustawienia:



    #
    # IrDA options
    #
    CONFIG_IRDA_CACHE_LAST_LSAP=y
    CONFIG_IRDA_FAST_RR=y
    # CONFIG_IRDA_DEBUG is not set
    CONFIG_IRDA_COMPRESSION=y
    
    #
    # IrDA compressors
    #
    CONFIG_IRDA_DEFLATE=m
    
    #
    # Infrared-port device drivers
    #
    
    #
    # SIR device drivers
    #
    CONFIG_IRTTY_SIR=m
    CONFIG_IRPORT_SIR=m
    
    #
    # FIR device drivers
    #
    CONFIG_NSC_FIR=m
    # CONFIG_WINBOND_FIR is not set
    # CONFIG_TOSHIBA_FIR is not set
    # CONFIG_SMC_IRCC_FIR is not set
    
    #
    # Dongle support
    #
    # CONFIG_DONGLE is not set

2. Ustawienia systemu

- W pliku conf.modules (lub modules.conf) umie┼Ť─ç nast─Öpuj─ůce wpisy:



    alias tty-ldisc-3 ppp_async
    alias tty-ldisc-14 ppp_synctty
    alias char-major-108 ppp_generic
    alias tty-ldisc-11 irtty
    alias char-major-161 ircomm-tty
    options nsc-ircc dongle_id=0x09
    alias irda0 nsc-ircc

Przedostatnia linia jest odpowiednia w┼éa┼Ťnie dla notebooka IBM ThinkPad 600. Je┼╝eli masz inny typ, pami─Ötaj o odpowiedniej zmianie.

- Zainstaluj pakiety ppp (ja mam w wersji 2.3.11) oraz irda-utils (do pobrania z http://www.cs.uit.no/linux-irda/irda-utils/. Dla dystrybucji Mandrake jest to pakiet irda-utils-0.9.9-1mdk.i586.rpm. Zmodyfikuj plik /etc/irda/drivers, kt├│ry powinien wygl─ůda─ç teraz tak:


    #! /bin/sh
    #
    # drivers
    #
    # Initialize and shutdown IrDA device drivers.
    #
    # This script should be invoked with two arguments. The first is the
    # action to be taken, either "start", "stop", or "restart".
    #
    
    action=$1
    device=$2
    
    case "${action:?}" in
    'start')
    irattach irda0 -s 1
    ;;
    'stop')
    killall irattach
    ;;
    'restart')
    /sbin/ifconfig ${device:?} down up
    ;;
    esac

- Utw├│rz odpowiednie urz─ůdzenia do obs┼éugi IrDA, przez wydanie nast─Öpuj─ůcych polece┼ä:


    mknod /dev/ircomm0 c 161 0
    mknod /dev/ircomm1 c 161 1
    mknod /dev/irlpt0 c 161 16
    mknod /dev/irlpt1 c 161 17

czyli powinny istnie─ç nast─Öpuj─ůce wpisy:


    crw-rw-rw- 1 root root 161, 0 sie 4 22:21 /dev/ircomm0
    crw-rw-rw- 1 root root 161, 1 sie 3 19:52 /dev/ircomm1
    crw-rw-rw- 1 root root 161, 16 sie 3 19:52 /dev/irlpt0
    crw-rw-rw- 1 root root 161, 17 sie 3 19:52 /dev/irlpt1

Szczegóły w dokumentacji do irda-utils (README.irattach).

Mo┼╝esz ju┼╝ uruchomi─ç interfejs IrDA, wydaj─ůc polecenie `/etc/rc.d/init.d/irda start`. Je┼╝eli wszystko posz┼éo sprawnie, w logach powinna znajdowa─ç si─Ö informacja o wykryciu i uruchomieniu interfejsu irda0:


Aug 4 22:09:01 localhost irmanager: executing: '/sbin/modprobe irda'
Aug 4 22:09:01 localhost kernel: IrDA (tm) Protocols for Linux-2.2 (Dag Brattli)
Aug 4 22:09:01 localhost irmanager: executing: 'echo 1 > /proc/sys/net/irda/discovery'
Aug 4 22:09:01 localhost irmanager: executing: 'echo localhost > /proc/sys/net/irda/devname'
sie 4 22:09:01 localhost irda: irmanager startup succeeded
Aug 4 22:09:01 localhost irmanager: + 1.1 Tue Nov 9 15:30:55 1999 Dag Brattli
Aug 4 22:09:01 localhost irmanager: + 1.1 Tue Nov 9 15:30:55 1999 Dag Brattli
Aug 4 22:09:01 localhost irattach: device=irda0
Aug 4 22:09:01 localhost irattach: FIR device
Aug 4 22:09:01 localhost irattach: executing: '/sbin/modprobe irda0'
Aug 4 22:09:01 localhost kernel: nsc-ircc, Found chip at base=0x02e
Aug 4 22:09:01 localhost kernel: nsc-ircc, driver loaded (Dag Brattli)
Aug 4 22:09:01 localhost kernel: IrDA: Registered device irda0
Aug 4 22:09:01 localhost kernel: nsc-ircc, Using dongle: IBM31T1100 or Temic TFDS6000/TFDS6500
Aug 4 22:09:01 localhost irattach: executing: 'echo 1 > /proc/sys/net/irda/discovery'
Aug 4 22:09:01 localhost irattach: FIR device (2)
Aug 4 22:09:01 localhost irattach: Starting device irda0
Aug 4 22:09:01 localhost irattach: executing: 'echo localhost > /proc/sys/net/irda/devname'

Je┼╝eli wszystko jest w porz─ůdku, w┼é─ůcz interfejs IrDA w kom├│rce (hint: w Nokii 7110 menu 9), i przystaw j─ů w obok z┼é─ůcza IrDA w notebooku. Je┼╝eli kom├│rka zosta┼éa wykryta, to wydanie polecenia `cat /proc/net/irda/discovery` powinno da─ç co┼Ť takiego:


IrLMP: Discovery log:

nickname: Nokia 7110, hint: 0xb125, saddr: 0x83e1fdbc, daddr: 0xd6160000

Je┼╝eli tak jest - gratulacje, zestawi┼ée┼Ť po┼é─ůczenie z kom├│rk─ů! Zostaje jeszcze utworzenie paru plik├│w:

    /usr/sbin/ppp-on-gsm


    #!/bin/sh
    LOCAL_IP=0.0.0.0
    REMOTE_IP=0.0.0.0
    NETMASK=255.255.255.0
    DIALER_SCRIPT=/etc/ppp/ppp-gsm
    exec /usr/sbin/pppd debug /dev/ircomm0 115200 \
    $LOCAL_IP:$REMOTE_IP \
    connect $DIALER_SCRIPT

    /etc/ppp/ppp-gsm


    #!/bin/sh
    /usr/sbin/chat -v \
    TIMEOUT 30 \
    ABORT '\nBUSY\r' \
    ABORT '\nNO ANSWER\r' \
    ABORT '\nRINGING\r\n\r\nRINGING\r' \
    ABORT '\nNO CARRIER\r' \
    '' ATDT501808080 \
    CONNECT ''

    /etc/ppp/options


    -detach
    modem
    crtscts
    defaultroute
    asyncmap 0
    mtu 552
    mru 552
    user ppp

    /etc/ppp/pap-secrets


    ppp ppp0 "ppp"

(skrypty zaczerpni─Öto z serwisu LinuxNews).

Numer dost─Öpowy dotyczy sieci IDEA.

Je┼╝eli wszystko jest gotowe, to zostaje ju┼╝ tylko wyda─ç polecenie /usr/sbin/ppp-on-gsm. Powinno zestawi─ç si─Ö po┼é─ůcznie po ppp, i utworzy─ç odpowiedni interfejs (np. ppp0). Je┼╝eli oczywi┼Ťcie nie zapomnieli┼Ťmy doda─ç odpowiednich wpis├│w do /etc/resolv.conf (np:


    search foo.org
    nameserver 194.204.152.43
    nameserver 194.204.159.1

to ju┼╝ mo┼╝emy cieszy─ç si─Ö po┼é─ůczeniem i "szale─ç" w internecie. Powiedzmy, "szale─ç", poniewa┼╝ uzyskamy maksymaln─ů pr─Ödko┼Ť─ç (w porywach) 9600, co wystarcza najwy┼╝ej do ┼Ťci─ůgni─Öcia poczty. Przy okazji ┼Ťci─ůgania poczty nie zapomnij o obejrzeniu UserFriendly!.