Newsgroup: it.comp.os.linux.iniziare
Titolo: Problema con PPP - Couldn't set to PPP discipline

Ciao 
Ho un problema con PPP
Uso red hat 9 con Kernel 2.4....(specificherò in seguito)
Qualche giorno fa ho aggiornato i driver della scheda video (nvidia)
dopo il riavvio del sistema
sembrava tutto ok!
MA Quando tento di connettermi ad internet ho il seguente errore:
****************************************************************************
[root@localhost root]# kppp
Opener: received SetSecret
Opener: received OpenLock
Opener: received OpenDevice
QMetaObject::findSignal:Accounting: Conflict with
AccountingBase::changed(QStrin                                 
g,QString)
Opener: received ExecPPPDaemon
In parent: pppd pid 5564
Kernel supports ppp alright.
Couldn't find interface ppp0: No such device
Couldn't find interface ppp0: No such device
It was pppd that died
pppd exited with return value 1
Sending 5560 a SIGUSR1
Opener: received RemoveSecret
Opener: received RemoveSecret
Opener: received OpenResolv
Opener: received OpenResolv
Opener: received RemoveLock
Opener: received PPPDExitStatus
*****************************************************************************
Guardando in /var/log/messages
Prima dell'aggiornamento:
****************************************************************************
Jul  4 23:12:15 A00nico pppd[3009]: pppd 2.4.1 started by root, uid 0
Jul  4 23:12:15 A00nico /etc/hotplug/net.agent: assuming ppp0 is
already up
Jul  4 23:12:15 A00nico pppd[3009]: Using interface ppp0
Jul  4 23:12:15 A00nico pppd[3009]: Connect: ppp0 <--> /dev/ttySHCF0
Jul  4 23:12:24 A00nico modprobe: modprobe: Can't locate module
ppp-compress-21
Jul  4 23:12:24 A00nico modprobe: modprobe: Can't locate module
ppp-compress-21
Jul  4 23:12:24 A00nico pppd[3009]: local  IP address ***.**.**.***
Jul  4 23:12:24 A00nico pppd[3009]: remote IP address ***.*.***.***
Jul  4 23:12:24 A00nico pppd[3009]: primary   DNS address
***.**.***.**
Jul  4 23:12:24 A00nico pppd[3009]: secondary DNS address
***.**.***.**
Jul  4 23:17:31 A00nico gconfd (root-2892): GConf server is not in
use, shutting down.
Jul  4 23:17:31 A00nico gconfd (root-2892): Exiting
Jul  4 23:18:56 A00nico gconfd (root-3065): starting (version 1.0.9),
pid 3065 user 'root'
Jul  4 23:18:56 A00nico modprobe: modprobe: Can't locate module
sound-slot-0
Jul  4 23:18:56 A00nico modprobe: modprobe: Can't locate module
sound-service-0-3
Jul  4 23:38:54 A00nico pppd[3009]: Terminating on signal 15.
Jul  4 23:39:00 A00nico pppd[3009]: Connection terminated.
Jul  4 23:39:00 A00nico pppd[3009]: Connect time 26.7 minutes.
Jul  4 23:39:00 A00nico pppd[3009]: Sent 395579 bytes, received
2870770 bytes.
Jul  4 23:39:00 A00nico /etc/hotplug/net.agent: NET unregister event
not supported
Jul  4 23:39:00 A00nico pppd[3009]: Exit.
*****************************************************************************
Dopo
****************************************************************************
Aug 13 21:20:51 A00nico kernel: HCF DATAPUMP PART: '74' REV: 'BA'
Aug 13 21:20:52 A00nico insmod: Warning: loading
/usr/lib/hcfpci/modules/binaries/i686/rh/linux-2.4.20-8/hcfpciosspec.o
will taint the kernel: non-GPL license - Copyright (C) 1996-2002
Conexant Systems Inc. All Rights Reserved.
Aug 13 21:20:52 A00nico insmod:   See
http://www.tux.org/lkml/#export-tainted
 for information about tainted
