# Küsimused ja vastused

&reporting.bugs;

## Küsimused helistamise kohta

&kppp; ei hakka kuidagi tööle. &kppp; ütleb, et pppd suri ära või et aeg sai otsa. Mida see tähendab?

Lugesid ikka hoolikalt käsiraamatut? Aga vaatame veel kord üle kõige sagedasemad põhjused:

- Klõpsa nupul Üksikasjad. &kppp; näitab väljavõtteid PPP logiteadetest (see ei pruugi toimida mitte-&Linux; süsteemides ega isegi mitte mõne &Linux; distributsiooni korral). Logi põhjal peaks olema võimalik viga üles leida.

- Kontrolli, et pppd on tõesti pppd binaarfail, mitte skript

- Kontrolli, et pppd on setuid root. Selle saab seada käsuga ``chmod` `u+s pppd``, kui oled administraatori (root).

- Kontrolli, et fail `/etc/ppp/options` on olemas ja et selles ei ole konfliktseid kirjeid. Kui milleski kahtled, jäta see fail tühjaks.

- Kontrolli, et sa ei kasuta võtit `lock` pppd argumendina (seadme lukustamise eest kannab hoolt &kppp; ise).

- Eemalda võti `lock` nii failist `/etc/ppp/options` kui failist `˜/.ppprc`!

- Nimeviida `/dev/modem` kasutamine võib põhjustada konflikte. Kõrvalda see potentsiaalne probleemide allikas reaalset seadet kasutades, &ie; `/dev/cuaX` või `/dev/ttySX`.

  COM1 võrdub `ttyS0`, COM2 `ttyS1` ja nii edasi.

- Kontrolli õigusi. Kui midagi on valesti, proovi esmalt käivitada administraatorina ja kui kõik korralikult töötab, anna ohutumad õigused, kui sa tunned, et &kppp; töötamine setuid root ei ole päris õige (nagu ei olegi!). Väga kohane viis selleks on luua grupp modem.

- Vahest käivitasid pppd liiga vara, &ie; enne kui kaugserver oli valmis pidama läbirääkimisi PPP ühenduse rajamise üle. Kui kasutad sisselogimisskripti, võiksid sisseehitatud terminali abil kontrollida oma sisselogimisprotseduuri. Mõned teenusepakkujad nõuavad tavalise käsu `Send` või `Send ppp` saatmist PPP alustamiseks. Mõned kasutajad on aga teatanud, et nad on pidanud isegi skriptile lisama `Pause 1` või `Pause 2`, et lahendada ajastuskonflikti.

Kui miski ei paista aitavat, võid oma süsteemilogist saada mõningat silumisinfot käsuga:

    # tail /var/log/messages

pppd suri - kaugsüsteemilt soovitakse enda autentimist...

Tüüpiline veateade süsteemilogis:

    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.)

Minu arvates võib sellel olla kaks põhjust:

- `/etc/ppp/options` sisaldab võtit `auth`. Pane selle ette kommentaarimärk # ja proovi uuesti.

- Süsteemil on juba vaikemarsruut. Kas oled kohtvõrgu seadistanud? Sellisel juhul käituvad pppd uuemad versioonid nii, nagu oleks määratud `auth`. Sellest ülesaamiseks võid lisada kppp seadistustedialoogis pppd argumentidesse `noauth`. Teine võimalus on kohtvõrk sissehelistamiseks välja lülitada. Ma oleksin tänulik, kui keegi suudaks pakkuda välja lahenduse, kuidas need kaks võrguühendust rahumeelselt koos toimida võiksid.

pppd sureb Linuxi kerneliga 2.4.x

Tüüpilised veateated süsteemilogis:

    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.

Paigalda pppd 2.4.0b1 või uuem. Rohkem infot annab kerneliga kaasasolev fail `Documentation/Changes`.

Miks &kppp; teatab Modemi "avamine" ebaõnnestus?

See tähendab, et &kppp;-l puuduvad õigused avada modemi seadet või et oled dialoogi kaardil Modem valinud vale seadme. Kõigepealt kontrolli, et valitud oleks õige modemi seade. Kui oled kindel, et see on õige, pead andma &kppp;-le õiguse modemi seadmele ligi pääseda ning muuta faili `/etc/resolv.conf`, kui soovid, et &kppp; seadistaks DNS korrektselt. Kui julged lasta &kppp;-l töötada setuid root, peaks ligipääsuprobleemid olema lahendatud, kui sa ei suuda hästi aru saada, millised õigused parajasti peaksid kehtima. &kppp;-le setuid root õiguste andmiseks:

    % su root
    # chown root:root &dollar;KDEDIR/bin/kppp
    # chmod +s &dollar;KDEDIR/bin/kppp
    # exit

Miks &kppp; teatab, et ei suuda luua modemi lukustusfaili?

