# Питања и одговори

&reporting.bugs;

## Питања о позивању

Не могу да натерам КППП да ради. Стално ми говори да се `pppd` срушио или да је истекло прековреме. Шта се догађа?

Да ли сте пажљиво прочитали ово упутство? Ево још једном најчешћих проблема:

- Кликните на дугме Детаљи да би вам КППП испоставио извод из дневничких порука ППП‑а (можда неће радити на системима који нису Линукс, па чак ни на неким дистрибуцијама Линукса). Дневник ће помоћи да откријете грешку.

- Уверите се да је `pppd` заиста извршни фајл, а не скрипта.

- Уверите се да `pppd` ради са кореним сУИД‑ом. Овај режим можете поставити извршавањем ``chmod` u+s /putanja/do/pppd` под кореним налогом.

- Уверите се да постоји фајл `/etc/ppp/options` и да не садржи сукобљене ставке. Ако нисте сигурни, оставите овај фајл празним.

- Уверите се да није задата опција `lock` као аргумент за `pppd` (КППП се сам стара о закључавању уређаја).

- Уклоните опцију `lock` из оба могућа фајла, и `/etc/ppp/options` и `~/.ppprc`.

- Коришћење симболичке везе `/dev/modem` може довести до неких сукоба. Елиминишите овај извор невоља задавањем стварног уређаја, тј. `/dev/cuaX` или `/dev/ttySX`.

  КОМ 1 једнако је `ttyS0`, КОМ 2 је `ttyS1`, итд.

- Уверите се да сте поставили одговарајуће дозволе. У случају проблема можете покушати са извршавањем КППП‑а под кореном, па кад све лепо проради да поставите мање опасне дозволе, ако већ не можете да приуштите извршавање под кореним сУИД‑ом. Вероватно би најбоље било да направите групу `modem`.

- Можда се `pppd` прерано покреће, пре него што је удаљени сервер спреман да преговара о ППП вези. Ако користите пријавну скрипту, употребите уграђени терминал да оверите поступак пријаве. Неки провајдери ће тражити да издате једноставно `Send` или `Send ppp` за успостављање ППП‑а. Неки корисници пријавили су да су морали да додају `Pause 1` или `Pause 2` да би решили временске сукобе.

Ако ништа не помогне, можда можете пронаћи нешто исправљачких података у системском дневнику, извршивши:

    # tail /var/log/messages

`pppd` се руши — од удаљеног система се тражи да се аутентификује...

Типична порука о грешци у системском дневнику:

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

Колико сам ја уочио, постоје два узрока за овај проблем:

- `/etc/ppp/options` садржи опцију `auth`. Једноставно је закоментаришите (ставите `#` испред) и покушајте поново.

- Ваш систем већ има подразумевану руту. Да ли сте успоставили локалну мрежу? У том случају, новије верзије `pppd` понашаће се као да је задата опција `auth`. Ово можете потиснути тако што додате опцију `noauth` у аргументе за `pppd` у дијалогу за подешавање КППП‑а. Алтернативно, можете се откачити са локалне мреже пре позивања. Био бих захвалан ако би неко могао да приложи инструкције за складно комбиновање две мрежне везе.

`pppd` се руши под Линуксом 2.4.x

Типична порука о грешци у системском дневнику:

    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.

Инсталирајте `pppd` 2.4.0b1 или новији. За више информација погледајте `Documentation/Changes` у извору језгра.

Зашто ми КППП каже Не могу да отворим модем.?

Ово значи да КППП нема дозволе да отвори модемски уређај, или да сте изабрали лош модемски уређај у дијалогу под језичком Модем. Прво проверите да ли сте изабрали прави модемски уређај. Пошто се уверите у то, морате КППП‑у дати потребне дозволе за приступ модемском уређају, као и да може да мења `/etc/resolv.conf` ако да желите да правилно подешава ДНС за вас. Ако можете да приуштите извршавање под кореним сУИД‑ом, то ће решити све проблеме приступа, а ако не можете, мораћете да пронађете одговарајуће дозволе за своје потребе. КППП‑у дајете корени сУИД извршавањем следећег:

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

Зашто ми КППП каже да не може да створи забравни фајл модема?

