Linux Ir Howto

Autor: Werner Heuser
<[email protected]>
v2.4, 9 luty 1999
Wersja polska: Grzegorz Ciepłucha
v1.0, 1 Listopad 2000



Oryginał tego dokumentu znajduje się pod adresem

http://www.snafu.de/~wehe/index_li.html



Wprowadzenie do Linuxa i urządzeń działających na podczerwień oraz jak korzystać z oprogramowania dostarczanego przez projekt Linux/IrDa. To oprogramowanie używa standardów IrDA(TM). IrDA(TM) jest przemysłowym standardem dla podczerwonej bezprzewodowej komunikacji, i większość laptopów wyprodukowanych po styczniu 1996 roku jest wyposażona w standard IrDA(TM) bezprzewodowego nadajnika. Porty na podczerwień pozwalają na komunikację z drukarkami, modemami, faxami, sieciami komputerowymi i z innymi laptopami. Szybkość sięga od 2400bps do 4Mbps. Linux/IrDA stack wspiera IrLAP , IrLMP , IrIAS , IrIAP , IrLPT , IrCOMM , IrOBEX , i IrLAN . Niektóre z protokołów są zaimplementowane jako klient i serwer. Jest również wsparcie dla różnych połączeń IrLAP, poprzez kilka urządzeń IrDA(TM) naraz. Projekt Linux/IrDA wystartował pod koniec 1997 roku i jego statut jest nadal eksperymentalny, dlatego proszę nie oczekiwać, że wszystko będzie od razu działać. Jak mi wiadomo Linux/IrDa jest jedyną otwartą i aktualnie dostępną implementacją. Zdalna kontrola (RC) poprzez port podczerwony nie jest głównym celem projektu, aczkolwiek częściowo jest to opisane w tym dokumencie.


1. Wprowadzenie

Better red, than dead. – Nieznany Autor

Od wersji 2.1.131 i 2.2.0 Linux/IrDA jest częścią jądra. Proszę pamiętać że status projektu jest nadal eksperymentalny. Jeżeli potrzebujesz informacji o wsparciu Linux/IrDA dla wersji 2.0.x zajrzyj do wcześniejszego dokumentu tego HOWTO pod adresem
http://www.snafu.de/~wehe/index_li.html.
Ale jak mi wiadomo nie jest on dalej utrzymywany.

Firmy i developerzy którzy są zainteresowani w połączenie sił powinni skontaktować się z projektem Linux/IrDA pod adresem
http://www.cs.uit.no/~dagb/irda lub ze mną pod adresem
< [email protected] >.

Trochę historii o Linux/IrDA . Projekt rozpoczął się pod koniec 1997 roku pod nazwą Linux/IrDA. Z powodu kłopotów z nazwą IrDA, która jest zarejestrowana przez Infrared Data Association IrDA
http://www.irda.org/, nazwa została zmieniona na Linux/IR. Pod koniec 1998 roku stosunki pomiędzy firmami ułożyły się lepiej i nazwa została przywrócona na Linux/IrDA ponownie.

Dokument ten opiera się na „How to use” części projektu Linux/IrDA
http://www.cs.uit.no/~dagb/irda/howto.html. Załączyłem również materiał dostarczany przez główny zespół Linux/IrDA, listę dyskusyjną Linux/IrDA i inne źródła.

Dokument jest zamieszczony w LINUX DOCUMENTATION PROJECT
http://metalab.unc.edu/LDP.

Najnowsza wersja tego dokumentu osiągalna jest pod adresem
http://www.snafu.de/~wehe/index_li.html

Próbowałem sprawdzić wszystkie informacje zawarte w tym dokumencie ale nie posiadam jeszcze potrzebnego sprzętu, dlatego jeżeli coś nie będzie działać proszę mnie nie winić.

Proszę bez obaw kontaktować się ze mną, zadawać pytania lub przesyłać komentarze. Wiem że materiał ten nie jest jeszcze skończony lub perfekcyjny, ale mam nadzieję, że będzie użyteczny mimo wszystko.

< Werner Heuser>

  • BIOS- upewnij się Twój port podczerwieni jest załączony w Biosie i sprawdź jakiego używa adresu i przerwania.
  • Infrared Controller Chip- upewnij się, że Twój port podczerwieni jest wykrywany przez jądro Linuksa. Po szczegółowe informacje zajrzyj do sekcji „Hardware Overview” poniżej.
  • modutils- upewnij się, że używasz modutils w wersji 2.1.x przez insmod. Ja używam wersji 2.1.121.
  • Współdzielona Biblioteka- współdzielona biblioteka libc.so.5 i loader ld-linux.so.1 muszą być dostępne.

    – glibc2 i libc6 również powinny działać.

    – nie jestem pewien ale może będziesz potrzebował biblioteki zlib jeżeli korzystasz z kompresji danych.

  • GUIObecnie rozwijane są dwa Graficzne Interfejsy Użytkownika dla Linux/IrDA :
    • GNOBEX
      GNOME aplikacja rozwijana jest przez Dag’a Brattli
      http://www.cs.uit.no/~dagb/irda/irda.html ze wsparciem dla chwyć’i’puść (drag’n’drop) z menadżera GNOME (gmc). Aplikacja będzie też pokazywać postęp transferu pliku
      i podawać dokładniejsze informacje na temat wystąpionych błędów gdy coś pójdzie źle. GUI nie jest jeszcze skończone, ale jeżeli chcesz go wypróbować będziesz potrzebował modułu Perl-GTK+
    • KDE
      Aplikacja dla KDE rozwijana jest przez Thomas’a Davis’a. Odwiedź jego stronę
      http://www.jps.net/tadavis/irda.

    Do wszystkich zainteresowanych – macie szanse stać się współpracownikami ! Oba GUI potrzebują kilku ikon . Ikony muszą spełniać wymagania :
    A ) rozmiar ( 48×48 pikseli, myślę że powinny mieć taki sam rozmiar )
    B ) duże & małe ( zapytaj o wielkość )
    C ) 16 kolorów
    D ) wolne prawa autorskie
    E ) proszę, nie kopiować ikon Ms !
    Proszę o kontakt z developerami.

  • Bezpieczeństwo- Najważniejsze , musisz sync swoje dyski ! Może będziesz musiał przeinicjować komputer . Czy zapoznałeś się z zastrzeżeniami ?
  • Różne- Inne użyteczne programy : Apsfilter, Ez Magia, MagicFilter lub coś podobnego do konfiguracji drukarki.

2. Jądro

Proszę przeczytaj Kernel Howto aby uzyskać więcej informacji o procesie kompilacji.
Kod Linux/IrDA znajdziesz :

/usr/src/linux/net/irda (materiały na temat protokołu)

/usr/src/linux/drivers/net/irda (sterowniki drukarek)

/usr/src/linux/include/net/irda (pliki nagłówkowe)

2.1 Główne parametry

– upewnij się że używasz źródeł jądra 2.2.X. Jeżeli nie wiesz jaką posiadasz wersję jądra wywołaj komendę uname -r .

– Zdobądź ostatnia łatę jądra z projektu Linux/IrDA
http://www.cs.uit.no/~dagb/irda/snapshots/. Wgraj ją do
katalogu /usr/src lub tam gdzie znajdują się twoje źródła jądra i zrób coś takiego (zastap łatę 2_2.0 irdaXXX z aktualną nazwą pliku ) :


cd /usr/src
tar xvzf patch-2_2.0-irdaXXX.tar.gz
cd linux
patch -p1 -l < ./patch-2_2.0-irdaXXX

– Experimental support has to be enabled (CONFIG_EXPERIMENTAL).
[Doświadczalne wsparcie musi być załączone (CONFIG_EXPERIMENTAL)]

– Załącz sysctl w „General Setup” (CONFIG_SYSCTL).

– Powinieneś również mieć proc file system support (CONFIG_PROC_FS).

– Również serial support dla opcji SIR (CONFIG_SERIAL).

– Nie jestem pewien czy printer support powinien być załączony aby używac drukarki z Linux/IrDA (CONFIG_PRINTER). Przyjmuję, że ta opcja nie jest konieczna.

Networking support musi być załączony (CONFIG_NET).

– upewniaj się czy masz module support (CONFIG_MODULES) w jądrze ! Przetestuj to za pomocą lsmod .

kerneld wsparcie jest zalecane (CONFIG_KERNELD). Ale kmod (CONFIG_KMOD) też działa. Monolityczne jądro powinno pracować również.

– Francis napisał : ” ; Wydaje mi się ze niektóre z modułów mogą wymagać nie tylko wsparcia dla modułów ale również misc user device support.” (CONFIG_UMISC).

Jeżeli tylko zastosujesz łatę Linux/IrDA, nie musisz wykonywać make clean, powinieneś
zaoszczędzić trochę czasu. Proponuję Ci wykonać coś takiego:


make dep && make all && make modules && make install && make modules_install

Jeżeli pojawią się rzeczywiście dziwne błędy, to spróbuj skompilować od nowa po poleceniu
make clean.

2.2 IrDA Specyficzne Parametry

Wszystko poniżej to tylko moje sugestie co do ./linux 2.2.X/Documentation/Configure . Help, fragmenty pochodzą od Dag’a Brattli i Andreas’a Butz’a:

IrDA obsługa podsystemu

CONFIG_IRDA

IrDA ( Tm ) jest przemysłowym standardem dla podczerwonej bezprzewodowej komunikacji. Porty na podczerwień pozwalają na komunikację z drukarkami, modemami, faxami, sieciami komputerowymi i z innymi laptopami. Szybkość sięga od 2400bps do 4Mbps. Aby używać tej funkcji potrzebujesz irda_utils prowadzonych przez Linux/IrDa projekt http://www.cs.uit.no/ dagb/irda/ Dalsze informacje możesz znaleźć tam i Linux/IR-HOWTO pod http://www.snafu.de/ wehe/index_li.html.
Aktualnie zalecane jest zainstalowanie wsparcia do IrDA jako tylko jako moduł. Zobacz Documentation/modules.txt Pamiętaj że statut Linux/IrDA jest nadal eksperymentalny.

IrDA protokoły

  • IrLAN protokołyCONFIG_IRLAN

    Zainicjalizuj sterownik sieciowy IrDA. Użyj „ifconfig eth0 <IP-NUMBER>”
    do konfiguracji. – Zaznacz Y (Tak)

  • IrLAN wsparcie dla klientówCONFIG_IRLAN_CLIENT

    Jeżeli łączysz się przez port podczerwony do urządzeń przez IrLAN jeden musi być
    serwerem i a drugi klientem. Możesz używać klienta i
    serwera w tym samym czasie. Pierwszy który się połączy staje się
    klientem. – Zaznacz Y (Tak)
    Uwaga : ostatnia wersja łaty zawiera wsparcie peer-to-peer zamiast tego.

  • IrLAN obsługa serweraCONFIG_IRLAN_SERVER

    Jeżeli łączysz się przez port podczerwony z urządzeniami przez IrLAN jeden musi być
    serwerem i a drugi klientem. Możesz używać klienta i
    serwera w tym samym czasie. Pierwszy który się połączy staje się
    klientem. – Zaznacz Y (Tak)
    Uwaga : ostatnia wersja łaty zawiera wsparcie peer-to-peer zamiast tego.

  • IrOBEX protokółCONFIG_IROBEX

    IrOBEX jest protokołem służącym do wymiany obiektów (pliki, vcards, itp.)
    poprzez połączenie podczerwone. Możesz używać go do wymiany plików
    między linuksem i PALMem III . IrOBEX może być używany między dwoma
    Linuksami , Linuksem i Windows95 , itd – Zaznacz Y (Tak)

  • IrCOMM protokółCONFIG_IRCOMM

    Poprzez IrCOMM możesz komunikować się z telefonami komórkowymi, itp. Aby skorzystać
    z tej usługi musisz zbudować nowe urządzenie komendą
    „mknod /dev/irnine c 60 64”, która działa podobnie jak
    /dev/ttySx. – Zaznacz Y (Tak)

    ..Uwaga: większe i mniejsze liczby nie są jeszcze oficjalne.
    Po najnowsze wieści zajrzyj na http://www.pluto.dti.ne.jp/ thiguchi/irda/

    ..Uwaga: w tej chwili IrCOMM może łatwo uszkodzić twoje jądro,
    powinieneś poczekać na następną łatę (patch).

  • IrLPT obsługa od strony klientaCONFIG_IRLPT_CLIENT

    Zaznacz Y (Tak) jeśli chcesz mieć wsparcie dla protokołu klienckiego IrLPT.
    Jeżeli chcesz skompilować to jako moduł, odpowiedz M i przeczytaj Documentation/modules.txt.
    Protokół kliencki IrLPT może być użyty do drukowania dokumentów przez drukarki posiadające
    IrDę jak np. HP-5MP lub adaptery jak np. ACTiSYS IR-100M. – Zaznacz Y (Tak)

  • IrLPT obsługa od strony serweraCONFIG_IRLPT_SERVER

    Zaznacz Y (Tak) jeśli chcesz mieć wsparcie dla protokołu serwerowego IrLPT.
    Jeżeli chcesz skompilować to jako moduł, odpowiedz M i przeczytaj Documentation/modules.txt.
    Protokół serwerowy IrLPT umożliwia wykorzystanie maszyny linuksowej jako serwer drukarkowy
    dla komputerów przenośnych. Więc jeśli Twój Linuks ma podłączoną drukarkę poprzez kabel to
    komputery przenośne mogą wykorzystać Linuksa do wydruków używając komunikacji podczerwonej.
    – Zaznacz Y (Tak)

