Eagle-USB

Z Wikiknih

Eagle-usb je ovladač pro Linux, určený pro DSL modemy s analogovým čipsetem Eagle 8051. Podporovány jsou například modemy Sagem F@st 800, USRobotics Sureconnect 9000, Comtrend ct-350 / ct-361, Elcon 111U a další. (Převzato ze stránek: http://sourceforge.net/projects/eagle-usb/) Na internetu je hodně nářků v diskusích, že ovladač nefunguje. Po značném úsilí se mi jej povedlo zprovoznit. Zdrcující většina potíží s ovladačem pramení z prosté skutečnosti, že na něj není podrobný návod. Jediný který jsem našel se nachází na: http://www.abclinuxu.cz/hardware/show/64812 je ale bohužel neaktualizovaný a některé údaje již neplatí.

Jak instalovat ovladač eagle-usb k modemu Sagem F@st 840 USB v SUSE 9.3 nebo Open SUSE 10 a připojit se k Českému Telecomu.


1. Instalace RPM balíčků[editovat | editovat zdroj]

Vložíme instalační CD/DVD, spustíme Yast2, zadáme heslo roota, klepneme na "Software" a vpravo na "Správce programů".

a) Roletku "Filtr" nastavíme na "Skupiny balíčků", najedeme až dole a klepneme na "zzz vše". Vpravo umístíme zatržítka k RPM balíčkům:

  • Kernel-Source
  • Make
  • GCC

Knihovna LibGCC by se měla zatrhnout samočinně jako balíčková závislost.

SUSE 9.3 nemá GCC ve správné verzi, je to chyba distribuce. Musíme stáhnout vyžadovanou verzi, nebo konflikt ignorovat, fungovat to bude. Knihovna "LibGCC" zde vyžaduje ještě balíček "novell-docs-en" Klepneme na přijmout a tím se balíčky nainstalují. Tyto tři programy jsou nutné pro instalaci ovladače.

b) Roletku "Filtr" nastavíme na "Hledat" a do políčka vložíme zkratku ppp. Umístíme zatržítka k nalezeným balíčkům a nainstalujeme je klepnutím na "Přijmout". Zejména je důležitý program rp-pppoe, například ve verzi rp-pppoe-3.5-333.2.i586. Tento program v Open SUSE 10 není, bez něj nám ale modem nepojede, proto si ho stáhneme, nebo zkopírujeme z instalačního DVD SUSE 9.3, (vyšla například v časopise Computer č. 20/2005).

c) Roletku "Filtr" nastavíme na "Hledat" a do políčka vložíme zkratku usb. Zejména je důležitý program hotplug, který v Open SUSE 10 opět není. Stáhneme jej tedy ze SUSE 9.3, kde je balíček hotplug-0.44-32.28.i586 nebo z internetu.

Hotplug i rp-pppoe nemají balíčkové závislosti a fungují v obou verzích distribuce spolehlivě. Většina balíčků, které obsahují "usb" a "ppp" nejsou pro provoz modemu potřeba, doinstalujeme je pouze pro jistotu.


2.Instalace ovladače.[editovat | editovat zdroj]

Modem musí být odpojen z USB kabelu, použijeme prověřenou verzi ovladače eagle-usb-1.9.9.1.tar.bz2, kterou si stáhneme z internetu například z: https://sourceforge.net/project/showfiles.php?group_id=81588&package_id=83540 Můžeme stáhnout i novější.

a) rozbalíme soubor eagle-usb-1.9.9.1.tar.bz2 jednoduše tak, že na něj klepneme a objeví se rozbalená složka, kterou myší přetáhneme do jiného okna. Tím je soubor rozbalen. Chceme-li to udělat jako opravdoví Linuxoví drsoni, otevřeme konzoli a zadáme příkaz:

  • su -

i s tou mezerou a pomlčkou a zadáme heslo. Heslo se nezobrazuje z bezpečnostních důvodů. Pak zadáme příkazy:

  • cd /cesta_k_souboru/
  • tar xvjf eagle-usb-1.9.9.1.tar.bz2

První příkaz "cd" nás dostane do složky se souborem, druhý příkaz "tar" ho rozbalí.

b) Jsme-li ve složce s rozbaleným souborem, zadáme příkaz:

  • cd eagle-usb

Tím se dostaneme do složky "eagle-usb" kde zadáme příkaz:

  • ./configure

Pokud to skončí chybovou hláškou obsahující zmínku o nějakém "$PATH", nezoufáme a zadáme příkaz:

  • PATH=$PATH:/usr/local/sbin