Enamasti tähendab see, et &kppp; on paigaldatud ilma setuid bitita ning sinul ehk isikul, kes &kppp; käivitab, ei ole ligipääsuõigust lukustusfaili kataloogile, mis vaikimisi on `/var/lock`. Nii on see näiteks &RedHat; süsteemides. Kontrolli modemidialoogi. Lahendus on lihtne: käivita &kppp; setuid, kui saad seda lubada, anna tavakasutajatele kirjutusõigus kataloogi `/var/lock` või loo modemigrupp, millel on ligipääsuõigus kataloogile `/var/lock`.

Miks &kppp; on paigaldatud setuid bitiga?

Kui sa veidigi tunned &UNIX; süsteemide haldamist, siis tead, et setuid bitti ei ole tegelikult väga vajagi. Loo lihtsalt grupp modem, lisa sellesse kõik kasutajad, kellel peaks olema õigus modemit kasutada, ning muuda modemi seade sellele grupile loetavaks/kirjutatavaks. Kui soovid, et DNS seadistused &kppp;-s töötaksid, peab ka fail `/etc/resolv.conf` olema sellele grupile loetav/kirjutatav. Sama kehtib failide `/etc/ppp/pap-secrets` ja `/etc/ppp/chap-secrets` kohta, kui soovid kasutada sisseehitatud PAP-i või CHAP-i toetust.

&kppp; meeskond on viimasel ajal näinud palju vaeva muutmaks &kppp; setuid-turvaliseks. Aga see, kuidas paigaldada, on siiski sinu enda otsustada.

Tasuks tutvuda ka osaga Turvalisus.

Mida ette võtta, kui &kppp; lihtsalt mitte midagi ei tee ja ees on teade `Expecting OK`?

Oled sa puutunud CR/LF seadistusi? Proovi variante CR, LF või CR/LF.

Teine võimalus on see, et sinu modem vajab veidi aega initsialiseerimisele reageerimiseks. Ava kaardil Modem dialoog Modemi käsud ning muuda väärtusi Viivitus enne Init'it ja Viivitus pärast Init'it. Vaata, kas nende märgatav suurendamine annab tulemusi, ning vajaduse korral muuda neid veel.

Ühendusega on kõik korras, aga ühtegi rakendust ei saa käivitada!

Tõenäoliselt oled sisse lülitanud võimaluse Masina nimi seatakse IP aadressile vastavaks ja X serveril on tekkinud probleemid selle uue nimega masinaga suhtlemisel. Kui sul seda võimalust tõesti peaks vaja minema (tõenäoliselt aga ei lähe), tuleb sul paraku omal käel vajalik autentimine ette võtta. Enne ühenduse loomist antud käsk ``xhost` `+`` peaks probleemi lahendama, kuid arvesta, et see tähendab olulist turvariski, sest nii saab sisuliselt igaüks ligipääsu sinu X serverile.

&kppp; teatab ühenduse edukast loomisest, kuid &konqueror; ütleb Tundmatu server serveri_nimi ja &Netscape; Serveril puudub DNS kirje.

Proovi mõnda serverit pingida selle IP numbri järgi, &eg; ``ping` `195.0.254.76``. Kui see on edukas, siis edasi:

- Kontrolli, kas oled andnud &kppp;-le vähemalt ühe DNS aadressi.

- Kontrolli faili `/etc/host.conf` sisu. Seal peaks olema umbes selline rida: `order hosts, bind`. Võtmesõna `bind` soovitab lahendusteegil esitada aadressi otsingu päring nimeserverile. Kui sellist rida ei ole, lisa see.

Kuidas panna &kppp; saatma \n või \r?

Saada lihtsalt tühi string, nagu järgnevas skriptis:

    Send                            # saadab tühja stringi
    Expect           ID:
    Send             itsme
    Expect           word:
    Send             forgot
    Expect           granted
    Send             ppp

Mida ette võtta, et &kppp; ei kurdaks enam: Lukustusfaili pole võimalik luua?

See juhtub siis, kui sul ei ole õigusi luua lukustusfaili. Kui otsustad lukustusfaili kasutada, peab sul olema selle kataloogis (tavaliselt `/var/lock`) kirjutusõigus. See ei ole mõistagi probleem, kui oled andnud &kppp;-le setuid õigused. Palun tutvu osaga Lukustusfailid.

Miks minu modem valimisel nii kõva lärmi teeb?

Klõpsa nupul Seadista ja vali kaart Modem. Modemi helitugevuse väärtusi on kolm: väljas, keskmine ja vali. Enamikul modemitel on keskmine ja vali tegelikult ühesugused. Kui selle muutmine tulemusi ei anna, kontrolli, et modemile on määratud korrektsed seadistused dialoogis Seadista, Modem, Modemi käsud.

Keerasin modemi heli välja ja kontrollisin ka modemi käske, aga valimisel kostab ikka hirmus müra. Miks?

Helitugevuse initsialiseerimisstring võib kaotsi minna, kui modem ei suuda sammu pidada kiirusega, millega &kppp; talle korraldusi jagab. Suurenda dialoogis Seadista, Modem, Modemi käsud Viivitus pärast Init'it väärtust.