IrDA opcje protokołu

CONFIG_IRDA_OPTIONS

Możesz zdefiniować kilka opcji protokołu IrDA.

  • Cache lastLSAP CONFIG_IRDA_CACHE_LAST_LSAP

    Zaznacz Y (Tak) jeżeli potrzebujesz przechowywać (cache) IrLMP ostatnio użytego LSAP.
    Ma to sens gdy większość ramek jest wysyłana/odbierana w trakcie tego samego połączenia.
    Załączenie tej opcji oszczędzi „posiekania” lookup’a na ramki.
    Jeżeli nie jesteś pewien, Zaznacz Y (Tak).

  • FAST RRsCONFIG_IRDA_FAST_RR

    Używaj tej opcji gdy chcesz wysyłać szybciej RR (gotowość odbioru) ramek jeśli nadawana kolejka jest
    pusta. To da Ci większą wydajność ale zużyje więcej mocy procesora.

  • Recycle RRsCONFIG_IRDA_RECYCLE_RR

    Standardowo protokół IrLAP, wysyła mnóstwo małych RR (zgłoszenie gotowości) ramek po łączu
    (nawet gdy nic się nie dzieje). Zaznaczając Y (Tak) spowodujesz, że IrLAP będzie odzyskiwał
    te ramki i oszczędzał wiele buforów alloc_skb i kfree_skb (pamięć). Zrób to tylko w przypadku jednego
    z tych buforów którego będzie niewystarczająco dosyć do zwykłej pracy.

  • Odpluskwianie – informacjeCONFIG_IRDA_DEBUG

    Zaznacz Y (Tak) jeżeli chcesz aby IrDA zapisywała informacje o błędach do syslog’u.
    Możesz zmienić poziom błędów w /proc/sys/net/irda/debug.
    Jeżeli nie jesteś pewien, Zaznacz Y (od tej pory będzie łatwiej odnaleźć błędy).

IrDA kompresory

CONFIG_IRDA_COMPRESSION

Możesz używać kompresji BZIP2 i Bsd . One nie są
standardem IrDA’y. Opcja ta będzie zezwalać linuksowi uzgadnianie kompresji w czasie negocjowania
połączenia. Powinno to być kompatybilne z innymi urządzeniami IrDA, aczkolwiek komunikacja nie będzie
wtedy kompresowana.

  • Deflate kompresja (eksperymentalna)CONFIG_IRDA_DEFLATE

    Zaznacz Y (Tak) jeśli chcesz zbudować wsparcie dla protokołu kompresji Deflate.
    Jeżeli chcesz skompilować to jako moduł zaznacz M i przeczytaj Documentation/modules.txt.
    Kompresja deflate (GZIP) jest dokładnie taka sama jaka jest używana przy protokole PPP.
    Załączenie tej opcji spowoduje zbudowanie modułu irda_deflate.o.

  • BZIP2 kompresjaCONFIG_IRDA_BZIP2

    Pomoc jest jeszcze niedostępna.

  • BSD kompresjaCONFIG_IRDA_BSD

    Pomoc jest jeszcze niedostępna.

Port podczerwieni – sterowniki urządzeń

Są dostępne trzy rodzaje sterowników niskiego poziomu:
serial, dongle i FIR.
Będą pojawiać się w /proc/net/dev (irda0)
po inicjalizacji.

IrTTY (używa szeregowego sterownika)

Najwięcej układów IrDA wspomaga StandardInfraRed (SIR), które pracują do prędkości
115200bps i emulują port szeregowy (16550A UART). W wielu laptopach port ten wykrywany jest
jako port szeregowy przez jądro, zobacz „dmesg”. IrTTY łączy serwisy Linuksowe/IrDA do tego
portu. – Powinieneś zaznaczyć Y (Tak).

  • Serial dongle supportCONFIG_IRTTY_SIR

    Zaznacz Y (Tak) jeśli chcesz mieć wsparcie dla linii IrTTY.
    Jeżeli chcesz skompilować to jako moduł zaznacz M i przeczytaj Documentation/modules.txt.
    IrTTY umożliwia wykorzystanie Linuksowego sterownika portu szeregowego dla wszystkich
    portów IrDA które są kompatybilne z 16550. Większość układów IrDA jest kompatybilna z
    16550 dlatego powinieneś zaznaczyć Y (Tak). Aczkolwiek używanie IrTTY będzie ograniczać
    prędkość połączenia do 115200 bps (IrDA SIR mode). Jeżeli nie jesteś pewien, zaznacz Y.

Dongle support

CONFIG_DONGLE

Obecnie wspomagane są cztery dongles’y (karty podczerwieni do portu szeregowego)
Dongle jest to urządzenie podczerwieni które może być podłączone do portu szeregowego, jeżeli
nie posiadasz wbudowanego portu podczerwieni w swoim komputerze. Jeżeli używasz dongles’a
w swoim laptopie powinieneś wyłączyć wspomaganie dla IrDA’y w biosie.

  • ESI JetEye PC dongleCONFIG_ESI_DONGLE

    Zaznacz Y (tak) jeśli chcesz mieć możliwość obsługi Extended Systems
    JetEye PC dongle. Jeżeli chcesz skompilować to jako moduł, wybierz M przy tej opcji
    i przeczytaj Documentation/modules.txt. ESI dogle podłącza się do zwykłego 9-pin’owego
    portu szeregowego, może być używany tylko przez IrTTY. Aby aktywować obsługę ESI dongle
    musisz wstawić ”irattach -d esi” w skrypcie /etc/irda/drivers.
    http://www.extendsys.com/support/ftp/infrared.html

  • ACTiSYS IR-220L i IR220L+ dongleCONFIG_ACTISYS_DONGLE

    Zaznacz Y (tak) jeśli chcesz mieć możliwość obsługi ACTiSYS IR-220L i IR220L+.
    Jeżeli chcesz skompilować to jako moduł, wybierz M przy tej opcji
    i przeczytaj Documentation/modules.txt. Aby aktywować obsługę ACTiSYS dongle
    musisz wstawić ”irattach -d actisys” lub ”irattach -d actisys_plus”
    w skrypcie /etc/irda/drivers.
    http://www.actisys.com/

  • Tekram IrMate 210BZaznacz Y (tak) jeśli chcesz mieć możliwość obsługi Tekram IrMate 210B.
    Jeżeli chcesz skompilować to jako moduł, wybierz M przy tej opcji
    i przeczytaj Documentation/modules.txt. Aby aktywować obsługę Tekram’u
    musisz wstawić ”irattach -d tekram” w skrypcie /etc/irda/drivers.
    http://www.tekram.de/
  • CONFIG_GIRBIL_DONGLE

    Zaznacz Y (tak) jeśli chcesz mieć możliwość obsługi Greenwich Instruments GirBIL.
    Jeżeli chcesz skompilować to jako moduł, wybierz M przy tej opcji
    i przeczytaj Documentation/modules.txt. The Greenwich podłącza się do zwykłego 9-pin’owego
    portu szeregowego i może być używany tylko przez IrTTY.
    Aby aktywować obsługę Greenwich musisz wstawić ”irattach -d girbil” lub ”irattach -d actisys_plus”
    w skrypcie /etc/irda/drivers.
    http://www.greenwichinst.com/

Obsługa FIR

FastInfraredSupport (FIR) potrzebuje specjalnego kontrolera , który
obsługuje prędkości do 4Mps. – Zaznacz Y (tak)

  • NSC PC87108CONFIG_NSC_FIR

    Układ NationalSemiConductor NSC PC87108 FIR używany jest w Thinkpadzie 560X i ACTiSYS
    IR2000. Prawdopodobnie NSC PC87338 FIR jest również obsługiwany. Sterownik obsługuje
    prędkości SIR, MIR i FIR (4Mbps) – Zaznacz Y (tak)

  • Winbond W83977AF (IR)CONFIG_WINBOND_FIR

    Układ Winbond W83977 (IR) FIR używany jest w Corel Netwinder PC. Sterownik obsługuje
    prędkości SIR, MIR i FIR (4Mbps) – Zaznacz Y (tak)

  • Sharp UIRCCCONFIG_SHARP_FIR

    Zaznacz Y (tak) jeśli chcesz mieć obsługę układu Sharp UIRCC IrDA.
    Jeżeli chcesz skompilować to jako moduł, wybierz M przy tej opcji
    i przeczytaj Documentation/modules.txt. Układ ten jest wykorzystywany w
    laptopach Toshiba Tecra.

3. Linux/IrDA- Programy Narzędziowe

  • Używaj najświeższych źródeł irda-utils dostępnych tutaj
    http://www.cs.uit.no/~dagb/irda/irda-utils/
  • Roztaruj archiwum komendą tar xvzf irda-utils<VERSION>. Zalecam zrobienie tego w /usr/src.
  • Wykonaj make depend.
  • Wykonaj make clean (niekonieczne jeżeli wykonujesz kompilację pakietu po raz pierwszy).
  • Wykonaj make all aby rozpocząć kompilację.
  • Wykonaj make install aby wrzucić irattach i irmanager w odpowiednie miejsce i zainstalować
    pliki konfiguracyjne w /etc/irda.

Zalecenia od Bjoern Hansson <[email protected]>: Jeżeli make depend wyłoży się na stdef.h
i stdarg.h dodaj po prostu -I/usr/lib/gcc-lib/i586-linux/egcs-2.90.29/include/ lub odpowiednią
ścieżkę do SYS_INCLUDES w linii Makefile.

4. Konfiguracja

4.1 Konfiguracja główna

  • Po pierwsze powinieneś położyć swoje urządzenie w zasięgu IR. Aczkolwiek istnieje możliwość, że usługa Linux/IrDA
    wykryje automatycznie każde nowe urządzenie, z mojego doświadczenia wynika, że dobrze konfigurują się urządzenia
    które są w zasięgu w czasie procesu konfiguracji.
  • Utrzymuj urządzenia w odległości mniejszej niż 1 metr i pod kątem nie większym niż 30 stopni.
    Powinny znajdować się w linii prostej od siebie. Jeżeli jest to nie możliwe, możesz użyć lustra (albo nieużywanej
    płyty CD M$, powinna dobrze nadać się do tego).
  • Dodaj następujące linie do swojego pliku /etc/conf.modules:

    alias tty-ldisc-11 irtty          #
    alias char-major-60 ircomm_tty    # jeżeli chcesz mieć obsługę IrCOMM

    Do końca nie jestem pewien tych parametrów. Istnieją sprzeczne informacje na stronach Dag’a Brattli i na wykazie.
    Aczkolwiek parametry te musiały być użyte w poprzednich wersjach pakietu Linux/IrDA, zostało to prawdopodobnie
    zmienione w wersji na kerneli 2.2.x.

  • Zajrzyj do plików w /etc/irda. Są one podobne do plików w /etc/pcmcia.
    Zedytuj /etc/irda/drivers zgodnie z własnymi ustawieniami. Większość ludzi używa irattach
    z tego pliku. Te pliki to:


    Makefile
    network*
    network.redhat*
    serial
    drivers
    network.opts
    obex
    printer

  • Urchom depmod -a.

4.2 IrManager

Dag Brattli napisał: ” IrManager […]. jest demonem który jest bardzo podobny do cardmgr
używany w dystrybucji PCMCIA.

IrManager będzie otrzymywał sygnały z poziomu jądra stosu protokołu. Gdy IrManager otrzyma sygnał może wykonać komendę lub skrypt, dlatego dodałem katalog /etc/irda który powinien zawierać takie skrypty. […]

Na przykład, jeżeli IrLMP wykryje zdalne urządzenie w IrLAN i żadnego zarejestrowanego klienta to wtedy IrLMP
będzie wysyłał sygnał do IrManager’a i wykona „modprobe” wymagany moduł. […]