Ово у већини случајева значи да сте инсталирали КППП без постављеног сУИД бита, а ваш кориснички налог нема дозволу за писање у фасциклу забравног фајла. Подразумевано то је често `/var/lock` (на пример, на Редхетовим системима). Проверите тачну локацију у дијалогу модема. Решење је једноставно — или поставите да се КППП покреће са кореним сУИД‑ом, или дајте обичним корисницима приступ за писање у `/var/lock`, или направите групу `modem` која ће имати приступ у `/var/lock`.

Зашто је КППП инсталиран без сУИД бита?

СУИД бит није потребан ако се мало разумете у администрацију уникс система. Једноставно направите групу `modem`, додајте све кориснике који треба да приступају модему у ту групу, и поставите да та група може да чита и пише у модемски уређај. Такође, ако желите да постава ДНС‑а ради са КППП‑ом, `/etc/resolv.conf` мора бити читљив и уписив за чланове групе `modem`. Исто важи за `/etc/ppp/pap-secrets` и `/etc/ppp/chap-secrets` ако желите да користите уграђену подршку за ПАП и ЦХАП.

Тим КППП‑а је у последње време порадио на томе да учини КППП безбедним за сУИД. Ипак, на вама је да одлучите на који начин ћете инсталирати КППП.

Могли бисте да прочитате и секцију о безбедности.

Шта да радим кад КППП само стоји и чека, с поруком `Очекујем OK`?

Јесте ли испробали поставку CR/LF? Покушајте са CR, LF или CR/LF.

Алтернативно, можда модему треба неко време да одговори на успостављање. Отворите дијалог наредби модема под језичком Модем и подесите паузе Пауза пред припремање (стотинки): и Пауза по припремању (стотинки):. Погледајте има ли ефекта ако знатно смањите њихове вредности, па ако има, потом их фино наштелујте.

Веза фино ради, али не могу да покренем ниједан програм!

Вероватно сте изабрали опцију Аутоматски подеси име домаћина са овог ИП‑а и икс сервер има проблема да се повеже на новоименовани домаћин. Ако вам заиста треба ова опција (вероватно је да вам заправо не треба), нажалост препуштени сте сами себи да поставите одговарајућа овлашћења. Једног грубо решење је да извршите ``xhost` `+`` пре успостављања везе, али вас упозоравамо на безбедносне ризике — овим свакоме дајете приступ вашем икс серверу.

КППП пријављује успешно повезивање, али К‑освајач каже само Непознат домаћин, док Нетскејпов Навигатор пријављује The server does not have a DNS entry.

Покушајте да пингујете неки сервер по његовој ИП адреси, нпр. ``ping` `195.0.254.76``. Ако ово ради, можете покушати следеће:

- Проверите да ли сте дали КППП‑у бар једну ДНС адресу.

- Проверите садржај `/etc/host.conf`. Треба да постоји ред који гласи нешто попут `order hosts, bind`. Кључна реч `bind` саветује библиотеци разрешивача да укључи упит сервера имена кад тражи адресу. Ако нема таквог реда, покушајте да га додате.

Како да кажем КППП‑у да пошаље \n или \r?

Једноставно пошаљите празну ниску, као у следећој скрипти:

    Send                            # пошаљи празну ниску
    Expect           ID:
    Send             itsme
    Expect           word:
    Send             forgot
    Expect           granted
    Send             ppp

Како да спречим КППП да се жали да не може да створи забравни фајл?

До овога долази зато што немате дозволе за стварање забравног фајла. Ако сте изабрали коришћење забравног фајла, морате имати дозволу уписа у фасциклу `/var/lock` (типично). Ово наравно није проблем ако сте дали КППП‑у сУИД дозволе. Прочитате секцију о забравним фајловима.

Зашто је модем тако бучан при позивању?

Кликните на Подеси..., затим на Модем. Овде можете управљати гласношћу модема, у три корака: искључено, средње и најјаче. Код већине модема средње и најјаче су једно те исто. Ако измена ове поставке не ради, проверите да ли сте добро задали поставке под Подеси..., Модем, Наредбе модема....

Поставио сам гласност модема на искључено и проверио наредбе модема, али још увек имам несносну буку током позивања. Зашто?