A znovu spustíme ./configure. Až doběhne, což může docela trvat, mělo by to skončit přibližně takhle:

-----------------------------------------------------------------------
distribution detected                           generic

dhcp support                                    dhcpcd

pppd support                                    yes
  pppoa support                                 yes
  pppoe support                                 yes

install eagleconnect (tcl/tk frontend)          yes

generate documentation                          no
-----------------------------------------------------------------------

Pokud to vypadá jinak, nezoufáme. Důležité je, že nám ./configure doběhl bez chyby. Zadáme příkaz:

  • make

Až doběhne, zapojíme podle návodu modem do USB slotu. Osobně jsem ho zapojoval i po "make install" a taky fungoval. Modem lze zapojit i do přídavného USB řadiče na PCI kartě. Linux si poradí i s tím, pokud po instalaci přepojíme modem do jiného USB slotu. Po zapojení modemu zadáme příkaz:

  • make install

Vyčkáme konce instalace, mělo by se objevit asi tohle:


Installation has finished! You should now run eagleconfig to setup your connexion.


Vložíme tedy příkaz:

  • eagleconfig

Objeví se seznam poskytovatelů. Vyberte Hungary, napište tedy:

  • HU01

Použil jsem HU01, přestože je spíše doporučováno NL01. HU totiž používá protokol "pppoe" který potřebujeme. NL01 používá "pppoa" který už od 1.4.2005 neplatí pro nové zákazníky. Vyplňte co nejpečlivěji jméno a heslo nutné k připojení. Tyto věci Vám sdělí poskytovatel a musí být zadány přesně!

Na další dvě otázky doporučuji odpovědět ano (Y a enter). Otázky se ptají, zda má být Vaše jméno šifrováno a zda se má zavést modul do modemu už při startu počítače. Pokud nechcete zbytečně zadávat před každým připojením jeden příkaz navíc, pak volte Y. Jinak byste museli zadávat příkaz k zavedení firmware do modemu:

  • eaglectrl -d.

Modem zavede modul a výpis by měl vypadat takto:

-----------------------------------------------------
Loading module...                      [ OK ]

Loading DSP & options...               [ OK ]

Waiting for modem to be operational... [ OK ]


Configuration successful.

You can now type "startadsl" to launch the connection.
------------------------------------------------------

Tím je instalace hotova a složku "eagle-usb" ze které jsme instalovali, smažeme. Složka už totiž není použitelná a znovu se z ní instalovat nedá.


3. Oprava chybných údajů[editovat | editovat zdroj]

V seznamu poskytovatelů sice je i Český Telecom, ale údaje jsou zastaralé. Pro zákazníky, kteří si zřídili ADSL po 1.4.2005 (nezávisle na datu zřízení telefonní přípojky) platí úplně jiný protokol, proto jsme zvolili "HU01". Nyní je třeba poupravit údaje. Konfigurační soubory jsou chráněné, proto použijeme konzoli, režim superuživatele a textový editor vi. Konzoli doporučuji maximalizovat. Editor vi má netypické ovládání. Najedete na znak kurzorem, zmáčknete "DEL" pro smazání hodnoty a zmáčknete klávesu, která smazaný znak nahradí.

a) zadáme tedy v konzoli:

  • su -
  • heslo

tím se přihlásíme jako superuživatel a zadáme příkaz:

  • vi /etc/eagle-usb/eagle-usb.conf

nebo ten samý příkaz na dva řádky:

  • cd /etc/eagle-usb/
  • vi eagle-usb.conf

Zmáčkneme:

  • E jako edit,
  • I jako insert a můžeme měnit.

Najedeme kurzorem na údaje VPI a CPI, ty musí po úpravě vypadat takto:

  • VPI=00000008
  • VCI=00000030

Čísla 1 a 20 změníme na 8 a 30. Číslo "VCI" by teoreticky mělo být "48", jak Vám sdělí na infolince Telecomu, ale v "eagle-usb.conf" je jasně napsáno "specified in hexadecimal", tedy že se čísla mají vkládat v šestnáctkové soustavě. Osm je osm i v hexa, ale z čísla 48 je třicet. Zmáčkneme ESC pro ukončení insert (vkládacího) módu a uložíme výsledek příkazem:

  • :wq

musí to být i s tou dvojtečkou.

b) Nyní upravíme soubor /etc/resolv.conf. Vložíme tam IP adresy jmenných serverů, v našem případě Českého Telecomu. Napíšeme v konzoli příkaz:

  • vi /etc/resolv.conf