Kiedy aplikacje na poziomie klientów są gotowe do komunikacji, mogą również poinformować IrManager’a o tym fakcie,
może on wtedy wykonać odpowiedni skrypt. Na przykład IrLAN wysyła sygnał EVENT_IRLAN_START kiedy kanał danych jest
gotowy do zmiany ramki Ethernetowej. Kiedy IrManager odbierze ten sygnał, powinien wykonać /etc/irda/network start <devname> do skonfigurowania interfejsu sieciowego. Skrypt sieciowy, który jest obecnie do tego
wykorzystywany jest aktualnie taki sam jak przy PCMCIA i odkąd używam RedHat’a wykonuje /sbin/ifup <devname>.

Wykorzystując IrManager’a, wykonuje to „tylko” w czasie startu:


irattach /dev/ttyS2 &
irmanager -d 1           # -d 1 oznacza: startuje proces wykrywający

następnie gdy mój laptop wykryje IrLAN (HP Netbeamer, w moim przypadku) prosi IrManager’a aby załadował
moduł irlan_client. Kiedy połączenie jest utworzone i gotowe, prosi o wykonanie /etc/irda/network start eth0. Kiedy połączenie jest zerwane (zakończone), będzie prosił ponownie o wyłączenie interfejsu używając
/etc/irda/network stop eth0.[…] I to już wszystko żeby wszystko zaczęło działać jeżeli używasz RedHat’a. Natomiast Jeżeli używasz innej dystrybucji, która nie ma /sbin/ifup, to najlepiej skopiuj /etc/pcmcia/network.opts do file>/etc/irda/network.opts lub skonfiguruj plik sam.

Jeżeli chcesz wykorzystywać IrLAN serwer, musisz jeszcze wykonać modprobe irlan_server przed uruchomieniem
irmanager'a bez -d 1.

I podobnie jak przy cardmgr, powinieneś (jeżeli chcesz) otrzymać sygnał dźwiękowy kiedy połączenie jest
uruchamiane i kiedy zakończone!!!

Mam nadzieję, że możemy dodać podobne skrypty do innych klientów/usług które wymagają konfiguracji.
Przyjemnie by było posiadać skrypty /etc/irda/printer do konfiguracji zdalnych drukarek poprzez IrDA(TM).
Dlatego jeżeli jesteś w zasięgu drukarki z IrDA, IrManager powinien ładować moduł irlpt_client jak również
konfigurować inne rzeczy potrzebne do korzystania z drukarki.

Mam również nadzieję, że możemy użyć pliku config do konfiguracji portów IrDA(TM) i sterowników urządzeń.
Na przykład coś takiego:


Device Drivers
  module "irtty" script="irattach /dev/ttyS2"
  module "smc_ircc" irq=11 port=0x34f

Tak więc, IrManager może załadować i wystartować wszystko co jest opisane powyżej w czasie gdy jest uruchamiany. W ten sposób powinniśmy
tylko uruchomić IrManager’a w /etc/rc.d/init.d/irda i cała reszta powinna sama się wykonać i uruchomić.
Nie ma potrzeby ręcznego uruchamiana programów i konfiguracji urządzeń.
Kiedy irmanager odbierze sygnał dla urządzenia <dev> powinien wykonać:

EVENT_IRLAN_START, uruchamia i konfiguruje urządzenia używając /sbin/ifup <dev>

EVENT_IRLAN_STOP, zamyka urządzenie używając /sbin/ifdown <dev>

Powinno to być łatwo zmieniane przez użytkownika, jeżeli nie jest to tak ustawione jakby chciał.

4.3 Low Level Drivers (sterowniki niskiego poziomu)

Są trzy rodzaje sterowników niskiego poziomu: SIR, dongle i FIR. Jeżeli wykryty jest poprawny sterownik przez jądro
otrzymasz wiadomość:


IrDA irda_device irda0 registered.

SIR

  • Spróbuj odnaleźć który port szeregowy jest wykorzystywany przez urządzenie IR. Możesz zrobić to poprzez podgląd
    wyniku dmesg. Jeżeli porty szeregowe są w modułach wykonaj na początek insmod serial. Odszukaj
    podobnego wpisu:


    Serial driver version 4.25 with no serial options enabled
    ttyS00 at 0x03f8 (irq = 4) is a 16550A     #pierwszy port szeregowy /dev/ttyS0
    ttyS01 at 0x3000 (irq = 10) is a 16550A    #port podczerwieni
    ttyS02 at 0x0300 (irq = 3) is a 16550A     #PCMCIA modem port

    Jeżeli nie masz na ekranie czegoś podobnego, być może nie masz włączonej obsługi urządzenia podczerwieni w BIOS’ie lub port
    podczerwieni nie został wykryty przez jądro. Obecnie o ile wiem tylko dwa modele laptopów objawiają się tym efektem,
    HP OmniBook 800 i Toshiba Libretto. Nie jestem pewien czy obsługa PnP wykrywa port IR. Jeżeli nie jesteś pewien, spróbuj
    i daj mi znać o efektach.

  • W niektórych przypadkach musisz użyć setserial /dev/ttyS<0-2> port 0xNNNN irq M aby ustawić odpowiednie
    wartości dla Twojego portu podczerwieni, szczególnie jeżeli port podczerwieni jest na oddzielnej linii. Zwykle nie
    musisz zmieniać wartości. Jeżeli chcesz uzyskać więcej informacji zajrzyj do sekcji FAQ poniżej.
  • Jeżeli nie używasz kerneld lub kmod wstaw moduł irdy poleceniem modprobe irda.
  • Wykonaj lsmod. Powinieneś dostać listę modułów irda i irtty.
  • Spójrz do /var/log/messages powinieneś zobaczyć wpis „Serial connection established
  • Uruchom irmanager -d1, który wystartuje potrzebne programy, takie jak irattach.
  • Daj trochę czasu dla irattach, około 7 sekund do wykrycia urządzeń IR. Następnie obserwuj informacje z jądra
    które powinieneś dostać w /var/log/messages. Powinny wyglądać podobnie do tych (wyciąłem kilka linii, które
    nie miały związku z Linux/IrDA):
Jan  2 12:57:26 japh kernel: ttyS00 at 0x03f8 (irq = 4) is a 16550A
Jan  2 12:57:26 japh kernel: ttyS02 at 0x03e8 (irq = 4) is a 16550A
Jan  2 12:57:26 japh kernel: Linux Support for the IrDA (tm) protocols (Dag Brattli)
Jan  2 12:59:09 japh syslog: executing: 'echo 1 > /proc/sys/net/irda/discovery'
Jan  2 12:59:09 japh syslog: Setting discovery to 1 exited with status 1
Jan  2 12:59:09 japh syslog: + 0.1 Fri Jul 25 11:45:26 1997 Dag Brattli
Jan  2 12:59:09 japh syslog: + 0.1 Fri Jul 25 11:45:26 1997 Dag Brattli
Jan  2 12:59:09 japh syslog: Serial connection established.
Jan  2 12:59:09 japh kernel: IrDA irda_device irda0 registered.
Jan  2 13:01:22 japh syslog: executing: './drivers start '
Jan  2 13:01:22 japh syslog: Serial connection established.
Jan  2 13:01:42 japh syslogd: Printing partial message
Jan  2 13:01:42 japh 0.1 Fri Jul 25 11:45:26 1997 Dag Brattli
Jan  2 13:02:49 japh kernel: IrDA Discovered: japh
Jan  2 13:02:49 japh kernel:     Services: Computer

Połączenia Dongle – Karty Podczerwieni do Portu Szeregowego

Aktualnie wspomagane są dongle’y to Extended Systems Inc. ESI-9680 JetEye, Tekram IRmate 210B, ACTiSYS IR220L i 220L+, Greenwich GIrBIL.

Dag Brattli napisał (zmodyfikowane przez wh): ” Aby używać dongles’a musisz zrobić coś takiego:


modprobe tekram         # lub esi lub actisys
irmanager -d 1          #
irattach -d tekram      # lub -d esi lub -d actisys

Jak widzisz, musisz nadal używać opcji -d z irattach odkąd jest możliwe posiadanie dwóch
portów szeregowych używając różnych dongles’ów w tym samym czasie (dlatego musisz wiedzieć do którego tty podłączasz
odpowiedniego dongles’a) Dlatego jeśli masz dwa dongles’y i dwa porty szeregowe, powinieneś zrobić coś takiego:


modprobe tekram
modprobe esi
irattach /dev/ttyS0 -d esi &
irattach /dev/ttyS1 -d tekram &

PS: Nie próbowałem podłączać nawzajem dongles’ów. Nie wiem jak zachowałby się stack

Odkąd nie posiadam żadnego z tych nowych ACTiSYS 220+ dongels’ów, nie jestem w stanie przetestować ich. Odkąd nowe dongle’sy
osługują ekstra szybkości (38400bps), musisz określić dongles’y oddzielnie irattach'em skąd jądro będzie wiedziało
którego dongles’a używasz (i jaki QoS może być użyty):


irattach /dev/ttyS0 -d actisys     # dla 220L dongle
irattach /dev/ttyS0 -d actisys+    # dla 220L+ dongle

Obecna implementacja do obsługi dongle’sów nie posiada żadnych stanów określających połączenie, dlatego nie możliwe jest
użycie obu ACTiSYS dongle’ów (220L i 220L+) w tym samym czasie (podłączonych do dwóch portów szeregowych). Jeżeli ktoś
chciałby to robić proszę o kontakt ze mną (Dag Brattli) i pomyślę nad tym!”

Notatka: Kiedy próbowałem używać modemu na podczerwień (Swissmod 56Ki, wyprodukowanego przez Telelink AG) podłączonego
do mojego laptopa (IrDA pracowała tylko z Window$95) musiałem wyłączyć obsługę portu podczerwieni w BIOS’ie żeby
zaczęło działać !

Dongle Connection – Zintegrowany Adapter Podczerwieni z Płytą Główną

Obsługa dongles’a ACTiSYS IR2000 została zaimplementowana w pliku o nazwie pc87108 który możesz
wkompilować w jądro lub skompilować jako moduł i załadować insmod/modprobe:


irmanager -d 1
modprobe pc87108

or dopisz modprobe pc87108 do pliku /etc/irda/drivers.

Fast InfraRed (FIR)

IrDA(TM) standard rozpoznaje trzy rodzaje prędkości:

  1. SIR = Standard IrDA, do 115kbps IrDA,
  2. MIR = Medium Speed IrDA,
  3. FIR = Fast IrDA (4Mbps),
  4. VFIR = Very Fast IrDA(16Mbps), wygląda na to, że stanie sie standardem w przyszłości

Do 115.200bps wiele kontrolerów podczerwieni pracuje jako port szeregowy. Do 4Mbps pracują w trybie „FIR „.
Obecnie są wspomagane dwa układy: NationalSemiConductor NSC PC87108 wykorzystywany w IBM Thinkpad 560X i Winbond W83977AF (IR) FIR chip wykozystywany w Corel Netwinder PC. Możesz uruchomić usługę FIR poprzez załadowanie odpowiedniego
modułu i następnie Linux/IrDA przetestuje Twój sprzęt.

5. Określone Połączenie i Protokoły

5.1 Połączenia Drukarek – IrLPT