modules
Aug 13 21:20:52 A00nico insmod: Module hcfpciosspec loaded, with
warnings
Aug 13 21:20:52 A00nico insmod: Warning: loading
/usr/lib/hcfpci/modules/binaries/i686/rh/linux-2.4.20-8/hcfpciengine.o
will taint the kernel: non-GPL license - Copyright (C) 1996-2002
Conexant Systems Inc. All Rights Reserved.
Aug 13 21:20:52 A00nico insmod: Module hcfpciengine loaded, with
warnings
Aug 13 21:20:52 A00nico insmod: Module hcfpciserial loaded, with
warnings
Aug 13 21:21:26 A00nico modprobe: modprobe: Can't locate module ppp0
Aug 13 21:21:26 A00nico modprobe: modprobe: Can't locate module ppp0
Aug 13 21:21:26 A00nico pppd[4930]: pppd 2.4.1 started by root, uid 0
Aug 13 21:21:26 A00nico insmod:
/lib/modules/2.4.20-8/kernel/drivers/net/ppp_async.o: invalid argument
syntax for flag_time: 'a'
Aug 13 21:21:26 A00nico insmod:
/lib/modules/2.4.20-8/kernel/drivers/net/ppp_async.o: insmod
tty-ldisc-3 failed
Aug 13 21:21:26 A00nico pppd[4930]: Couldn't set tty to PPP
discipline: Invalid argument
Aug 13 21:21:26 A00nico pppd[4930]: Exit.
******************************************************************************
Essendo alla prima esperienza con linux non so bene cosa fare.
Qualcuno può aiutarmi?

 Couldn't find interface ppp0: No such device Couldn't find interface ppp0
Partendo dal presupposto che tu abbia un modem analogico...
Direi che hai ricompilato il kernel senza mettere questi 3 moduli nel ppp
oppure hai modificato il file che contiene i moduli da caricare alla
partenza.
prima cosa in una consolle root
dai questo comando per verificare se hai caricato i moduli per la
connessione tramite modem
lsmod | grep ppp
dovresti ottenere qualcosa di simile
ppp_deflate             3256   0  (autoclean)
...
ppp_async               6496   1  (autoclean)
ppp_generic            15572   3  (autoclean) [ppp_deflate bsd_comp ppp_async]
....
se non ci sono scritte con ppp, allora passa a guardare se almeno i moduli
sono compilati con questo comando
modprobe -l | grep ppp
dovresti vedere qualcosa sul genere
/lib/modules/TuoKernel/kernel/drivers/net/ppp_async.o
/lib/modules/TuoKernel/kernel/drivers/net/ppp_deflate.o
/lib/modules/TuoKernel/kernel/drivers/net/ppp_generic.o
se ci sono digita 
modprobe ppp_generic ppp_async ppp_deflate
guarda che non segnali errori e riprova a connetterti e se ci riesci
guarda in etc la gestione dei modules per sistemarla che riprenda
caricare ppp_generic in automatico
altrimenti devi riconfigurare il kernel con l'opzione per il ppp
In network devices trovi queste opzioni, mettici la M e ricompila
 <M> PPP (point-to-point protocol) support
 [...]
 <M>   PPP support for async serial ports
 [...]
 <M>   PPP Deflate compression
poi rifai i passi sopra
man moprobe
man lsmod
man modules.conf

Prima di tutto grazie tante per avermi risposto.
Allora uso red hat 9 con Kernel 2.4.20-8
Uso un modem interno conexant HCF... che funzionava anche meglio che
sotto windows.
Come già spiegato tutto funzionava bene prima che procedessi con
l'aggiornamento dei driver della scheda video.
Ho seguito le tue istruzioni ed ho ottenuto i seguenti risultati:
lsmod | grep ppp -> non ottengo alcuna scritta
modprobe -l | grep ppp -> ottengo
[root@localhost root]# modprobe -l | grep ppp
/lib/modules/2.4.20-8/kernel/drivers/net/ppp_async.o
/lib/modules/2.4.20-8/kernel/drivers/net/ppp_deflate.o
/lib/modules/2.4.20-8/kernel/drivers/net/ppp_generic.o
/lib/modules/2.4.20-8/kernel/drivers/net/ppp_synctty.o
/lib/modules/2.4.20-8/kernel/drivers/net/wan/syncppp.o
/lib/modules/2.4.20-8/kernel/net/atm/pppoatm.o
dopo digito modprobe ppp_generic ppp_async ppp_deflate e provo a
connettermi ma
ottengo lo stesso errore di prima.
Non so se è utile ma guardando all'interno del file Module-info
2.4.20-8
ho trovato:
#ppp
#	ppp
#	"Point-to-Point Protocol"
# NOT YET MODULARIZED!
#pt
**********************************
Stavo per riconfigurare il Kernel con l'opzione per il ppp come da te
suggerito
ma, data la mia ignoranza, non sono riuscito a trovare "network
devices" per poi ricompilare il tutto.
Se potresti spiegarmelo meglio, ok?
Grazie ancora e ciao

 per poi ricompilare il tutto. Se potresti spiegarmelo meglio, ok?
