# Pitanja i odgovori

&reporting.bugs;

## Pitanja o pozivanju

Ne mogu da nateram KPPP da radi. Stalno mi govori da se `pppd` srušio ili da je isteklo prekovreme. Šta se događa?

Da li ste pažljivo pročitali ovo uputstvo? Evo još jednom najčešćih problema:

- Kliknite na dugme Detalji da bi vam KPPP ispostavio izvod iz dnevničkih poruka PPP‑a (možda neće raditi na sistemima koji nisu Linux, pa čak ni na nekim distribucijama Linuxa). Dnevnik će pomoći da otkrijete grešku.

- Uverite se da je `pppd` zaista izvršni fajl, a ne skripta.

- Uverite se da `pppd` radi sa korenim sUID‑om. Ovaj režim možete postaviti izvršavanjem ``chmod` u+s /putanja/do/pppd` pod korenim nalogom.

- Uverite se da postoji fajl `/etc/ppp/options` i da ne sadrži sukobljene stavke. Ako niste sigurni, ostavite ovaj fajl praznim.

- Uverite se da nije zadata opcija `lock` kao argument za `pppd` (KPPP se sam stara o zaključavanju uređaja).

- Uklonite opciju `lock` iz oba moguća fajla, i `/etc/ppp/options` i `~/.ppprc`.

- Korišćenje simboličke veze `/dev/modem` može dovesti do nekih sukoba. Eliminišite ovaj izvor nevolja zadavanjem stvarnog uređaja, tj. `/dev/cuaX` ili `/dev/ttySX`.

  COM 1 jednako je `ttyS0`, COM 2 je `ttyS1`, itd.

- Uverite se da ste postavili odgovarajuće dozvole. U slučaju problema možete pokušati sa izvršavanjem KPPP‑a pod korenom, pa kad sve lepo proradi da postavite manje opasne dozvole, ako već ne možete da priuštite izvršavanje pod korenim sUID‑om. Verovatno bi najbolje bilo da napravite grupu modem.

- Možda se `pppd` prerano pokreće, pre nego što je udaljeni server spreman da pregovara o PPP vezi. Ako koristite prijavnu skriptu, upotrebite ugrađeni terminal da overite postupak prijave. Neki provajderi će tražiti da izdate jednostavno `Send` ili `Send ppp` za uspostavljanje PPP‑a. Neki korisnici prijavili su da su morali da dodaju `Pause 1` ili `Pause 2` da bi rešili vremenske sukobe.

Ako ništa ne pomogne, možda možete pronaći nešto ispravljačkih podataka u sistemskom dnevniku, izvršivši:

    # tail /var/log/messages

`pppd` se ruši — od udaljenog sistema se traži da se autentifikuje...

Tipična poruka o grešci u sistemskom dnevniku:

    pppd[699]: The remote system is required to authenticate itself
    pppd[699]: but I couldn't find any suitable secret (password) for it to use to do so.
    pppd[699]: (None of the available passwords would let it use an IP address.)

Koliko sam ja uočio, postoje dva uzroka za ovaj problem:

- `/etc/ppp/options` sadrži opciju `auth`. Jednostavno je zakomentarišite (stavite `#` ispred) i pokušajte ponovo.

- Vaš sistem već ima podrazumevanu rutu. Da li ste uspostavili lokalnu mrežu? U tom slučaju, novije verzije `pppd` ponašaće se kao da je zadata opcija `auth`. Ovo možete potisnuti tako što dodate opciju `noauth` u argumente za `pppd` u dijalogu za podešavanje KPPP‑a. Alternativno, možete se otkačiti sa lokalne mreže pre pozivanja. Bio bih zahvalan ako bi neko mogao da priloži instrukcije za skladno kombinovanje dve mrežne veze.

`pppd` se ruši pod Linuxom 2.4.x

Tipična poruka o grešci u sistemskom dnevniku:

    pppd[1182]: pppd 2.3.11 started by user, uid 500
    pppd[1182]: ioctl(PPPIOCGFLAGS): Invalid argument
    pppd[1182]: tcsetattr: Invalid argument
    pppd[1182]: Exit.

Instalirajte `pppd` 2.4.0b1 ili noviji. Za više informacija pogledajte `Documentation/Changes` u izvoru jezgra.

Zašto mi KPPP kaže Ne mogu da otvorim modem.?

Ovo znači da KPPP nema dozvole da otvori modemski uređaj, ili da ste izabrali loš modemski uređaj u dijalogu pod jezičkom Modem. Prvo proverite da li ste izabrali pravi modemski uređaj. Pošto se uverite u to, morate KPPP‑u dati potrebne dozvole za pristup modemskom uređaju, kao i da može da menja `/etc/resolv.conf` ako da želite da pravilno podešava DNS za vas. Ako možete da priuštite izvršavanje pod korenim sUID‑om, to će rešiti sve probleme pristupa, a ako ne možete, moraćete da pronađete odgovarajuće dozvole za svoje potrebe. KPPP‑u dajete koreni sUID izvršavanjem sledećeg:

    % su root
    # chown root:root $KDEDIR/bin/kppp
    # chmod +s $KDEDIR/bin/kppp
    # exit