IrLPT jest obecnie w zaawansowanym stanie prac nad nim. Od strony klienta powinno już wszystko działać ale od strony serwera
może się powalać.

  • Usuń wszystkie zadania do drukowania lprm "*".
  • Jeżeli nie używasz kerneld zrób modprobe irtty.
  • Wykonaj modprobe irlpt_client.
  • Sprawdź moduły lsmod. Powinieneś zobaczyć irda, irtty i irlpt_client
  • cat /proc/misc. Poda Ci główny numer urządzenia. Jest to pierwszy numer linii z irlpt0.
  • su przejdź na konto root’a, i wykonaj mknod /dev/irlpt0 c 10 <głowny numer urządzenia>. Notatka: Coś
    takiego jak ./MAKEDEV irlpt0 nie jest jeszcze możliwe, ale może load_misc irlpt zadziała, aczkolwiek
    nie mogłem tego przetestować.
  • Spróbuj zapisać mały plik do /dev/irlpt0 poprzez cat PLIK >/dev/irlpt0 (nie przejmuj się formatem to tylko
    pierwsze sprawdzenie). Dla mnie nie zawsze to działało ale nie mogłem znaleźć przyczyny dlaczego.
  • Lepszy sposób to zmienić Twój /etc/printcap aby używał /dev/irlpt0 dodatkowo lub zamiast
    /dev/lp1. Aby uzyskać więcej szczegółów przeczytaj Printing-HOWTO.
  • Dla łatwego skonfigurowania drukarki możesz użyć odpowiedniego oprogramowania jak np. APSFILTER, MagicFilter EZ-Magic (z ReDHat’em powinieneś mieć również GUI do tego). Zrób przedtem kopię /etc/printcap.
  • Na przykład dla APSFILTER z drukarką HP 6P (nie-postscript’owa, HP 6MP jest z postscript’em). Będą dwa pytania:”Do you have a (s)serial or a (p)arallel printer interface?”
    Odpowiedz „p”

    „What’s the device name for your parallel printer interface?”
    Odpowiedz „/dev/irlpt0”

    Zrestartuj demona wydruków tt>kill -HUP <PID of lpd>. Jeżeli używasz innego demona wybierz odpowiednią dla niego
    komendę.

  • Obserwuj wskaźnik połączenia pokazujący aktywność na Twojej drukarce, zielone światełko nad portem IR HP 6P/MP
    (dolny lewy róg, blisko podajnika papieru).
  • W moim przypadku nie mogłem zarządzać większymi zadaniami do drukowania (około 10 stron). Ale może zależało to
    od ilości pamięci w mojej drukarce (16MB). Wygląda na to, że występuje również jest problem z oprogramowaniem , Thomas Davis napisał: ” Ogranicz irlpt, to nie będzie zjadał pamięci kiedy wyślesz duży plik do druku.”

Takahide Higuchi poinformował: ” Usunąłem błędy z IrCOMM współpracującym z drukarką ( Canon BJC-80v )
poprzez port IrDy protokołem IrCOMM (niw IrLPT). Mogę drukować krótkie wiadomości tekstowe, ale łatwo
zawiesić drukowanie gdy probuję wydrukować postscript z gs.”

Ze strony Thomas’a Davis’a
http://www.jps.net/tadavis/irda :
Aby użyć serwer IrLPT, musisz wykonać następujące kroki:


/sbin/insmod irlpt_server
/sbin/mknod /dev/irlptd c 10 `grep irlptd /proc/misc|cut -f 1`

W tym momencie serwer IrLPT jest gotowy do odbioru zadań do drukowania; teraz; tylko musisz zrobić prosty
skypt shell’owy


#/bin/sh
#
while (true)
do
cat /dev/irlptd | lpr
done

5.2 Połączenia LAN – IrLAN

  • Możesz połączyć Twojego Linuksa używając IrLAN do innej sieci lub np. do innego Linuksa z IrLAN’em, lub do HP NetBeamer, lub
    do Window$95 z irdą.
  • Dag Brattli napisł: ” Jeżeli chcesz używać IrLAN musisz wykonać modprobe irlan_client przed ifup eth0.
  • Uruchom ifconfig eth0 up <ip_address> netmask <ip_netmask> aby skonfigurować adres IP i inne
    parametry. Jeżeli protokół jest nadal uruchomiony możesz rozpocząć komunikację. Możliwe jest użycie RedHat’owego
    netcfg do zrobienia tego. Następnym razem będziesz musiał tylko wykonać /sbin/ifup eth0.
  • Przetestuj sieć poprzez pingowanie do niej. Po więcej informacji przeczytaj NET3-HOWTO.
  • Nie zapomnij dodać routingu, route add default gw <ip_gateway> lub route add -host <target host> dev eth0.
  • Aby przetestować połączenie zapinguj do innego IP.
  • Dla potrzeb testów zalecam używać w tym samym pokoju tylko jednego laptopa i tylko jednej karty Ethernethowej na podczerwień .
    Jeżeli wystąpią problemy, zobacz jakie tryby komunikacji posiada karta ethernetowa i wypróbuj je.

Dla ACTiSYS FIR możesz wykonać:


irmanager -d1
/sbin/modprobe pc87108  # usuń irattach z /etc/irda/drivers, lub
                        # zastąp irattach modprobe!

Komputer 1:


modprobe irlan_client # nie jest to konieczne ponieważ irmanager powinien sam to wykonać!

Komputer 2: (jeżeli nie masz punktu dostępowego)


modprobe irlan_server

Nie wkompilowuj obsługi irlan_server do jądra. Powinieneś mieć skonfigurowaną poprawnie /etc/sysconfig/network-scripts/ircfg-eth0
sieć jeżeli używasz dwóch komputerów. Jeżeli masz punkt dostępu, wtedy normalne ustawienia powinny wystarczyć.

Zauważ, że w ostatnim patch’u (2.2.0-irda1) irlan_client powinien odwoływać sie domyślnie do irlan0, ale
możesz to zmienić poprzez eth=1 jako opcję irlan_client (modprobe irlan_client eth=1 lub options irlan_client eth=1 w /etc/conf.modules).
Następna wersja IrLAN’u będzie tylko w postaci modułu, dlatego nie będziesz musiał zastanawiać się czy chcesz mieć
zainstalowaną wersję klient i/lub serwer.

Jest również możliwość wykonania ifconfig irlan0 -broadcast aby zatrzymać AP od nadmiernej ilości ramek
broadcast! Może to być kłopotliwe jeśli jesteś podłączony do bardzo dużego segmentu sieci Ethernetowej. Problem jest w tym,
że Twój komputer będzie musiał nawiązywać wszystkie połączenia i nie będzie mógł działać jako serwer (możesz uruchomić
oddzielny komputer który będzie odpowiadał na prośby ARP).

5.3 Połączenie Palm III – IrOBEX

Wygląda na to, że IrOBEX jest szybko zmieniany i rozwijany dlatego nie mogę udzielić dokładnych informacji.
Zobacz raport Dag’a Brattli pod
http://www.cdpubs.com/hhsys/archives/66/10brattl.pdf .

Skrypt /etc/irda jest naprawdę przydatny przy konfiguracji urządzeń, wykonując odpowiedni mknod dla
/dev/irobex itp. ale nie do uruchomienia aplikacji.

  • Palm III -> Linux1) Terminal 1> irattach /dev/ttyS<x>

    2) Terminal 2> load_misc irobex

    3) Terminal 3> Uruchom irobex_app w katalogu irobex. Przypuszczam, że irobex_app nie będzie dłużej
    działał. Teraz w zamian powinieneś użyć programu gtk/irobex ! Musisz mieć zainstalowaną bibliotekę gtk aby
    korzystać z tego programu. Interfejs linii komend powinien być napisany przez kogoś innego. Być może program używa
    irobex_receive.

    4) Prześlij coś ze swojego Palm’a III.
    5) Jeżeli wszystko wykonałeś poprawnie, powinieneś mieć nowy plik w katalogu w którym uruchomiłeś irobex_app
    (lub w /tmp dla irobex_receive). Plik powinien nazywać się tak samo jak ten co przed chwilą przesłałeś.

  • Linux -> Palm IIITo też powinno być możliwe, ale nie posiadam w tej chwili informacji jak to zrobić.
  • PPPRui Oliveira napisał: ” Chciałem Cię poinformować, że po ostatnim patchu IrCOMM (050998) Takahide Higuchi, zestawiłem
    połączenie PPP pomiędzy moim Palmem III i Linuksem. Używam IRLink (z IsComplete) to przekierowania portu szeregowego na ir.
    Komunikacja z pilot-xfer działa bez żadnych zakłóceń. Mimo to, nie mogłem korzystać z poczty i przeglądarki WWW. Jest to
    prawdopodobnie spowodowane dużymi time out’ami. Sprawdzam to. Przeczytaj również PPP-HOWTO. „
  • IrCOMMJon Howell napisał: ” Od kiedy jest możliwość przekierowania portu szeregowego na ir w Palm’ie III korzystam z IrCOMM.
    (wykorzystując IrLink z IS/Complete, dostępnego w www.palmcentral.com). Możesz uruchomić emulator terminala (np.
    „PalmTelnet” w trybie szeregowym) poprzez IrDA. Ja mogę tylko korzystać z protokołu IrCOMM. Przetestowałem
    tą konfigurację pomiędzy dwoma palm pilotami ale nie wiem jaki rodzaj protokołu wykorzystywany jest poprzez IR.

    Nie mogłem zorientować się co zrobić z kodem IrCOMM. Zobaczyłem na stronie statusu że jest już wsparcie dla trybu
    klient (zaczyna to być coraz bardziej użyteczne) ale nie znalazłem żadnego dokumentu opisującego jak tego użyć. „

5.4 Połączenie z telefonem komórkowym

Z tego co się orientuje niektóre telefony komórkowe używają standardu IrCOMM, np. Ericsson SH888 i NOKIA 8110.
Benny Amorsen napisał: ” Używałem minicoma z SH888 i aktualnie mam go podłączonego z minicomem (CONNECT 9600 …).
Nie mogę zmusić go do zrobienia czegokolwiek po tym, i zakończenie połączenia poprzez normalne rozłączenie jest
niemożliwe. Działa tylko +++ , i tylko w ten sposób mogę się rozłączyć. Mógłbym powiedzieć, że SH888 bardzo dobrze
współpracuje z linux ir-da, i faktycznie może działać z jądrem 2.0.x. Ja używam tylko jądra 2.1″.

Może inne telefony komórkowe używają standardu IrOBEX, spójrz do sekcji Palm III po informacje jak ustawić połączenie.

Carlos Vidal napisał: Popraw mnie jeżeli się mylę, ale wydaje mi się, że telefony Nokia nie posiadają sprzętowego
modemu tylko coś co jest podobne do WinModemu dla PC. Ile razy Nokia pisze o komunikacji modemowej używają nazwy
„Windows software modem” (lub coś podobnego), który aktualnie wymaga specjalnego oprogramowania
Nokii do Windows (nazywanego Nokia Cellular Data Suite).

Joonas Lehtinen napisał: To prawda jeżeli chodzi o modele 61xx. Modele 8810, 9000(i) i 9110 powinny dobrze działać.
One posiadają wbudowany modem. Moja N9000 działa z IrCOMM z linuksem.

Żeby rozpocząć połączenie z /dev/irnine na przykład, wykonaj:


dip -t
> port irnine
> term

Prawdopodobnie możesz również użyć cu zamiast dip. Są też informacje o próbach z Ericssonem GF768 i Ir
Modemem Di 27.

Benny Amorsen napisał: SH888 emuluje port IRDA gdy połączysz go używając kabla szeregowego. Czy ktoś mógł poza mną wymyślić
coś tak dziwnego, ale to jest sposób żeby zmusić go do pracy pod Windows.

5.5 Połączenie z Aparatem Cyfrowym

Markus Schill napisal: „Wspaniale, że są ludzie którzy są zainsteresowani wykorzystaniem SONY DSC-F1 pod linuksem.
Dotychczas bawiłem się tylko oprogramowaniem linux-irda i szeregowym adapterem IR od PumA Technologies który dostałem
z aparatem. Używam linuksa z jądrem 2.0.33 i ostatnim linux-irda…
Jeżeli wykonam:


insmod irda
insmod irtty
irattach /dev/cua0

adapter zaczyna „rozmawiać” z aparatem. /var/log/messages „mowi”, że znalazł SONY-DSC-F1, ale żadna usługa nie jest
uruchomiona. ( To raczej nie ma zastosowania z jądrem w wersji 2.2.x Linux/IrDA, wh).

Są dwa programy dla linuksa, które mogą być wykorzystane do komunikacji z aparatem przez kabel: (1)
chotplay i (2) stillgrab. Obydwa używają ustawień tty z linii komend, także przypuszczam, że powinny
działać poprawnie o ile warstwa protokołu irtty pracuje poprawnie … Nie oglądałem jeszcze kodu linux-irda !).
Nie jestem pewien czy dobrze rozumiem stack ale czy nie powinien on tworzyć irtty podobnie jak zwykłe tty? Jaka
usługa powinna być uruchomiona. ”

Dag Brattli napisał: ” Nie jestem pewien jaki poziom protokołu jest używany przez ten aparat, ale jest możliwe
że zaimplementowany ma IrDA(TM) Infrared Transfer Picture Specification (IrTran-P). Jeżeli zajrzysz pod
http://www.irda.org/standards/pubs/IrTran-P_10.pdf,
zobaczysz, że jest to protokół który jest zaimplementowany ponad IrCOMM (nie IrTTY!) IrTTY jest tym czymś czego używamy
do „rozmowy” ze sterownikiem szeregowym Linuksa. ”

5.6 Window$95 i Linux/IrDA

Wprowadzenie

Dlaczego ? Na nieszczęście użytkownicy Linuksa nie zawsze są wspierani potrzebnymi informacjami na temat sprzętu.
Czasami zachodzi potrzeba odczytania tych informacji z Window$95.