Припремна ниска за гласност може да се изгуби ако модем не може да се избори са брзином којом му КППП шаље наредбе. Повећајте вредност Пауза по припремању (стотинки): под Подеси..., Модем, Наредбе модема....

КППП стално пријављује необичне брзине модема, попут 115200 или 57600.

Многи модеми подразумевану пријављују само брзину серијске линије, а не брзину преко телефонске везе. Овакве модеме морате подесити да пријављују стварну брзину везе додавањем неких наредби у ниске за успостављање или позивање. За многе модеме ова наредба је `ATW2`. Ако желите да је додате у ниску за позивање, која обично почиње са `ATD`, нова ниска би гласила `ATW2D`.

Зашто КППП пријављује да је брзина непозната?

Нови модеми често имају веома сложене поруке повезивања, попут `CONNECT LAP.M/V42.bis/115000:RX/31200:TX`, што КППП не може правилно да рашчлани. Укључите Дневник повезивања и видећете брзину везе.

Добијам спору брзину везе.

Ако нисте задовољни брзином модема, поставите брзину везе (до које долазите кликом на Подеси..., Уређај, Брзина везе:) на 57600 или већу. Проверите да ли серијски портови подржавају веће брзине. Многи старији системи засновани на Интелу 486 не раде исправно ако поставите брзину на 115200. Ако имате стари УАРТ чип 8250, неће радити. 16550 и 16550A би требало да раде без проблема.

Додатно, можете у упутству модема потражити успоставне ниске које активирају режим високе брзине.

Веза ми је стварно спора!

Ако подаци капљу протоком од само неколико бајтова у секунди, проверите хардверски склоп. Ако померање миша убрзава пренос, засигурно је до хардвера!

Нешто података о серијском порту можете добити извршавањем ``setserial` `-a `/dev/ttySx``` и проверити сукобе у прекидима с другим компонентама система.

Моја телефонска линија тражи пулсно уместо тонског бирања (или обратно). Како ово да изменим?

Морате изменити ниску за позивање у модему. Скоро сви модеми подржавају следеће АТ наредбе:

`ATDT`

- Задаје тонско бирање.

`ATDP`

- Задаје пулсно бирање.

## Питања о правилима телефонских трошкова

Како да напишем фајл правила телефонских трошкова?

Само следите фајл правила `TEMPLATE`, који долази уз КППП. Требало би да можете да нађете примерак у `$KDEDIR/doc/HTML/`ваш‑језик`/kppp/`. Употребите опцију командне линије `-r` уз `kppp` да проверите синтаксу фајла правила који саставите.

Написао сам фајл правила телефонских трошкова за моју регију. Где могу да га предам тако да и други могу да га користе?

Може ли фајл правила телефонских трошкова да садржи децималне јединице времена попут „(0.17, 45.5)“?

Да, може. Али не би требало да користите премале јединице времена, испод десетинке, јер ће то повећати оптерећење процесора (мада се вероватно неће осетити на новијим процесорима).

Моја држава има неке друге покретне празнике уместо Ускрса.

У том случају треба да напишете нови код који омогућава рачунање тог празника. Погледајте `ruleset.cpp` и проучите пример `easter`. Затим нам пошаљите закрпу!

## Питања о системским дневницима

Видим поруку Serial line is looped back. Шта то значи?

Кратак одговор: нисте покренули ППП софтвер на парњачком систему.

Дневници приказују Signal 15.

Ако видите следеће редове, вероватно сте добили грешку прековремена од КППП‑а, који је чекао да се појави ППП сучеље и одустао после истека времена. `pppd` је добио сигнал 15 (гашење), тј. СИГТЕРМ.

    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.

А грешка Receive serial link is not 8-bit clean?

ППП демон се буни зато што сви подаци које прима имају бит 8 постављен на нулу. У већини случајева ово просто значи да удаљени ППП сервер још увек није у погону. Можда сте и даље суочени са пријавним одзивником који рефлектује све податке који му `pppd` шаље.

А шта значи can't locate module ppp-compress?

Ако видите следеће поруке:

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

само додајте редове:

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

у фајл `/etc/conf.modules`.