&kppp; teatab jätkuvalt ebatavalisest modemi kiirusest, näiteks 115200 või 57600?

Paljud modemid annavad vaikimisi teada vaid jadaliini, mitte aga telefoniliini kiiruse. Neid modemeid saab panna liini tegelikku kiirust teatama teatud käskude lisamisega modemi initsialiseerimis- või valimisstringi. Paljude modemite puhul on selliseks käsuks `ATW2`. Kui soovid selle lisada valimisstringi (mis tavaliselt algab käsuga `ATD`), peaks uus valimisstring olema `ATW2D`.

Miks teatab &kppp;: Tundmatu kiirus?

Uuematel modemitel on sageli väga keerulised ühendusteated, näiteks `CONNECT LAP.M/V42.bis/115000:RX/31200:TX`, ning &kppp; ei suuda sellist teadet korrektselt analüüsida. Lülita sisse võimalus Logiakna näitamine ja näedki ühenduse kiirust.

Minu ühendus on aeglane

Kui modemi kiirus sind ei rahulda, kontrolli, et ühenduse kiirus (võimalus Seadista, Seade, Ühenduse kiirus) oleks 57600 või suurem. Samuti kontrolli, kas jadaport toetab suuremat kiirust. Paljud vanemad i486 süsteemid ei tööta korralikult, kui kiiruseks on määratud 115200. Kui sul on vana 8250 UART kiip, siis kohe kindlasti mitte. Kui sul on aga 16550 või 16550A, peaks see kiirus küll valutult kätte tulema.

Lisaks sellele võiks uurida modemi käsiraamatut ja vaadata, kas seal on juttu initsialiseerimisstringist, mis tagab suure kiiruse.

Minu ühenduse kiirus on VÄGA-VÄGA aeglane!

Kui andmeid pudeneb vaid paar baiti sekundis, tuleks üle kontrollida riistvara. Kui näiteks hiire liigutamine suurendab andmete liigutamise kiirust, on kohe kindlasti tegemist riistvara probleemiga!

Mõningat infot jadapordi kohta leiab käsuga ``setserial` `-a /dev/ttySx``. Kontrollida tasub katkestuste võimalikku konflikti süsteemi muude komponentidega. &kcontrol;e moodul Info võib samuti teatud abi anda.

Minu telefoniliin nõuab pulss-, mitte toonvalimist (või vastupidi). Kuidas seda muuta?

Tuleb muuta modemi valimisstringi. Peaaegu kõik modemid toetavad järgmisi AT käske:

`ATDT`

  Määrab toonvalimise

`ATDP`

  Määrab pulssvalimise

## Küsimused telefonikõnede maksumuse arvestamise kohta

Kuidas kirjutada telefonikõnede maksumuse arvestamise reeglifail?

Järgi &kppp;-ga kaasa pandud reeglifaili `TEMPLATE` eeskuju. See peaks asuma kataloogis `$KDEDIR/doc/HTMLsinu_keel/kppp`. &kppp; võtmega `-r` saab kontrollida loodud reeglifaili süntaksi korrektsust.

Kirjutasin oma piirkonna telefonikõnede maksumuse reeglid. Kuhu tuleks fail saata, et ka teised seda kasutada saaks?

Kas telefonikõnede reeglifailis võivad esineda ka murrulised ajaühikud, näiteks "(0.17, 45.5)"?

Jah, võivad küll. Kuid üldiselt ei tasuks kasutada ebatavaliselt pisikesi ajaühikuid, mis jäävad alla kümnendiksekundi, sest see suurendab CPU koormust - kuigi uuema CPU puhul seda nüüd vaevalt tähele paneb.

Minu maal on teisigi liikuvaid pühi lisaks lihavõtetele

Sellisel juhul tuleb kirjutada uus kood, mis võimaldab antud püha välja arvutada. Vaata eeskujuks `ruleset.cpp` ja jäljenda lihavõtete (easter) eeskuju. Seejärel saada uuendused ka mulle!

## Küsimused logifailide kohta

Näen teadet Serial line is looped back. Mida see veel tähendab?

Lühike vastus: sa ei ole käivitanud PPP tarkvara partnersüsteemis.

Logis seisab Signal 15

Kui näed järgnevaid ridu, oled ilmselt saanud &kppp;-lt aegumisteate. &kppp; ootas PPP liidese ilmumist ning loobus pärast määratud ajavahemikku. Seejärel sai pppd signaali töö lõpetada ja selle signaali numbriks oligi 15, &ie; 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.

Aga mida tähendab Receive serial link is not 8-bit clean?

PPP deemon sattus ärevusse sellest, et kõigil saadud andmetel oli biti 8 väärtuseks null. Enamasti tähendab see, et PPP kaugserver veel ei tööta. Sul võib siiski veel ees seista sisselogimisviip, mis kajastab kõiki andmeid, mida saatis pppd.

Ja mis on can't locate module ppp-compress?

Kas näed järgmisi teateid?

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

Lisa nüüd read:

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

failile `/etc/conf.modules`.