Skąd je pobrać ? Tutaj
http://www.microsoft.com/windows95/info/irda.htm znajdziesz pakiet wspierający „Infrared Transfer 2.0”.
Jest to samorozpakowywalne archiwum W95IR.EXE o objętości 331KB.

Z niektórymi komputerami, np. HP Omnibook 800 wymagane jest używanie dedykowanej wersji tego pakietu (np. dla HP
Omnibook 800 znajdziesz go na recovery CD).

Szczególnie z plików ..\windows\inf\*.inf i menadżera urządzeń możesz dowiedzieć się szczegółów konfiguracji.

Z tego co wiem Window$NT nie obsługuje IrDA(TM). Co do Window$98 słyszałem, że też jeszcze nie obsługuje IrDA(TM).

Jest dostępnych kilka produktów spoza M$. Nota: Niektóre z nich używają poprawnie protokołów podczerwieni:

  • CounterPoint: QuickBeam 1.15
  • LapLink 7.5
  • CarbonCopy 32 4.0
  • pc ANYWHERE 7.5
  • Puma Technology: TRANXIT pro 4.0

Połączenie pomiędzy Linux/IrDA i Window$95 IrDA(TM)

Przypuszczam, że są trzy sposoby na połączenie Linux/IrDA z Window$95:

Połączenie sieciowe pomiędzy dwoma PeCetami. Jeżeli masz ustawiony Infrared Transfer 2.0, powinieneś
znaleźć urządzenie sieciowe IrDA(TM) <Network Device Section>. Ale ja nie mogłem uzyskać działąjącego połączenia.

Może istnieje taka możliwość wykorzystując protokół IrOBEX. Ale nie wiem, które oprogramowanie korzysta z tego
protokołu i gdzie je znaleźć. Wydawało mi się, że odpowiednie oprogramowanie jest rozprowadzane razem z Palm’em III ale
chyba nie jest to prawdą.

Takahide Higuchi
<[email protected]> wprowadziłobsługę IrCOMM. Z tej strony
http://www.pluto.dti.ne.jp/~thiguchi/irda/ zgrałem poniższy opis (Zmodyfikowałem go troszeczkę):
” Protokołem IrCOMM możesz wysyłać i odbierać krótkie wiadomości pomiędzy linuksem i terminalem na laptopie
z win95! Dodaj tą linię do /etc/conf.modules:


alias char-major-60 ircomm_tty

Następnie stwórz plik urządzenia mknod /dev/irnine c 60 64. Teraz usługa Linux/IrDA może być uruchomiona
jak zwykle irattach /dev/ttyS? &. /dev/irnine może być używane jako urządzenie szeregowe
(serial device). Moduły ircomm i ircomm_tty będą załadowane automatycznie przez kerneld/kmod
gdy program użyje /dev/irnine. Uwaga: Myśle, że „setserial” nie będzie działać na /dev/irnine.
Wskazówka:

  • Żeby zezwolić na logowanie poprzez IrCOMM, użyj tego jako root: Po pierwsze załącz IrDA i IrCOMM. Następnie
    zedytuj plik /etc/inittab i dodaj linie podobną do tej:


    T1:23:respawn:/sbin/getty -L -w irnine 38400 vt100

    i wykonaj to jako root:
    init q i init zacznie oczekiwać na połączenia przychodzące z IrCOMM. Zobaczysz swój ulubiony
    login prompt z emulatora terminala na Win95!

  • Jeżeli skorzystasz z pppd weź pod uwagę opcję -crtscts żeby wyłączyć flow-control. Co prawda
    zaimplementowałem emulację flow-control ale nie jest ona jeszcze przetestowana.
  • Teraz mój patch raportuje co jest potrzebne dla urządzenia podczerwieni. Komunikaty podobne do tego będą
    zapisywane w syslog’u:

    Sep 4 10:01:02 monolith kernel: parse_control:instruction(0x12)
    Sep 4 10:01:02 monolith kernel: data:03
  • Interesują mnie jakie komunikaty śle SH888 (lub inne urządzenie na podczerwień poza win95 PC). Dlatego prześlij mi
    swój syslog wygenerowany podczas połączenia IrCOMM!. Jeżeli masz kopie specyfikacji IrCOMM napisanej przez IrDA(TM),
    zajrzyj na stronę 34 lub 38 i zobaczysz co oznaczają te komunikaty.”

5.7 Połączenie Linuksa z Linuksem

Metody Połączeń

Powinny być trzy sposoby połączenia dwóch maszyn Linuksowych poprzez Linux/IrDA.

  • Dag Brattli napisał o obsłudze IrOBEX: ” Czytelnik może dziwić się co stoi na przeszkodzie
    przesyłania plików między Linuksami. Nic !!! (z tym, że ja nie wypróbowałem tego jeszcze) Oznacza to, że mamy
    „prosty” sposób przesyłania plików pomiędzy laptopami z Linuksem. Myślę, że to jest to na co czekali
    wszyscy ! Spróbuj wykonać „load_misc irobex na dwóch komputerach, i następnie spróbuj iroabex_app get
    na jednym z komputerów a na drugim irobex put <plik>.
  • Poprzez Linux/IrDA sieciowe połączenie. Przypuszczam, że musisz ładować moduł irlan_client na jednym z
    komputerów i irlan_server na drugim.
  • Z obsługą IrCOMM innymi słowy poprzez linię szeregową, które może oznaczać minicom, pppd, itp.

Kompresja

Ta opcja jest nadal eksperymentalna! Dag Brattli napisał: ” Chciałem Cię poinformować, że dodałem właśnie
obsługę KOMPRESJII do IrLAP! Jak wiesz, nie jest to częścią standardu IrDA(TM) ale Linuks może teraz negocjować
połączenie z kompresją jeżeli po drugiej stronie też jest obsługiwana kompresja. Oczywiście jeżeli łączysz się z
Win95, Palmem III lub czymkolwiek innym, nie będziesz mógł korzystać z kompresji. Kompresja dostępna jest tylko
dla Linuksa narazie z tego co wiem. Standard IrDA(TM) mówi, że urządzenie powinno ignorować nieznane pola z
nagłówka negocjacji, dlatego jesteśmy nadal „kompatybilni” z IrDA(TM) (wykorzystałem nieużywaną wartość nagłówka).

Jeżeli chcesz wypróbować kodu kompresji (Linux <-> Linux) musisz wcześniej wrzucić moduł irda_deflate
jeszcze przed nawiązaniem połączenia. Ja robię to przed irattach.

Standard kompresji, który dodałem jest formatem używanym przez bibliotekę która jest opisana przez RFC
(Request for Comments) 1950 do 1952 w plikach ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format) i rfc1952.txt (gzip format).

Interfejs kompresji jest podobny do PPP, także możesz dodać kompresory jakie tylko chcesz. Obecnie wspomagany jest
tylko GZIP, ale kompresja BSD będzie dodana w późniejszym okresie. ”

5.8 Multiple Instances

Dag Brattli napisał: ” Warstwa IrLAP zezwala na więcej niż jedno (dlatego możesz używać IrLAN na
wbudowanym porcie ir i komunikować się z Pilot’em poprzez dongles’a IrDA w tym samym czasie)… Więc jak ja tworzę
dwa połączenia Linux/IrDA ? Cóż, odpalasz irattach z osobna dla każdego portu IR na przykład w ten sposób:


irattach /dev/ttyS0 &    (mój ESI dongles)
irattach /dev/ttyS2 &    (mój wbudowany port IrDA)

insmod irlan_client
insmod irobex

6. Sprzęt obsługiwany przez Linux/IrDA

6.1 Obtaining informacje o Portach Podczerwieni w Laptopach

Żeby Twój port IrDA w Twoim laptopie mógł pracować z Linux/IrDA możesz użyć StandardInfraRed (SIR) lub FastInfraRed (FIR).

SIR

Do 115.200bps, port podczerwieni emuluje port szeregowy podobnie jak UART 16550A. To będzie wykryte przez szeregowe
sterowniki jądra w czasie startu systemu lub w czasie ładowania modułu serial. Jeżeli jest załączona
obsługa w BIOS’ie dla większości laptopów powinieneś dostać taki komunikat:


Serial driver version 4.25 with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A     #pierwszy port szeregowy /dev/ttyS0
ttyS01 at 0x3000 (irq = 10) is a 16550A    #port podczerwieni
ttyS02 at 0x0300 (irq = 3) is a 16550A     #PCMCIA modem port

FIR

Jeżeli chcesz używać prędkości do 4Mbps, twój komputer musi być wyposażony w układ FIR. Będziesz potrzebował
sterownika Linux/IrDA obsługującego ten układ. Dlatego musisz posiadać właściwe informacje o swoim układzie FIR.
Możesz je uzyskać w jeden z następujących sposobów:

  1. Przeczytaj specyfikację Twojego komputera, aczkolwiek żadko jest tak, że znajdziesz tam potrzebne informacje.
  2. Wykonaj cat /proc/pci, aczkolwiek często informacje PCI są niekompletne. Najświeższe informacje
    o urządzeniach PCI znajdziesz na stronie Craig’a Hart’a
    http://members.hyperlink.net.au/~chart. Od jądra 2.1.82, możesz użyć również lspci z pakietu pci-utils. Odpowiednie pliki dla jąder 2.2.x są w /proc/bus/pci.
  3. Jeżeli masz zainstalowane oprogramowanie Linux/IrDA załaduj moduły FIR i obserwuj komunikaty dmesg,
    czy FIR jest wykrywany czy też nie.
  4. Użyteczne mogą być narzędzia isapnp, aczkolwiek ja ich nie używałem.
  5. Inny sposób uzyskania informacji opisał Thomas Davis:
    ” Przekop FTP (producenta, wh) odszukaj sterowniki FIR (na przykład dla układu SMC, wh):


    -rw-rw-r--   1 ratbert  ratbert       743 Apr  3  1997 smcirlap.inf
    -rw-rw-r--   1 ratbert  ratbert     17021 Mar 24  1997 smcirlap.vxd
    -rw-rw-r--   1 ratbert  ratbert      1903 Jul 18  1997 smcser.inf
    -rw-rw-r--   1 ratbert  ratbert     31350 Jun  7  1997 smcser.vxd

    Jeżeli masz wątpliwości, zawsze poszukaj .inf/.vxd w sterownikach dla WIn95; Win95 nie jest sprzedawane a jakimkolwiek
    sterownikiem FIR. (są one dostarczane przez osoby trzecie, w większości przypadków prze Counterpoint, który został przejęty
    prze ESI).”

  6. Użyj narzędzi DOS’owych tt>CTPCI330.EXE dostarczonych w formacie ZIP przez niemiecka gazetę komputerową CT
    http://www.heise.de . Informacje dostarczone przez te narzędzia są często
    lepsze od informacji uzyskanych przez narzędzia linuksowe.
  7. Jest również małe narzędzie DOS’owe napisane przez SMC, nazywane called „FindChip”. Pakiet zawiera
    również narzędzie „FirSetup” które jest w stanie uzyskać wszystkie wartości z wyjątkiem adresu układu.
    Zerknij pod
    http://www.smsc.com/ftppub/chips/appnote/ir_utils.zip

    Ostrzeżenie: Pakiet nie jest przeznaczony dla użytkownika końcowego, i niektóre narzędzia mogą być niebezpieczne.
    Dokumentacja pakietu jest tylko w formacie M$ Word. Użytkownicy Linuksa mogą odczytać ją poprzez catdoc,
    dostępnego pod
    http://www.fe.msk.ru/~vitus/catdoc/.

  8. Wykorzystaj Menadżera Urządzeń pod Window$95/98/NT.
  9. Możesz wykorzystać również poniższy przegląd sprzętu.

6.2 Przegląd Sprzętu

Jest trochę opisów sprzętu podczerwieni współpracującego z Linuksem w Sieci:

  • The Linux/IrDA Project – Hardware Survey
    http://www.cs.uit.no/~dagb/irda/hardware.html
  • Takahide Higuchi
    http://www.pluto.dti.ne.jp/~thiguchi/ir/product.html.Strona w języku japońskim.
  • Ja zaczynałem od
    http://www.snafu.de/~wehe/index_li.html
    Strona zawiera informacje o urządzeniach na podczerwień które nie są tutaj wymienione (myszy, drukarki, piloty zdalnego
    sterowania, nadajniki, itp.).

    Żeby uczynić tą listę bardziej przydatną musimy zgromadzić więcej informacji o urządzeniach na podczerwień w różnych
    sprzętach. Możesz pomóc w tym poprzez wysłanie krótkiego mail’a z nazwą urządzenia które posiadasz i jakiego rodzaju
    kontrolera podczerwieni używasz.

    Opisz również jak Ci działa Linux/IrDA, na którym tty, porcie i przerwaniu pracuje, i z jakim urządzeniem na podczerwień
    współdziała (np. drukarka, telefon komórkowy).

    Możesz również pomóc poprzez rozpowszechnianie informacji ze szczegółami technicznymi o różnych urządzeniach na
    podczerwień, które są konieczne do rozwijania prac nad sterownikami dla Linuksa.