Zašto mi KPPP kaže da ne može da stvori zabravni fajl modema?

Ovo u većini slučajeva znači da ste instalirali KPPP bez postavljenog sUID bita, a vaš korisnički nalog nema dozvolu za pisanje u fasciklu zabravnog fajla. Podrazumevano to je često `/var/lock` (na primer, na RedHatovim sistemima). Proverite tačnu lokaciju u dijalogu modema. Rešenje je jednostavno — ili postavite da se KPPP pokreće sa korenim sUID‑om, ili dajte običnim korisnicima pristup za pisanje u `/var/lock`, ili napravite grupu modem koja će imati pristup u `/var/lock`.

Zašto je KPPP instaliran bez sUID bita?

SUID bit nije potreban ako se malo razumete u administraciju Unix sistema. Jednostavno napravite grupu modem, dodajte sve korisnike koji treba da pristupaju modemu u tu grupu, i postavite da ta grupa može da čita i piše u modemski uređaj. Takođe, ako želite da postava DNS‑a radi sa KPPP‑om, `/etc/resolv.conf` mora biti čitljiv i upisiv za članove grupe modem. Isto važi za `/etc/ppp/pap-secrets` i `/etc/ppp/chap-secrets` ako želite da koristite ugrađenu podršku za PAP i CHAP.

Tim KPPP‑a je u poslednje vreme poradio na tome da učini KPPP bezbednim za sUID. Ipak, na vama je da odlučite na koji način ćete instalirati KPPP.

Mogli biste da pročitate i sekciju o bezbednosti.

Šta da radim kad KPPP samo stoji i čeka, s porukom `Očekujem OK`?

Jeste li isprobali postavku CR/LF? Pokušajte sa CR, LF ili CR/LF.

Alternativno, možda modemu treba neko vreme da odgovori na uspostavljanje. Otvorite dijalog naredbi modema pod jezičkom Modem i podesite pauze Pauza pred pripremanje (stotinki): i Pauza po pripremanju (stotinki):. Pogledajte ima li efekta ako znatno smanjite njihove vrednosti, pa ako ima, potom ih fino naštelujte.

Veza fino radi, ali ne mogu da pokrenem nijedan program!

Verovatno ste izabrali opciju Automatski podesi ime domaćina sa ovog IP‑a i X server ima problema da se poveže na novoimenovani domaćin. Ako vam zaista treba ova opcija (verovatno je da vam zapravo ne treba), nažalost prepušteni ste sami sebi da postavite odgovarajuća ovlašćenja. Jednog grubo rešenje je da izvršite ``xhost` `+`` pre uspostavljanja veze, ali vas upozoravamo na bezbednosne rizike — ovim svakome dajete pristup vašem X serveru.

KPPP prijavljuje uspešno povezivanje, ali K‑osvajač kaže samo Nepoznat domaćin, dok Netscapeov Navigator prijavljuje The server does not have a DNS entry.

Pokušajte da pingujete neki server po njegovoj IP adresi, npr. ``ping` `195.0.254.76``. Ako ovo radi, možete pokušati sledeće:

- Proverite da li ste dali KPPP‑u bar jednu DNS adresu.

- Proverite sadržaj `/etc/host.conf`. Treba da postoji red koji glasi nešto poput `order hosts, bind`. Ključna reč `bind` savetuje biblioteci razrešivača da uključi upit servera imena kad traži adresu. Ako nema takvog reda, pokušajte da ga dodate.

Kako da kažem KPPP‑u da pošalje \n ili \r?

Jednostavno pošaljite praznu nisku, kao u sledećoj skripti:

    Send                            # pošalji praznu nisku
    Expect           ID:
    Send             itsme
    Expect           word:
    Send             forgot
    Expect           granted
    Send             ppp

Kako da sprečim KPPP da se žali da ne može da stvori zabravni fajl?

Do ovoga dolazi zato što nemate dozvole za stvaranje zabravnog fajla. Ako ste izabrali korišćenje zabravnog fajla, morate imati dozvolu upisa u fasciklu `/var/lock` (tipično). Ovo naravno nije problem ako ste dali KPPP‑u sUID dozvole. Pročitate sekciju o zabravnim fajlovima.

Zašto je modem tako bučan pri pozivanju?

Kliknite na Podesi..., zatim na Modem. Ovde možete upravljati glasnošću modema, u tri koraka: isključeno, srednje i najjače. Kod većine modema srednje i najjače su jedno te isto. Ako izmena ove postavke ne radi, proverite da li ste dobro zadali postavke pod Podesi..., Modem, Naredbe modema....

Postavio sam glasnost modema na isključeno i proverio naredbe modema, ali još uvek imam nesnosnu buku tokom pozivanja. Zašto?

Pripremna niska za glasnost može da se izgubi ako modem ne može da se izbori sa brzinom kojom mu KPPP šalje naredbe. Povećajte vrednost Pauza po pripremanju (stotinki): pod Podesi..., Modem, Naredbe modema....