Alcune customizzazioni del kernel potrebbero differire leggermente nel
layout, ma in sostanza, ammesso che tu sotto /usr/src abbia il link
simbolico al kernel di linux ....
devi digitare
cd /usr/src/linux
make menuconfig
Più o meno a meta della schermata dovresti trovare queste rige.
    I2O device support  --->
*** Network device support  ---> 
    Amateur Radio support  --->
    IrDA (infrared) support  --->
poi nfai le modifiche che ti ho indicato l'altra volta
poi
make dep
make clean
direi che basta compilare solo i moduli quindi puoi saltare il make
bzImage
make modules
make modules_install
dopo make modules_install (se il driver del modem aveva dei moduli
potrebbe essere necessario reinstallarli) e magari caricarli con
modprobe nomedelmodulo
sarebbe utile che qui suggerisse qualcuno con un modem conexan interno

Ho seguito le tue istruzioni ed ho ottenuto:
Al riavvio root@localhost root]# dmesg -c | grep ppp
nessuna risposta
Poi
[root@localhost root]# lsmod | grep ppp
ppp_generic            24444   0  (autoclean)
slhc                    6740   0  (autoclean) [ppp_generic]
Poi
[root@localhost root]# modprobe ppp_generic ppp_async ppp_deflate
root@localhost root]# dmesg -c | grep ppp -> nessuna risposta
[root@localhost root]# lsmod | grep ppp -> come sopra.
Di conseguenza ho lo stesso errore di prima.
Sono andato in network device support ho individuato le opzioni
<M> PPP (point-to-point protocoll) 
<M> PPP support for async serial ports 
<M> PPP Deflate compression
Le "M" però erano già presenti in ogni caso le ho reinserite e seguito
i vari passaggi ma non ho ottenuto niente.
Ma non potrebbe essere che non carica il ppp_async.o? O non c'entra
niente?
15 09:36:22 A00nico kernel: PPP generic driver version 2.4.2
Aug 15 09:36:45 A00nico kernel: PCI: Found IRQ 5 for device 02:05.0
Aug 15 09:36:45 A00nico kernel: HCF ASIC ID: 85
Aug 15 09:36:45 A00nico kernel: HCF DATAPUMP PART: '74' REV: 'BA'
Aug 15 09:36:46 A00nico insmod: Warning: loading
/usr/lib/hcfpci/modules/binaries/i686/rh/linux-2.4.20-8/hcfpciosspec.o
will taint the kernel: non-GPL license - Copyright (C) 1996-2002
Conexant Systems Inc. All Rights Reserved.
Aug 15 09:36:46 A00nico insmod:   See
http://www.tux.org/lkml/#export-tainted
 for information about tainted
modules
Aug 15 09:36:46 A00nico insmod: Module hcfpciosspec loaded, with
warnings
Aug 15 09:36:46 A00nico insmod: Warning: loading
/usr/lib/hcfpci/modules/binaries/i686/rh/linux-2.4.20-8/hcfpciengine.o
will taint the kernel: non-GPL license - Copyright (C) 1996-2002
Conexant Systems Inc. All Rights Reserved.
Aug 15 09:36:46 A00nico insmod: Module hcfpciengine loaded, with
warnings
Aug 15 09:36:46 A00nico insmod: Module hcfpciserial loaded, with
warnings
Aug 15 09:37:20 A00nico modprobe: modprobe: Can't locate module ppp0
Aug 15 09:37:20 A00nico modprobe: modprobe: Can't locate module ppp0
Aug 15 09:37:20 A00nico pppd[4846]: pppd 2.4.1 started by root, uid 0
Aug 15 09:37:20 A00nico insmod:
/lib/modules/2.4.20-8/kernel/drivers/net/ppp_async.o: invalid argument
syntax for flag_time: 'a'
Aug 15 09:37:20 A00nico insmod:
/lib/modules/2.4.20-8/kernel/drivers/net/ppp_async.o: insmod
tty-ldisc-3 failed
Aug 15 09:37:20 A00nico pppd[4846]: Couldn't set tty to PPP
discipline: Invalid argument
Aug 15 09:37:20 A00nico pppd[4846]: Exit.

