conecting problem using kppp

hi
I installed opensuse 11 some days ago.everything was okey.
The modem needs drivers and I install it and it works good,but the problem is that every time I want to get conected using modem(dialup) by kppp,the modem hangs up and pppd writes these log:
Plugin passwordfd.so loaded.
pppd 2.4.4 started by root, uid 0
Using interface ppp0
Connect: ppp0 <–> /dev/ttySHSF0
Terminating on signal 15
Connection terminated.
Receive serial link is not 8-bit clean:
Problem: all had bit 7 set to 0
Modem hangup
Exit.

I’ve searched too much on the web,(I also have noauth in /etc/ppp/peer/kppp and /etc/ppp/options).
Can anybody help about this problem?
by the way I read somewhere that recompiling the kernel and changing some pppd config may solve this problem!
Is that true???
Is there any better solution!

I don’t know a difinitive answer, but I don’t want to see your post go unanswered. As you’ve probably already found, if you google keywords like ‘Receive serial link is not 8-bit clean kppp’ you get a heap of possible leads. Filtering through all this can be a chore.

I would check that your authentication (CHAP/PAP) is ok. Then check these links out:

Dial Up Notes - Waikato Linux Users Group

How to Hook up PPP in Linux
(Look for Login Authorization section)

You could also try using the CLI wvdial utility. Read the ‘wvdial’ section of this Gentoo HOWTO.

Maybe if you post your ppp config files, someone can offer more advice.

hi
I used wvdial and I was able to connect but the speed was very very slow(less than 1 kb/s).
Here is my config files:
/etc/ppp/options:

/etc/ppp/options

Not every option is listed here, see man pppd for more details. This file

is read by the pppd, it is an error when it is not present.

Use the following command to see the active options:

grep -v ^# /etc/ppp/options | grep -v ^$

The name of this server. Often, the FQDN is used here.

#name <host>

Enforce the use of the hostname as the name of the local system for

authentication purposes (overrides the name option).

#usehostname

If no local IP address is given, pppd will use the first IP address

that belongs to the local hostname. If “noipdefault” is given, this

is disabled and the peer will have to supply an IP address.

noipdefault

With this option, pppd will accept the peer’s idea of our local IP

address, even if the local IP address was specified in an option.

#ipcp-accept-local

With this option, pppd will accept the peer’s idea of its (remote) IP

address, even if the remote IP address was specified in an option.

#ipcp-accept-remote

Run the executable or shell command specified after pppd has terminated

the link. This script could, for example, issue commands to the modem

to cause it to hang up if hardware modem control signals were not

available.

If mgetty is running, it will reset the modem anyway. So there is no need

to do it here.

#disconnect “chat – \d+++\d\c OK ath0 OK”

Increase debugging level (same as -d). The debug output is written

to syslog LOG_LOCAL2.

#debug

Enable debugging code in the kernel-level PPP driver. The argument n

is a number which is the sum of the following values: 1 to enable

general debug messages, 2 to request that the contents of received

packets be printed, and 4 to request that the contents of transmitted

packets be printed.

#kdebug n

noauth means do not require the peer to authenticate itself, this must

be set if you want to use pppd to connect to the internet. In this case

you must authenicate yourself to the peer(internet provider), so do

not disable this setting unless you are the dial-in server which where

the peer has to autenticate to.

noauth

Use hardware flow control (i.e. RTS/CTS) to control the flow of data

on the serial port.

crtscts

Specifies that pppd should use a UUCP-style lock on the serial device

to ensure exclusive access to the device.

lock

Use the modem control lines.(is default)

modem

The opposite: local

Description:

Don’t use the modem control lines. With this option, pppd will ignore the

state of the CD (Carrier Detect) signal from the modem and will not change

the state of the DTR (Data Terminal Ready) signal.

You need to disable modem and enable local if you want to connect to anoter

system without using a modem:

#local

async character map – 32-bit hex; each bit is a character

that needs to be escaped for pppd to receive it. 0x00000001

represents ‘\x01’, and 0x80000000 represents ‘\x1f’.

To allow pppd to work over a rlogin/telnet connection, ou should escape

XON (^Q), XOFF (^S) and ^]: (The peer should use “escape ff”.)

#asyncmap 200a0000
asyncmap 0

needed for some ISDN Terminaladaters, namely ELSA, those seem to have

problems with asyncmap negotiation, so you can turn off this procedure

in case your ISDN box has trouble with it, by enabling this option.

You have to disable the asyncmap <x> option to be sure to have it

active. If you use wvdial, set the ISDN parameter in /etc/wvdial.conf

instead.

#default-asyncmap

Set the MRU [Maximum Receive Unit] value to <n> for negotiation. pppd

will ask the peer to send packets of no more than <n> bytes. The

minimum MRU value is 128. The default MRU value is 1500. A value of

296 is recommended for slow links (40 bytes for TCP/IP header + 256

bytes of data). The value 1492 is for DSL connections (PPP Default -

PPPoE Header: 1500 - 8 = 1492)

mru 1492

Set the MTU [Maximum Transmit Unit] value to <n>. Unless the peer

requests a smaller value via MRU negotiation, pppd will request that

the kernel networking code send data packets of no more than n bytes

through the PPP network interface. The value 1492 is for DSL connections

(PPP Default - PPPoE Header: 1500 - 8 = 1492)

mtu 1492

Set the interface netmask to <n>, a 32 bit netmask in “decimal dot”

notation (e.g. 255.255.255.0).