KPPP stalno prijavljuje neobične brzine modema, poput 115200 ili 57600.

Mnogi modemi podrazumevanu prijavljuju samo brzinu serijske linije, a ne brzinu preko telefonske veze. Ovakve modeme morate podesiti da prijavljuju stvarnu brzinu veze dodavanjem nekih naredbi u niske za uspostavljanje ili pozivanje. Za mnoge modeme ova naredba je `ATW2`. Ako želite da je dodate u nisku za pozivanje, koja obično počinje sa `ATD`, nova niska bi glasila `ATW2D`.

Zašto KPPP prijavljuje da je brzina nepoznata?

Novi modemi često imaju veoma složene poruke povezivanja, poput `CONNECT LAP.M/V42.bis/115000:RX/31200:TX`, što KPPP ne može pravilno da raščlani. Uključite Dnevnik povezivanja i videćete brzinu veze.

Dobijam sporu brzinu veze.

Ako niste zadovoljni brzinom modema, postavite brzinu veze (do koje dolazite klikom na Podesi..., Uređaj, Brzina veze:) na 57600 ili veću. Proverite da li serijski portovi podržavaju veće brzine. Mnogi stariji sistemi zasnovani na Intelu 486 ne rade ispravno ako postavite brzinu na 115200. Ako imate stari UART čip 8250, neće raditi. 16550 i 16550A bi trebalo da rade bez problema.

Dodatno, možete u uputstvu modema potražiti uspostavne niske koje aktiviraju režim visoke brzine.

Veza mi je stvarno spora!

Ako podaci kaplju protokom od samo nekoliko bajtova u sekundi, proverite hardverski sklop. Ako pomeranje miša ubrzava prenos, zasigurno je do hardvera!

Nešto podataka o serijskom portu možete dobiti izvršavanjem ``setserial` `-a /dev/ttySx`` i proveriti sukobe u prekidima s drugim komponentama sistema.

Moja telefonska linija traži pulsno umesto tonskog biranja (ili obratno). Kako ovo da izmenim?

Morate izmeniti nisku za pozivanje u modemu. Skoro svi modemi podržavaju sledeće AT naredbe:

`ATDT`

  Zadaje tonsko biranje.

`ATDP`

  Zadaje pulsno biranje.

## Pitanja o pravilima telefonskih troškova

Kako da napišem fajl pravila telefonskih troškova?

Samo sledite fajl pravila `TEMPLATE`, koji dolazi uz KPPP. Trebalo bi da možete da nađete primerak u `$KDEDIR/doc/HTML/vaš‑jezik/kppp/`. Upotrebite opciju komandne linije `-r` uz `kppp` da proverite sintaksu fajla pravila koji sastavite.

Napisao sam fajl pravila telefonskih troškova za moju regiju. Gde mogu da ga predam tako da i drugi mogu da ga koriste?

Može li fajl pravila telefonskih troškova da sadrži decimalne jedinice vremena poput „(0.17, 45.5)“?

Da, može. Ali ne bi trebalo da koristite premale jedinice vremena, ispod desetinke, jer će to povećati opterećenje procesora (mada se verovatno neće osetiti na novijim procesorima).

Moja država ima neke druge pokretne praznike umesto Uskrsa.

U tom slučaju treba da napišete novi kod koji omogućava računanje tog praznika. Pogledajte `ruleset.cpp` i proučite primer `easter`. Zatim nam pošaljite zakrpu!

## Pitanja o sistemskim dnevnicima

Vidim poruku Serial line is looped back. Šta to znači?

Kratak odgovor: niste pokrenuli PPP softver na parnjačkom sistemu.

Dnevnici prikazuju Signal 15.

Ako vidite sledeće redove, verovatno ste dobili grešku prekovremena od KPPP‑a, koji je čekao da se pojavi PPP sučelje i odustao posle isteka vremena. `pppd` je dobio signal 15 (gašenje), tj. SIGTERM.

    pppd[26921]: pppd 2.3.5 started by me, uid 500
    pppd[26921]: Using interface ppp0
    pppd[26921]: Connect: ppp0 <--> /dev/ttyS0
    pppd[26921]: Terminating on signal 15.
    pppd[26921]: Connection terminated.
    pppd[26921]: Exit.

A greška Receive serial link is not 8-bit clean?

PPP demon se buni zato što svi podaci koje prima imaju bit 8 postavljen na nulu. U većini slučajeva ovo prosto znači da udaljeni PPP server još uvek nije u pogonu. Možda ste i dalje suočeni sa prijavnim odzivnikom koji reflektuje sve podatke koji mu `pppd` šalje.

A šta znači can't locate module ppp-compress?

Ako vidite sledeće poruke:

    modprobe: can't locate module ppp-compress-21
    modprobe: can't locate module ppp-compress-26
    modprobe: can't locate module ppp-compress-24

samo dodajte redove:

    alias ppp-compress-21 bsd_comp
    alias ppp-compress-24 ppp_deflate
    alias ppp-compress-26 ppp_deflate

u fajl `/etc/conf.modules`.