Nuovo aggiornamento sulla vicenda:
Riavvio il sistema e faccio il login come root
digito lsmod per vedere quali moduli il kernel stia usando ma
nell'elenco non compaiono
ppp_generic
ppp_async
PPP_deflate
Poi eseguo il comando modprobe ppp_generic
digito nuovamente lsmod e ppp_generic č presente.
Ripeto lo stesso procedimento per ppp_deflate e lo carica.
Quando vado a caricare modprobe ppp_async ottengo:
insmod: /lib/modules/2.4.20-8/kernel/drivers/net/ppp_async.o: invalid
argument syntax for flag_time: 'a'
insmod: /lib/modules/2.4.20-8/kernel/drivers/net/ppp_async.o: insmod
tty-ldisc-3 failed
Da quanto riesco a capire se manca questo modulo non posso realizzare
alcuna connessione, almeno credo!
Come faccio a caricarlo e a fargli caricare all'avvio i moduli
precedenti?
Ciao

 precedenti?
li scrivi (uno per riga) in /etc/modules senza il ".o" finale:
ppp_generic
ppp_async
PPP_deflate

Credo di aver capito dove sta il problema.
Dopo aver avviato il sistema come root digito lsmod, ma nell'elenco
dei moduli non compaiono ppp_generic, ppp_async e ppp_deflate.
Se faccio modprobe ppp_generic e ppp_deflate li carica senza problemi.
Se faccio modprobe ppp_async ottengo l'errore riportato prima.
Se però faccio insmod ppp_async lo carica.
Fatto questo la connessione riprend a funzionare, in questo momento
sto scrivendo da linux.
Ho provato ad inserire in /etc/modules.conf le seguenti righe:
alias char-major-108 ppp_generic
alias /dev/ppp ppp_generic
alias tty-ldisc-3 ppp_async
alias tty-ldisc-14 ppp_synctty
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
ma i moduli non vengono caricati all'avvio.
*******************************************************************
Questo è il file modules.conf in origine
alias usb-controller ehci-hcd
alias usb-controller1 usb-uhci
alias ieee1394-controller ohci139
options ppp_async flag_time=0alias 
alias char-major-195 nvidia
alias /dev/ttySHCF[0-9]* hcfpciserial
alias char-major-240 hcfpciserial
alias /dev/cuaHCF[0-9]* hcfpciserial
alias char-major-241 hcfpciserial
alias /dev/modem hcfpciserial
options hcfpciserial serialmajor=240 calloutmajor=241
pcivendorid=0x14F1 pcideviceid=0x1034
alias /dev/ttySHCF[0-9]* hcfpciserial
alias /dev/cuaHCF[0-9]* hcfpciserial
alias /dev/ttySHCF[0-9]* hcfpciserial
alias /dev/cuaHCF[0-9]* hcfpciserial
alias /dev/ttySHCF[0-9]* hcfpciserial
alias /dev/cuaHCF[0-9]* hcfpciserial
******************************************************************
Dove è che sbaglio?

 ppp_async
Mi fa piacere che hai quasi risolto
$ modprobe ppp_async
funziona in maniera "intelligente", cioè legge dai file di configurazione
come comportarsi mentre
$ insmod ppp_async
fa solo quello che gli dici
dal fatto che da quell'errore sui parametri, sembrerebbe quasi che tu
dentro module modules.conf
abbia una scritta sul genere:
option ppp_async QualcosaCheNonCiDeveEssere
In questo caso quando scrivi $ modprobe ppp_async ottieni un 
equivalente di $ insmod ppp_async QualcosaCheNonCiDeveEssere
Questo file però non contiene i moduli che devono essere caricati, ma il
come caricarli.
Come caricare i moduli può variare a seconda delle distro.
Guarda se hai un file modules.autoload o qualcosa di simile.
Se lo hai, leggiti il commento di testata. Potrebbe essere
un file che viene generato automaticamente prendendo il
contenuto di altri di configurazione, quindi la modifica
dovrai farla sui file che servono a generarlo.