#netmask 255.255.255.0

Don’t fork to become a background process (otherwise pppd will do so

if a serial device is specified).

nodetach

If this option is given, pppd will send an LCP echo-request frame to

the peer every n seconds. Under Linux, the echo-request is sent when

no packets have been received from the peer for n seconds. Normally

the peer should respond to the echo-request by sending an echo-reply.

This option can be used with the lcp-echo-failure option to detect

that the peer is no longer connected.

lcp-echo-interval 30

If this option is given, pppd will presume the peer to be dead if n

LCP echo-requests are sent without receiving a valid LCP echo-reply.

If this happens, pppd will terminate the connection. Use of this

option requires a non-zero value for the lcp-echo-interval parameter.

This option can be used to enable pppd to terminate after the physical

connection has been broken (e.g., the modem has hung up) in

situations where no hardware modem control lines are available.

lcp-echo-failure 4

Send up to 60 LCP configure-request during negotiation. With a value

of 2 for lcp-restart below, this might take up to 2 minutes.

lcp-max-configure 60

Resend unanswered LCP requests after 2 seconds.

lcp-restart 2

Specifies that pppd should disconnect if the link is idle for n seconds.

idle 600

Specifies the maximal number of attempts to connect to the server. This

is useful for dial on demand. Default value is 10.

#maxfail 3

Disable the IPXCP and IPX protocols.

noipx

In the file /etc/ppp/filters are some active-filter rules. See man pppd

and man tcpdump for more informations.

file /etc/ppp/filters

#-------------------------------------------------------------------------

The next two options are only interesting for you if you are admin of

a system with other users that use ppp, and those users are normally

never allowed to add default route, or you do not want users to

replace the default route.

#-------------------------------------------------------------------------

enable this to prevent users from attempting to add a default route.

Use this option with caution: If the user needs to use a program like

wvdial, he will not be able to connect because wvdial forces defaulroute

but this is rejected by this option and the user will not be able to

connect to the internet.

#nodefaultroute

enable this to prevent users from replacing an existing default route.

#noreplacedefaultroute

#-------------------------------------------------------------------------

All options below only make sense if you configure pppd to be a dial-in

server, so don’t touch these if you want dial into your provider with

PPP!

#-------------------------------------------------------------------------

Set the assumed name of the remote system for authentication purposes

to <n>.

#remotename <n>

Add an entry to this system’s ARP [Address Resolution Protocol]

table with the IP address of the peer and the Ethernet address of this

system. {proxyarp,noproxyarp}

#proxyarp

Use the system password database for authenticating the peer using

PAP. Note: mgetty already provides this option. If this is specified

then dialin from users using a script under Linux to fire up ppp wont work.

#login

Specify which DNS Servers the incoming Win95 or WinNT Connection should use

Two Servers can be remotely configured

#ms-dns 192.168.1.1
#ms-dns 192.168.1.2

Specify which WINS Servers the incoming connection Win95 or WinNT should use

#ms-wins 192.168.1.50
#ms-wins 192.168.1.51

and /etc/ppp/peers/kppp -> /etc/ppp/peers/ppp

PPP (plain old modem) options

Plugin passwordfd enables us to pipe the password to pppd, thus we

don’t have to put it into pap-secrets and chap-secrets.

plugin passwordfd.so

noauth

hoping somebody can find the problem!:confused:

I note from the device node (/dev/ttySHSF0) that you’re using a linuxant HSF modem driver. I assume you’re using the full (paid) version. If not, this explains the slow (~1kB/s) connection.

Did you configure the modem device with the YaST tool, or by hand? Not sure what else I can offer…

I suggest you should broadcast your problem to a wider linux audience, especially as it is not a suse-specific issue. Two good forums to start with:

Forums.ModemHelp.Net :: Index (See the Linux OS support forum)

LinuxQuestions.org

Yes,My driver is linuxant hsf driver(full license),so I’m sure it’s not the reason for slow speed.
After I installed driver,I started by running kppp(I don’t know what you mean “configuring modem”?).
I will post this problem some other places(as you mentioned) but I noticed that this problem occurs mostly on new opensuse 11 installation(I read about this on some local linux forum).
Anyway thank you for your suggestions.

I haven’t been able to get the HSF driver working with opensuse 11, as linuxant only provide default kernel packages and I’m using the pae enabled kernel at the moment. I’ve also had problems compiling their driver. However With opensuse 10.2, all worked fine. The first step was configuring the modem via YaST -> Network Devices -> Modem. Here you can specify modem device node, phone number etc. After that, I connected via KInternet.

I had some compiling problem with hsf driver too.but it seems that they fixed that problem,And you can download the latest version(source rpm) and compile without any problem.
I’ve forgot to say that I used kppp for connecting.
Configuring modem with YaST and using Kinternet makes the same problem.
It’s very strange that when I use wvdial(the program that kinternet uses for dialing and connceting),it gets connected but the speed is very very slow!
That’s why I am so confused and I really don’t know what to do!

I had some compiling problem with hsf driver too.but it seems that they fixed that problem,And you can download the latest version(source rpm) and compile without any problem.
I’ve forgot to say that I used kppp for connecting.
Configuring modem with YaST and using Kinternet makes the same problem.
It’s very strange that when I use wvdial(the program that kinternet uses for dialing and connceting),it gets connected but the speed is very very slow!
That’s why I am so confused and I really don’t know what to do!:confused:

Maybe see what technical support linuxant can offer.