nebo na dva řádky:

  • cd /etc/
  • vi resolv.conf

Zjistíme, že je prázdný. Zadáme příkazy "E" jako edit, "I" jako insert a vložíme přes schránku řádky:

  • nameserver 194.228.2.1
  • nameserver 194.228.41.113

Zmáčkneme "ESC" pro ukončení insert módu a uložíme výsledek příkazem:

  • :wq

Restartujeme počítač. Dokud jsem nerestartoval, modem nejel.

c)otevřeme konzoli,

  • su -
  • heslo

Nyní vložíme do konzole příkaz:

  • startadsl

A za pár sekund jsme na internetu. Zadáme příkaz:

  • eaglediag

Měl by vypsat toto:

--------------------------------------------------------
  1. module loaded ? [ OK ]
  2. modem operational ? [ OK ]
  3. Config vpi/vci/encapsulation/isp : 8 30 1 (pppoe) HU01
  4. pppd launched ? [ OK ]
  5. Service for connection [ OK ]
  6. ping IP ? [ OK ]

HOTOVO

4.Návod pro zkušené.[editovat | editovat zdroj]

  • Instalovat:
  • Kernel-source
  • Make
  • GCC
  • Vše co obsahuje USB
  • Vše co obsahuje ppp
  • Do Open SUSE 10 stáhnout a doinstalovat:
  • hotplug
  • rp-pppoe
  • Stáhnout eagle-usb-1.9.9.1.tar.bz2
  • tar xvjf eagle-usb-1.9.9.1.tar.bz2
  • PATH=$PATH:/usr/local/sbin
  • ./configure
  • make
  • Zapojit modem.
  • make install
  • eagleconfig
  • HU01
  • jméno
  • heslo
  • Y ENTER
  • Y ENTER
  • Upravit soubor /etc/eagle-usb/eagle-usb.conf
  • Vložit do něj:
  • VPI=00000008
  • VCI=00000030
  • Upravit soubor /etc/resolv.conf
  • Vložit do něj:
  • nameserver 194.228.2.1
  • nameserver 194.228.41.113
  • Restart počítače.
  • startadsl

Tento článek byl napsán v Linux Open SUSE 10.0, připojení přes modem Sagem F@st 840 USB. Jo Do 19:18, 4. 2. 2006 (UTC)

5.Dodatek. Automatické připojení modemu.[editovat | editovat zdroj]

Pokud nastavíme při konfiguraci automatické připojení při startu počítače, vytvoří se při instalaci soubor eagle-usb v adresáři /etc/init.d. Ten ve své sekci start obsahuje co se děje při startu modemu a v sekci stop naopak co se děje, když má být odpojen. Bohužel v tomto skriptu je pouze volání fctStartAdsl pro start ADSL a nikoliv eaglectrl pro download firmware. Pomůže nám proto tato změna.

Vložíme eaglectrl -w do startovacího skriptu /etc/init.d/eagle-usb

       start)
               $CMDECHO $START_SERVICE_MSG
               mkdir -p `dirname $SYSCONF_FILE`
               touch $SYSCONF_FILE
               eaglectrl -w
               if [ $ASYNCHRONOUS_START -eq 0 ] ; then
                       if fctStartAdsl ; then
                               echo_success
                       else
                               echo_failure
                       fi
               else
                       fctStartAdsl &
                       echo_success
                       #if fctStartAdsl ; then
                       #       echo_success
                       #else
                       #       echo_failure
                       #fi &
               fi
               echo
               #$CMDECHO
               ;;
       stop)

Parametr -w na rozdíl od -d pozdrží návrat ze skriptu, až je dosažena synchronizace s modemem. Uvedený postup funguje na 95%, Stalo se mi několikrát po přímém zapnutí počítače, že se modem nepřipojil. Přisuzuji to tomu, že modem nestihl provést vnitřní hardwarovou kontrolu před vykonáním příkazu eaglectrl a zkusím testovat sleep před ním

Poslední úpravy: IP adresa na www.free.fr používána jako referenční v /usr/sbin/eaglediag skriptu již není zapojena. Ve výpisu dostaneme vždy KO. Uzel www.free.fr změnil lokaci. Změňte ji proto na jinou funkční. Např. na 194.228.41.113 (DNS telecomu). Adresa je uvedena přímo ve skriptu /usr/sbin/eaglediag.

Poznámka napsána v Linux Open SUSE 10.0, připojení přes modem Sagem F@st 840 USB.