7. GUI – nakładka graficzna

Jeżeli chcesz wypróbować GUI, możesz spróbować uruchomić ircp.pl. Będziesz potrzebował do tego
modułu Perl-GTK+ (
http://www.gnome.org). GUI jest dalekie od skończenia,
dlatego nie oczekuj zbyt wiele 🙂

8. Power Saving – oszczędzanie energii

W specyfikacji mojego HP OmniBook 800 jest zalecane aby wyłączyć port IR jeżeli nie jest wykorzystywany, ponieważ
może zużywać do 10% czasu działania akumulatora.

Jeżeli jest to konieczne, możesz spróbować wyłączyć Fast RRs w sekcji jądra. Opcja ta da Ci o wiele
lepszą wydajność ale zużyje więcej energii.

9. Rozwiązywanie problemów, Lista Mailingowa

9.1 Informacje Główne

Jeżeli napotkasz problemy. Spróbuj:

  • Przeczytaj poniżej sekcję FAQ.
  • Obejrzyj /var/log/messages i/lub /var/log/kern.
  • Wykonaj dmesg.
  • Przejrzyj różne pliki w /proc/irda.
  • Przejrzyj archiwum listy mailingowej pod adresem
    http://www.ita.chalmers.se/~svinto/hypermail/irda/, czy
    Twoje problemy nie są już znane.
  • Zapytaj na liście mailingowej Linux/IrDA. Żeby zapisać się na listę Linux/IrDA, wyślij list zaadresowany
    do [email protected] ze słowem „subscribe” w treści listu. Żeby wysłać list na listę
    mailingową wyślij go na adres [email protected]. Używaj listy do wysyłania pytań, odpwiedzi, raportów o błędach, patchy,
    sugestii i komentarzy. Aby zapobiec się przed spamowaniem, lista jest obecnie moderowana i upływa trochę czasu
    za nim Twój list zostanie rozesłany do członków listy.

9.2 Techniki rozwiązywania problemów

Mimo, że nie jestem hackerem zgromadziłem kilk sztuczek do śledzenia błędów oprogramowania Linux/IrDA.

  • Możesz ustawić poziom wykrywania błędów w /proc/sys/net/irda/debug na 1,2,3,4.
  • Użyj plików w /proc/sys/net/irda do wypróbowania różnych parametrów jak na przykład echo 0 > /proc/sys/net/irda/discovery.Pliki /proc/*/irda to:

    root@duckman:~# ls /proc/sys/net/irda/* /proc/net/irda/*
    /proc/net/irda/discovery        /proc/net/irda/irlmp            /proc/sys/net/irda/devname
    /proc/net/irda/irda_device      /proc/net/irda/irttp            /proc/sys/net/irda/discovery
    /proc/net/irda/irias            /proc/sys/net/irda/compression
    /proc/net/irda/irlap            /proc/sys/net/irda/debug

  • Istnieje możliwość usuwania błędów z kodu. Ale nie wiem jak to zrobić. Jeżeli chcesz użyć kodu wykrywania błędów
    SKB, możesz zedytować plik irda.h i zmienić /include/linux/skbuff.h (zobacz notkę z 10-2-98).
  • Do rozwiązania problemów z modułem irda może być przydatny programik kdstat z
    pakietu modułów. Ale nie mogłem go wypróbować.
  • Możesz teraz zmieniać liczbę wykrytych użytych pakietów (1,6,8 lub 16) i czas ich wysyłania (2-8 * 10 ms)
    w pliku /proc/sys/net/irda. Poeksperymentuj jeżeli masz problemy z wykryciem swojego sprzętu. Mój Palm III
    wydawał się lubić wartość 16 discovery_slots i 8 (*10 ms) dla slot_timeout. ” … ”
    Absolutnym minimum do bezproblemowego wykrywania IR-610 wydaje się być 9.”
  • Jeżeli ktoś dostanie od jądra Oops, to proszę umieść to w pliku ../linux/scripts/ksymoops/ksymoops wtedy
    będziemy mogli odnaleść przyczynę co poszło źle. Po prostu wytnij linie Oops z syslog’a i zapisz je do pliku, a następnie
    uruchom ksymoops <plik>
  • Dag Brattli napisał: Odkryłem w ten sposób, że karta dźwiękowa cs4232 dawała mi kilkaset przerwań na sekundę! Usunąłem
    wszystko od dźwięku z mojego jądra, i komputer jest teraz prawie 4 razy szybszy!

    Linux/IrDa może mieć problemy jeżeli masz uruchomiony esound server (esd). Obydwa moje komputery, laptop Pentium 166Mhz
    i Pentium Pro 200Mhz nie mogą uruchomić Linux/IrDA kiedy esd jest uruchomione. Powód jest taki, że esd daje karcie
    dźwiękowej przerwania ponad 300 razy/sekundę co czyni przeciążenie sterownika portu szeregowego w czasie odbioru. Dzieje
    się tak ponieważ sterownik portu szeregowego używa teraz wolnych przerwań w Linuksie-2.2 (wszystko jest wolnymi przerwaniami
    w 2.2), dlatego program, który zarządza przerwaniami robi to na swój sposób. Dobrą rzeczą w wolnych przerwaniach jest to
    pakiety dostarczane są o wiele szybciej , odkąd nie musisz oczekiwać na następny takt zegara. Wyjątkiem od tego jest
    sterownik pc87108 który świetnie pracuje odkąd używa DMA i powinien tylko dawać kilka przerwań na pakiet.

10. Znane Błędy

Jeżeli odkryjesz błąd, proszę prześlij na listę mailingową raport zawierający wynik dmesg oraz opis
jakiego linuksa używasz i jakiego sprzętu. Dziękuję !!!

Czasami IrCOMM nie może się połączyć (szczególnie gdy wykryje dwa różne urządzenia. Możesz wyłączyć wykrywanie
za pomocą echo 0 >/proc/sys/net/irda/discovery)

Znak CR (powrót karetki) nie może być przesyłany pomiędzy dwoma linuksami poprzez IrCOMM komendą cat plik >
/dev/irnine
i cat /dev/irnine. Powoduje to dziwne rzeczy i zawiesza oba linuksy.
Kompilacja sterownika urządzenia pc87108 nie jako moduł powoduje wywalenie kernela w czasie boot’owania. Tymczasowe
rozwiąznie: skompiluj sterownik jako moduł

IrOBEX może czasami zjadać odbierane dane. Błąd jest spowodowany prawdopodobnie w samym IrOBEX’ie.

11. FAQ

  • Q1 – Pytanie: Nie wiem nic na temat portów i przerwań. Co powinienem zrobić ?
  • Odpowiedź:CZĘŚĆ A: Ustawienie sprzętu

    – 1 Obejrzyj specyfikacje swojego sprzętu. Jeżeli jej nie masz zajrzyj na stronę www producenta, lub skontaktuj się
    z sewisem. Możesz również znaleźć informacje o sprzęcie w sposób wymieniony wyżej w tekście.

    – 2 Użyj najnowszego BIOS’u. Zwykle dostępny jest na stronie www producenta.

    – 3 Wykonaj setserial /dev/ttyS? -g -a | egrep 16550A. Jedno z pokazanych urządzeń jest prawdopodobnie
    tym którego szukasz. Zwykle jest to to drugie, ale nie daje gwarancji.
    One of the shown devices is probably the one you are

    – 4 Notka: To co wygląda jak UART fizycznie jest kontrolerem IrDA’y. W przypadku mojego HP Omnibook 800 jest to
    VLSI VL82C147 PCI – IrDA controller. Kontrolery te powinny zachowywać się jak UART’y przy prędkościach do 115 200 bps.
    Ale czasami jest bardzo trudno uzyskać poprawną konfigurację.

    CZĘŚĆ B: Jak przekazać informacje dla jądra o ustawieniach sprzętu

    -4 cat /dev/ioports zobaczysz które porty są w użyciu.

    -5 cat /dev/interrupts zobaczysz które przerwania są w użyciu.

    -6 Udostępnij porty i przerwania, które będą wykorzystywane przez urządzenie IR, np. zatrzymaj usługi pcmcia lub
    załącz linie podobną do tej w /etc/sysconfig/pcmcia:
    PCIC_OPTS="irq_list=3,4,5,7,9,10,12,14,15"

    -7 Teraz spróbuj odgadnąć jakie jest poprawne przerwanie i port. Użyj setserial /dev/ttySx irq M port 0xNNNN
    aby przekazać to dla jądra. Jeżeli jest więcej niż jedna możliwość wypróbuj je wszystkie (Notka: Jak wspomniano w
    Serial-HOWTO nie powinieneś używać przerwań 0,1,6,8,13,14).

    -8 Jeżeli udało Ci się, prześlij poprawne adresy dla autora, ponieważ chcę zamieścić je w przeglądzie sprzętu.

    -9 Powodzenia.

    Może wystąpić potrzeba dostrojenia portu IR za pomocą setserial, np. setserial /dev/ttyS0 spd_vhi (prędkość 115200).

  • Q2 – Pytanie: U mnie irattach zawiesza się, ale rozpoznaje drukarkę. /var/log/messages pokazuje,
    że irattach znalazł moją drukarkę HP LaserJet 6P.
  • Odpowiedź: „Zawieszenie” jest normalne dla irattach. Wszystko pracuje poprawnie jeżeli widzisz HP LaserJet
    w logu. „Zawieszenie” oznacza, że irattach odpytuje urządzenia IrDA dla nadchodzących połączeń. Jeżeli zabijesz
    ten proces poprzez <CTRL C> irattach wyłoży się i /dev/ttySx nie będzie dalej pracować. Problem jest z modułem irdy a
    nie z programem irattach. Przeresetowanie komputera jest jedyną rzeczą którą możesz zrobić w takim przypadku. Następnym
    razem przerzuć irattach w tło używając irattach &. Jeżeli zajdzie taka potrzeba zatrzymaj wszystkie procesy
    killall irattach. Zalecenia Andreas’a Butz’a: <CTRL Z> bg powinny również działać, ale nie testowałem
    tego w tym szczególnym przypadku. Normalnie daje to ten sam efekt jak & w komendzie.
  • Q3 – Pytanie: Dostaję wiadomość tcsetattr read/write error w /var/log/messages.
  • Odpowiedź: Przyczyną jest prawdopodobnie zły /dev/ttyS* lub port lub przerwanie.
  • Q4 – Pytanie: Wszystkie ustawienia wydają się być w porządku, ponieważ dostaję dobre odpowiedzi, ale nadal nie działa.
  • Odpowiedź: Przesuń urządzenie w granicy 0.5 (1.5 stopy). Sprawdź, czy port podczerwieni wykorzystuje tylko jedna
    aplikacja. Sprawdź oba urządzenia czy wykorzystują ten sam protokół, jak IrOBEX lub IrCOMM.
  • Q5 – Pytanie: Ściągnąłem ostatni snapshot, i poprawnie skompilowałem go pod linuksem 2.0.33 uruchomionym
    na IBM’ie Thinkpad 560E. W przypadku braku innych komputerów z irdą do przetestowania, czy informacje z syslog’u
    „irattach: Serial connection established.” podczas ładowania modułu są prawdziwe, czy IR rzeczywiście
    działa i będzie odpowiadać innym komputerom ?
  • Odpowiedź Dag’a Brattli: Przykro mi ale to tylko oznacza, że irattach wykonała część swojego zadania, którym
    jest po prostu uruchomienie irda-tty. Być może komunikaty powinny być różne, ale tak jak mówiłem, oznacza to, że
    zostało ustanowione połączenie szeregowe między układem irda a sterownikiem irda.

    Notatka:
    Wspieranie IrDy dla jądra 2.0.x zostało przerwane. Zachęcamy Cię do przejścia na jądro 2.2.x i używania
    najnowszych poprawek IrDy dostępnych pod
    http://www.cs.uit.no/~dagb/irda/snapshots/.

  • Q6 – Pytanie: Przy starcie modprobe -a sprawdza /lib/modules/<KERNEL-VERSION>/net/irda.o i
    otrzymuje komunikaty „IrLAP; Missing IrTTY /IrLMP Error no IrLAP connection” (w /var/log/messages i na konsoli).
  • Odpowiedź Werner’a Heuser’a: Ogólnie dla systemów opartych na SYSTEM’ie V: umieść skrypt na przykład o nazwie „ir_rmmod”
    zawierający


    #!/bin/sh
    echo "$0 : remove irda module"
    rmmod irport.o
    rmmod irtty.o
    rmmod irda.o

    w skrypcie startowym (/etc/init.d i link symboliczny na przykład „S100ir_rmmod” w
    /etc/rc3.d do „ir_rmmod”). (Zweryfikuj ścieżkę do „sh”). Dla systemów opartych na
    BSD spróbuj napisać rozwiązanie.

  • Q7 – Pytanie Ho Chin Keong’a: Czy jest inny sposób nawiązania połączenia pomiędzy dwoma laptopami niż poprzez
    ustawienie routingu między nimi ?
  • Odpwiedź Dag’a Brattli: I tak i nie ! Jeden ze standardów IrDy, IrCOMM zezwala na emulacje jako połączenie kablowe
    pomiędzy laptopami, możesz wtedy wykorzystywać dowolnej aplikacji korzystającej z portów szeregowych (terminale, PPP, slip itp.)
    Aczkolwiek nie jest to jeszcze zaimplementowane w Linuks/IrDA.
  • Q8 – Pytanie Ho Chin Keong’a: jeżeli umyślnie zasłonię port podczerwieni na więcej niż 10 sekund, połączenie nie
    może być przywrócone. Później muszę zabić proces irattach i ponownie uruchomić aby ustanowić połączenie.
    Aczkolwiek połączenie jest utrzymywane gdy przysłonię port na krócej niż 10 sekund. Czy tak ma być czy też jest to błąd?
    Czy jest jakikolwiek sposób aby zwiększyć ten czas albo ustawić go na nieograniczony ?
  • Odpowiedź Thomas’a Davis’a: Wygląda na to, że jest to błąd w pierwotnym kodzie IrLAP/IrLMP. Wydaje mi się, że
    nie jest wysyłany sygnał reset/disconnect. Powinieneś to zauważyć w czasie gdy IrLPT otrzyma stuck w trybie odpytywania
    kiedy próbujesz „rozmawiać” z drukarką, i disconnected/interrupted w czasie negocjacji połączenia.
  • Q9 – Pierre-Guillaume Raverdy zapytał: Czy powinienem uaktualnić biblioteki Ir i system do wersji 3.0.2 na swoim
    palm’ie ?
  • Odpowiedź Dag’a Brattli: Nie powinieneś potrzebować aktualizować swojego Pilot’a, aczkolwiek nie powinno to niczemu
    zaszkodzić. Uaktualnienie potrzebne jest jeżeli chcesz używać biblioteki IrCOMM z IsComplete.
  • 10 – Pierre-Guillaume Raverdy zapytał: Również jakikolwiek prosty kod (szczególnie po strnie palm’a) byłby mile
    widziany.
  • Odpowiedź Dag’a Brattli: Weź Pilot SDK z Palm’a. Rozpakuj exaples.zip i obejrzyj aplikację do komunikacji.
  • Q11 – Kai Poehlmann napisał: Posiadam telefon gsm Ericsson SH 888 i komputer z linuksem bez portu podczerwieni.
    słyszałem, że Ericsson może komunikować się protokołem IrDA również przez kabel szeregowy… :-/ Czy istnieje już
    możliwość użycia mojego telefonu z portem IrDA z linuksem poprzez kabel ?
  • Odpowiedź Matthias’a Lemke: Tak istnieje taka możliwość. Testowałem ją 6 tygodni temu, ale napotkałem kilka
    problemów z rzeczywistą-irdą. Mogę podłączyć mój telefon, mogę zresetować go poprzez ATZ ale po ATDT nic się nie dzieje.
    Tak samo z kalem lub bez. Ale powinieneś spróbować z nowszym oprogramowaniem portu.
  • Q12 – Jonah Peskin napisał: Czy komuś udało się z powodzeniem zwiększyć zasięg nadajnika IrDy ? Ja używam
    notebooka Inspiron 7000, i wygląda na to, że on posiada zasięg odbioru około 1 metra. Rozumiem, że tak to wynika
    ze specyfikacji IrDy ale czy są jakieś laptopy lub inne urządzenia które mają zasięg większy od 1 metra ?
    Dlaczego nie lepiej po prostu wziąć kabel długości 1 metra i połączyć to ręcznie ?
  • Odpowiedź od [email protected]: Ponieważ ręczne połączenia są bardziej kłopotliwe, zabierają więcej czasu
    i stwarzają więcej problemów (np. dostęp do złączy w moim komputerze wymaga gimnastyki).

    Główny problem jest w tym, że ogólnie musisz posiadać bardziej czuły odbiornik. W podstawowej fizyce mamy prawo,
    które mówi, że intensywność maleje wraz z kwadratem odległości, dlatego zwiększając odległość z 1 do 5 metrów
    musimy dostarczyć 25 razy większą moc (i przez to wzrasta zużycie baterii w przenośnych urządzeniach) lub 25 razy większą
    czułość ( a dynamiczny zasięg będzie nadal w stanie działać na długości 3 cali) .

    Były robione takie próby z Palmem III:
    http://home.t-online.de/home/PSPilot/ppppiii.htm

12. Zdalne Sterowanie

12.1 Zasoby

Zdalne sterowanie przez port podczerwieni nie jest głównym celem projektu Linux/IrDA ale część tego Howto pokrywa się z „Linux and Infrared” Znalazłem trzy projekty które rozpracowują ten temat. Możesz znaleźć kilka linków
do bieżących informacji na
http:// www.snafu.de/~wehe/index_li.html.

  • LIRC LInux Remote ControlLIRC jest pakietem który obsługuje odbieranie i wysyłanie sygnałów IR większości pilotów zdalnego sterowania. Zawiera
    sterowniki do urządzeń podłączonych do portu szeregowego, demona który dekoduje i wysyła sygnały IR używając tego sterownika, demona myszy który tłumaczy sygnały IR na ruchy myszy i kilka programów użytkowych które pozwalają na
    sterowanie Twoim komputerem zdalnym pilotem. Takahide Higuchi napisał o LIRCu: ” Jest wspaniały, i wygląda na kompletne rozwiązanie ale nie ma na rynku sprzętu obsługującego go (lub wymaga skonstruowania specjalnego układu
    elektronicznego… dla wielu ludzi może to być trudne do realizacji). Wierzę, że LIRC będzie bardziej popularny
    gdy będzie zaimplementowany w sterownikach FastIR i będzie zrobione wspólne API (na przykład, IrSocket i ioctls)
    „. LIRCa znajdziesz na
    http://www.thp.uni-koeln.de/~rjkm/lirc/
  • Szeregowy Kontroler PodczerwieniJest to proste, tanie urządzenie które może być podłączone do jakiegokolwiek portu szeregowego aby sterować większością
    komponentów które posiadają zdalne sterowanie podczerwienią. Został zaprojektowany i wykonany docelowo jako płyta PC.
    Ten pakiet możesz znaleźć tutaj
    http://www.armory.com/~spcecdt/remote/remote.html
  • Narzędzia Podczerwieni dla COREL Netwinder PCStrona Serwera (klient-serwer) Corel Palm Administrator (demon) opiera sie na zainstalowanym i uruchomionym prostym ir.
    Możesz nim sprawdzić i zmienić adres IP, adres bramki, setup eth1, etc. Możesz również uruchomić prostą komendę którą
    możesz sprawdzić temperaturę, pamięć, obciążenie systemu, etc.

    Strona Klienta Corel Palm Administrator. Możesz również uruchomić prostą komendę którą możesz sprawdzić temperaturę, pamięć, obciążenie systemu, etc.

    Podstawowy sterownik urządzenia Infra Red. Nie obsługuje IrDy (tylko niestabilme transfery). Jest przeznaczony
    do obsługi sygnałów zdalnego sterowania (jak klawiatura, etc.). Blokuje i przeszpuszcza dane bardzo różnie.

    Narzędzia te możesz znaleźć pod
    http://www.netwinder.org/~ryansh/

12.2 Zdalne Sterowanie Podczerwienią – IrDA

Dwa z wymienionych wyżej projektów używają pewnego rodzaju urządzeń wykonanych własnoręcznie do kontroli zdalnego sterowania. Jest również opis jak zbudować szeregowego dongles’a IrDy własnoręcznie w niemieckim czasopiśmie ELEKTOR 5/97
strona 28. Może któś może połączyć te dwa urządzenia w jedną całość.

Podaję informacje z dyskusji na temat relacji pomiędzy Zdalnym Sterowaniem Podczerwonym i IrDą jakie pojawiły się
na liście mailingowej Linux/IrDA (skrócone i zmodyfikowane przez wh):

Ryan Shillington napisał: ” Zdalne sterowanie IR i ASK-IR różnią się bardzo od FIR, MIr lub SIR.

Zdalne sterowanie IR i ASK-IR osiągają bardzo małe prędkości i niskie częstotliwości (ale duży zasięg). Prędkości sięgają
2400 baud.

SIR operuje wyższymi wartościami i jest przeznaczony na duży zasięg transmisji gdy zachodzi
potrzeba przesłania nie wielu znaków (w przeciwieństwie do zdalnego sterowania).

MIR jest troszeczkę szybszy (mniejszy zasięg), ale osiąga już prędkości do 1.15 Mbps, a FIR
do 4Mbps (ale urządzeni muszą praktycznie się stykać) Zasięg jest odwrotnie proporcjonalny do
prędkości jaką możesz wysyłać dane.

Ja pracuję na sterownikach od Remote-IR, ale powinieneś wiedzieć, że Twój cały sprzęt IR
też go obsługuje. Poszukaj protokołów takich jak NEC, RC-5 lub RC-0 (te są najbardziej
popularne).

Możesz użyć SIR od odbierania sygnałów zdalnego sterowania. Ustaw swoją prędkość (baud rate)
na małą, powinieneś móc odbierać dane. Ale z mojego doświadczenia wynika, że nie są to
poprawne dane. Nie zostały one przeanalizowane w odpowiedni sposób, nie możesz na przykład
obliczyć sumy kontrolnej czy też sprawdzić czy dane są kompletne.

Ja poradziłem sobie ze zbieraniem danych (używając SIR) ze zdalnego sterowania. Jak mówiłem
SIR czyta dane zdalnego sterowania różnie zależnie od temperatury (ale nie miałem jakiś
przykrych doświadczeń). ”

Lichen Wang <[email protected]> napisał w odpowiedzi: ” Tak zwany ASKIR
w większości laptopów nie ma znaczenia dla urządzeń IR. ASKIR ma znaczenie dla Sharp Wizard i
Zauaus PDA i niektórych notebooków Sharpa. Sharp stosował to na długo przed tym jak IrDA
została ustanowiona i nadal wspiera go aby zapewnić kompatybilność wstecz. Apple Newton
również z tego korzystał w tym samym czasie.

Krótko, ASKIR używa 9.6 Kbps (19.2 i 38.4 Kbps również można używać), asynchronicznego
przesyłania danych, 8 data bits, 1 stop bit, i nieparzystości. Bit „start” jak również
wszystki 0 bity w data/parity są przesyłane jako kwadratowa fala IR przy 500 KHz (podnośna
DASK). Bit „stop” jak również bit 1 b data/parity są reprezentowane przez nieobecność w jakiejkolwiek transmisji IR.

Także jak widzisz, jest to całkowicie niezgodne z istniejącym zdalnym sterowaniem IR.

[…]

To prawda. Ale nie tylko możesz odbierać używając sprzętu SIR, możesz również
nadawać. Oczywiście są pewne ograniczenia.

Większość pilotów zdalnego sterowania IR wykorzystuje podnośną 38 KHz. 3 razy 38 jest 114,
bardzo blisko 115.2. Możesz ustawić UART na 115.2 Kbps, 7 data bits, no parity, i 1 stop bit –
suma 9 bitów. Każde 3 cykle podnośnej 38 KHz może być odebrana lub nadana
jako bajt 0x5B.

Jest kilka fizycznych ograniczeń związanych z tym, że podnośna musi być 38 KHz.
Odbiornik SIR nie jest tak czuły do 38 KHz jak zdalny odbiornik IR zaprojektowany
w tym celu. Nadajnik SIR ma dużo niższe działanie i nie może emitować silnej
podnośnej również.

Remote IR (zdalny) koduje sygnał kontrolny poprzez włącznie i wyłączanie podnośnej
przy określonych wzorach. Teraz Ty możesz nadawać i odbierać podnośną.

Do nadawania, musisz znać ilość kolejnych bajtów 0x5B do wysłania,
żeby wysłać dla każdej występującej podnośnej, i jaka długa musi być przerwa pomiędzy wystąpieniami.

Do odbioru, musisz znać ilość i kolejność odebranych bajtów 0x5B, i długość
przerw pomiędzy grupami kolejnych bajtów.

[..]

Moje doświadczenia z zasięgiem połączeń IrDA typu SIR, MIR i FIR różnią się od tego
co powiedział Ryan.

[..]

SIR, MIR i FIR powinny działać w zasięgu od 0 do 100 cm ale w praktyce:

(a) Niektóre urządzenia mają problem ze zbyt DUŻĄ odległością.

Gdy tylko jest to możliwe, umieść dwa urządzenia do komunikacji na nie więcej nie 50 cm.
Mała moc urządzeń takich jak Pejdżery, Telefony, etc sprawia, że mogą mieć jeszcze mniejszy
zasięg wbrew temu co mówi specyfikacja SIR, MIR lub FIR.

(b) Niektóre urządzenie mają problem ze zbyt MAŁĄ odległością.

Umieść dwa urządzenia co najmniej kilka cm od siebie. Kładąc dwa urządzenia zbyt blisko siebie
mogą powodować problemy.

Intuicyjnie gdy jest słabe łącze umieszczamy dwa urządzenia blisko siebie. Ale zbyt bliskie
umiejscowienie też jest złe, Przyczyną tego jest mała czułość, która przy odległości 1 cm
jest 10.000 mniejsza niż przy 100 cm. Przy 0.5 cm wynosi 40.000 itd. Fabryczne odbiorniki
IR mają trudności przy znajdowaniu tak ogromnego dynamicznego zasięgu. Wszyscy mamy
problem czytając przy 10W żarówce, ale wyobraź sobie jak byśmy się czuli przy 100.000W!

[..]

Fizyczna warstwa IrDy jest całkowicie niezgodna z modulacją DASK używanej przy zdalnym
sterowaniu IR. Niemożliwe jest używanie tego samego kontrolera do obsługi FIR i zdalnego
sterowania. Aczkolwiek, w praktyce wszystkie układy kontrolerów FIR mają załączone
dodatkowe funkcje do obsługi zdalnego sterowania. National, SMC i Winbond wszystkie
mają takie układy I/O.

Nadajniki IR do FIR i zdalnego sterowania są bardzo podobne. Testowałem standardowy
nadajnik FIR. Ma on zasięg 10 metrów dla zdalnego sterowania. To ukazuje jak dobre
nadajniki są wykorzystywane przy zdalnym sterowaniu.

Odbiorniki IR do FIR i zdalnego sterowania są trochę inne. Odbiornik FIR może odbierać
sygnały zdalnego sterowania ale na odległość tylko 1 metra podczas gdy odbiorniki
zaprojektowane do zdalnego sterowania mogą odbierać sygnały z 10 metrów.

Posiadam ISOwy kontroler z układem I/O National który obsługuje FIR i zdalne sterowani.
Posiadam również dongles’a który zawiera oba odbiorniki FIR i zdalnego sterowania.
(Plus nadajnik dla obu trybów.) Nie mogłem znaleźć żadnego oprogramowania obsługującego
funkcje zdalnego sterowania. Poczyniłem własne eksperymenty w DOSie (nie mogłem jeszcze\
uruchomić Linuksa) Czy ktoś jest zainteresowany tym? ”

Benny Amorsen napisał: „Posiadam laptopa który jak domniemam obsługuje ASKIR. Tryb
portu podczerwieni może być przełączony na ASKIR w BIOSie. Przymus restartu systemu żeby
przełączyć tryb w BIOSie czyni go bezużytecznym, dlatego ktoś musiałby znaleźć sposób na
przełączenie w locie. ”

Dag Brattli napisał: Powinna być możliwość użycia IrControl (dawniej IrBus) dla IrDy
ze zdalnym sterowaniem. Aktualnie nie znam żadnego zdalnego sterowania wykorzystującego
standard IrControl, ale powinno coś być (może ktoś coś wie ?) Udaj się na stronę IrDy
(http://www.irda.org) i pobierz standard warstwy fizucznej (który zawiera IrControl, chyba).

„Normalna” IrDA (używająca IrLAP) nie jest zaprojektowana do zdalnego sterowania
z powodu innego przeznaczenia. (i dlatego obsługuje 9600bps dla połączeń). Powód
ograniczenia zasięgu jest spowodowane bezpieczeństwem oczu (ale obecnie nie wiem dlaczego
CIR działa lepiej używając tej samej mocy). Aczkolwiek widziałem laptopy połączone przy
odległości 4-5 metrów (ale myślę, że nie mogła być użyta duża prędkość).

Większość układów IrDA jest w stanie obsługiwać operacje CIR, i w związku z tym łatwo jest
zmodyfikować sterowniki do połączeń CIR. Takahide Higuchi zaczął rozglądać się za IrSockets i
byłby wdzięczny jeżeli moglibyśmy otworzyć „raw” Ir(DA) socket którym moglibyśmy
wysyłać i odbierać pakiety CIR. Wtedy wszystkie aplikacje CIR mogłyby być wykorzystywane
przez użytkowników.

Wiem, że Corel jest zainteresowany wykorzystaniem CIR do kontrolowania NetWinder (i mają
aktualnie pracujący kod). Spójrz na
http://www.slashdot.org/articles/98/12/05/0916216.shtml or
http://www.netwinder.org/~ryansh

13. Podczerwień i Bezpieczeństwo Oczu

Ta sekcja opisuje kilka pomysłów które były wymienione na liście mailingowej Linux/IrDA.
Nie jest to opis od z medycznego punktu widzenia także jeżeli ktoś ma lepsze dowody lub
źródło informacji na ten temat, zachęcam go do załączenia ich w tym HOWTO.

Specyfikacja IrDy mówi, że zasięg urządzeń IrDy został ograniczony do 1 metra ze względu
na bezpieczeństwo oczu. Inne wiarygodne stwierdzenie to to, że zużycie energii i „sianie”
były przyczyną tego ograniczenia. W zasadzie podczerwień może być groźna dla oka, ponieważ
oko nie rejestruje promieni podczerwonych i przez to powieka nie zamknie się, aby chronić
siatkówkę przed jaskrawymi źródłami promieni podczerwonych. Jest to podobna systuacja jak
przy promieniach nadfioletowych, które ostatecznie powodują „śnieżną ślepotę”, ale w
przeciwieństwie do promieni nadfioletowych, podczerwone zawierają o wiele mniej
szkodliwej energii z uwagi na większą długość fali.

Prawne ograniczenia i rady medyczne jakie byliśmy w stanie znaleźć w Sieci były tylko o
wysyłaniu ciepła przez lampy lub w czasie spawania. To sugeruje, że światło IR
jakie emitują urządzenia IrDA jest nieszkodliwe odkąd nawet silny chwilowy wzrost mocy
emitowany przez silne LEDy IR (ok. 300mW) jest kilka wielkości mniejszy od mocy
emitowanej przez lampy medyczne IR (do 500W). Do tych, którzy sugerowali noszenie
okularów ochronnych, jeżeli patrzysz prosto w 1.000 migających podczerwonych LEDów jednocześnie to wtedy powinieneś je założyć. Skutkiem światła podczerwonego jest przeważnie
ciepło a nie zmiana lub zniszczenie budowy biologicznej komórki powodowanego przez
światło Uv. Aczkolwiek w specyfikacji HP OmniBook 800 Hewlett-Packard nie zaleca
patrzenie bezpośrednio w LED IR.

Jak napisałem wyżej, ta dyskusja oparta jest tylko na przypuszczeniach, zdrowym
rozsądku i danych znalezionych w IR LED oraz specyfikacji lamp. Jeżeli ktokolwiek
kto posiada większą wiedzę medyczną zechce to skomentować to bardzo proszę!!!

14. Wyrazy uznania

Podziękowania dla:

  • Dag Brattli – Linux/IrDA główny zespół
  • Thomas Davis – Linux/IrDA główny zespół
  • Takahide Higuchi – Linux/IrDA główny zespół
  • Ralf Zabka
  • Benny Amorsen
  • Lichen Wang
  • Ryan Shillington
  • Richard Titmuss
  • Fons Botman
  • Rui Oliveira
  • Jon Howell
  • Carlos Vidal
  • Joonas Lehtinen
  • Markus Schill
  • Bjoern Hansson
  • Pawel Machek
  • Ho Chin Keong
  • Bjoern Mork
  • Andreas Butz
  • Tang Ning
  • Członkowie listy mailingowej Linux/IrDA.
  • Autorom innych HOWTO które dawały mi natchnienie.
  • Deweloperom narzędzi SGML.

Przepraszam ale nie zrobiłem tej listy na samym początku gdy rozpoczynałem pracę nad tym HOWTO, także istnieje możliwość, że kogoś pominąłem.

15. Opis wersji

  • v0.1 do v0.4a, 19 marzec 1998 do 4 sierpnia 1998, szkice, nie załączone w LDP
  • v1.0, 14 sierpień 1998, wersja przeznaczona dla LDP
  • v1.1, 18 sierpień 1998, dodane info o patchu IrCOMM Takahide Higuchi, mniejsze zmiany
  • v1.2, 24 sierpień 1998, aktualizacja do linux irda 1998 08 20 snapshot, dodana sekcja FIR i opis wersji, mniejsze zmiany
  • v1.3, 27 wrzesień 1998, dodane sekcje z różnymi przykładami, telefony komórkowe, fotograficzne aparaty cyfrowe, połączenie Linuks – Linuks, obcięcie – CVS, oszczędzanie energii; kilka zmian w sekcji głównej konfiguracji, zmiany w sekcji o przeglądzie sprzętu, mniejsze zmiany
  • v1.4, 11 październik 1998, lepszy opis obsługi IrCOMM, zmiany w sekcji o połączeniach dongle, zmiany w sekcji o Palmie III, mniejsze zmiany
  • v1.5, 12 październik 1998, mniejsze zmiany
  • v1.6, 26 październik 1998, dodana sekcja o IrManager, aktualizcja do linux irda 1998 10 21 snapshot, zmiany w sekcji o połączeniach dongle, mniejsze zmiany
  • v1.7, 1 listopad 1998, dodana sekcja o zdalnym sterowaniu, zmiany w sekcji o połączeniach dongle, mniejsze zmiany
  • v2.0, 9 styczeń 1999, prawie kompletnie przepisany i zmieniony układ stosownie do nowej struktury Linux/IR który jest załączony w jądrzr od 2.1.131, dodane info o obsłudze BIOSu w sekcji o połączeniach dongle, sekcja o konfiguracji narzędzi i CVS usunięta
  • v2.1, 13 styczeń 1999, mniejsze zmiany
  • v2.2, 26 styczeń 1999, zmiana nazwy projektu z Linux/IR na Linux/IrDA, rozszeszony
    rozdział o Rozwiązywaniu Problemów, zmiana kolejności Znane Błędy przeniesione za Rozwiązywanie Problemów
  • v2.3, 4 luty 1999, dodany rozdział o Bezpieczeństwie Oczu napisany przez Andreas’a Butz; sprawdzenie pisowni, przeróbka rozdzaiłu o Parametrach Jądra i dodatkowe informacjie nadesłane przez Andreas’a Butz; mniejsze zmiany
  • v2.4, 9 luty 1999, zmieniona informacja o stosowaniu patcha

16. Prawa Autorskie i Zrzekanie się

Chronione prawem autorskim © ; 1998 , 1999 przez Werner Heuser. Ten dokument może być rozpowszechniany pod warunkami licencji LDP pod dostępnej
http://metalab.unc.edu/LDP/COPYRIGHT.html.

Informacje w tym dokumencie są poprawne z uwzględnieniem całej mojej wiedzy, ale istnieje możliwość, że popełniłem kilka błędów, dlatego nie rób wszystkiego na ślepo, szczególnie jeśli wygląda coś, że jest źle. Nic z tego co jest zawarte tutaj nie powinno zaszkodzić
Twojemu komputerowi, ale na wszelki wypadek nie biorę żadnej odpowiedzialności za jakiekolwiek uszkodzenia wynikające z użycia informacji zawartych w tym dokumencie.

17. Od tłumacza

Starałem się przetłumaczyć to HowTo jak nawierniej, myślę, że w jakimś stopniu udało mi się to zrobić 😉 Gdybyś jednak zauważył jakieś błędy, pisz śmiało a poprawię je.

Niniejszym chciałbym podziękować Bartoszowi
<[email protected]> za pomoc w tłumaczeniu.
Grzegorz Ciepłucha

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.