You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
224 lines
7.9 KiB
224 lines
7.9 KiB
simple isdn4linux PPP FAQ .. to be continued .. not 'debugged' |
|
------------------------------------------------------------------- |
|
|
|
Q01: what's pppd, ipppd, syncPPP, asyncPPP ?? |
|
Q02: error message "this system lacks PPP support" |
|
Q03: strange information using 'ifconfig' |
|
Q04: MPPP?? What's that and how can I use it ... |
|
Q05: I tried MPPP but it doesn't work |
|
Q06: can I use asynchronous PPP encapsulation with network devices |
|
Q07: A SunISDN machine can't connect to my i4l system |
|
Q08: I wanna talk to several machines, which need different configs |
|
Q09: Starting the ipppd, I get only error messages from i4l |
|
Q10: I wanna use dynamic IP address assignment |
|
Q11: I can't connect. How can I check where the problem is. |
|
Q12: How can I reduce login delay? |
|
|
|
------------------------------------------------------------------- |
|
|
|
Q01: pppd, ipppd, syncPPP, asyncPPP .. what is that ? |
|
what should I use? |
|
A: The pppd is for asynchronous PPP .. asynchronous means |
|
here, the framing is character based. (e.g when |
|
using ttyI* or tty* devices) |
|
|
|
The ipppd handles PPP packets coming in HDLC |
|
frames (bit based protocol) ... The PPP driver |
|
in isdn4linux pushes all IP packets direct |
|
to the network layer and all PPP protocol |
|
frames to the /dev/ippp* device. |
|
So, the ipppd is a simple external network |
|
protocol handler. |
|
|
|
If you login into a remote machine using the |
|
/dev/ttyI* devices and then enable PPP on the |
|
remote terminal server -> use the 'old' pppd |
|
|
|
If your remote side immediately starts to send |
|
frames ... you probably connect to a |
|
syncPPP machine .. use the network device part |
|
of isdn4linux with the 'syncppp' encapsulation |
|
and make sure, that the ipppd is running and |
|
connected to at least one /dev/ippp*. Check the |
|
isdn4linux manual on how to configure a network device. |
|
|
|
-- |
|
|
|
Q02: when I start the ipppd .. I only get the |
|
error message "this system lacks PPP support" |
|
A: check that at least the device 'ippp0' exists. |
|
(you can check this e.g with the program 'ifconfig') |
|
The ipppd NEEDS this device under THIS name .. |
|
If this device doesn't exists, use: |
|
isdnctrl addif ippp0 |
|
isdnctrl encap ippp0 syncppp |
|
... (see isdn4linux doc for more) ... |
|
A: Maybe you have compiled the ipppd with another |
|
kernel source tree than the kernel you currently |
|
run ... |
|
|
|
-- |
|
|
|
Q03: when I list the netdevices with ifconfig I see, that |
|
my ISDN interface has a HWaddr and IRQ=0 and Base |
|
address = 0 |
|
A: The device is a fake ethernet device .. ignore IRQ and baseaddr |
|
You need the HWaddr only for ethernet encapsulation. |
|
|
|
-- |
|
|
|
Q04: MPPP?? What's that and how can I use it ... |
|
|
|
A: MPPP or MP or MPP (Warning: MP is also an |
|
acronym for 'Multi Processor') stands for |
|
Multi Point to Point and means bundling |
|
of several channels to one logical stream. |
|
To enable MPPP negotiation you must call the |
|
ipppd with the '+mp' option. |
|
You must also configure a slave device for |
|
every additional channel. (see the i4l manual |
|
for more) |
|
To use channel bundling you must first activate |
|
the 'master' or initial call. Now you can add |
|
the slave channels with the command: |
|
isdnctrl addlink <device> |
|
e.g: |
|
isdnctrl addlink ippp0 |
|
This is different from other encapsulations of |
|
isdn4linux! With syncPPP, there is no automatic |
|
activation of slave devices. |
|
|
|
-- |
|
|
|
Q05: I tried MPPP but it doesn't work .. the ipppd |
|
writes in the debug log something like: |
|
.. rcvd [0][proto=0x3d] c0 00 00 00 80 fd 01 01 00 0a ... |
|
.. sent [0][LCP ProtRej id=0x2 00 3d c0 00 00 00 80 fd 01 ... |
|
|
|
A: you forgot to compile MPPP/RFC1717 support into the |
|
ISDN Subsystem. Recompile with this option enabled. |
|
|
|
-- |
|
|
|
Q06: can I use asynchronous PPP encapsulation |
|
over the network interface of isdn4linux .. |
|
|
|
A: No .. that's not possible .. Use the standard |
|
PPP package over the /dev/ttyI* devices. You |
|
must not use the ipppd for this. |
|
|
|
-- |
|
|
|
Q07: A SunISDN machine tries to connect my i4l system, |
|
which doesn't work. |
|
Checking the debug log I just saw garbage like: |
|
!![ ... fill in the line ... ]!! |
|
|
|
A: The Sun tries to talk asynchronous PPP ... i4l |
|
can't understand this ... try to use the ttyI* |
|
devices with the standard PPP/pppd package |
|
|
|
A: (from Alexanter Strauss: ) |
|
!![ ... fill in mail ]!! |
|
|
|
-- |
|
|
|
Q08: I wanna talk to remote machines, which need |
|
a different configuration. The only way |
|
I found to do this is to kill the ipppd and |
|
start a new one with another config to connect |
|
to the second machine. |
|
|
|
A: you must bind a network interface explicitly to |
|
an ippp device, where you can connect a (for this |
|
interface) individually configured ipppd. |
|
|
|
-- |
|
|
|
Q09: When I start the ipppd I only get error messages |
|
from the i4l driver .. |
|
|
|
A: When starting, the ipppd calls functions which may |
|
trigger a network packet. (e.g gethostbyname()). |
|
Without the ipppd (at this moment, it is not |
|
fully started) we can't handle this network request. |
|
Try to configure hostnames necessary for the ipppd |
|
in your local /etc/hosts file or in a way, that |
|
your system can resolve it without using an |
|
isdn/ippp network-interface. |
|
|
|
-- |
|
|
|
Q10: I wanna use dynamic IP address assignment ... How |
|
must I configure the network device. |
|
|
|
A: At least you must have a route which forwards |
|
a packet to the ippp network-interface to trigger |
|
the dial-on-demand. |
|
A default route to the ippp-interface will work. |
|
Now you must choose a dummy IP address for your |
|
interface. |
|
If for some reason you can't set the default |
|
route to the ippp interface, you may take any |
|
address of the subnet from which you expect your |
|
dynamic IP number and set a 'network route' for |
|
this subnet to the ippp interface. |
|
To allow overriding of the dummy address you |
|
must call the ipppd with the 'ipcp-accept-local' option. |
|
|
|
A: You must know, how the ipppd gets the addresses it wanna |
|
configure. If you don't give any option, the ipppd |
|
tries to negotiate the local host address! |
|
With the option 'noipdefault' it requests an address |
|
from the remote machine. With 'useifip' it gets the |
|
addresses from the net interface. Or you set the address |
|
on the option line with the <a.b.c.d:e.f.g.h> option. |
|
Note: the IP address of the remote machine must be configured |
|
locally or the remote machine must send it in an IPCP request. |
|
If your side doesn't know the IP address after negotiation, it |
|
closes the connection! |
|
You must allow overriding of address with the 'ipcp-accept-*' |
|
options, if you have set your own or the remote address |
|
explicitly. |
|
|
|
A: Maybe you try these options .. e.g: |
|
|
|
/sbin/ipppd :$REMOTE noipdefault /dev/ippp0 |
|
|
|
where REMOTE must be the address of the remote machine (the |
|
machine, which gives you your address) |
|
|
|
-- |
|
|
|
Q11: I can't connect. How can I check where the problem is. |
|
|
|
A: A good help log is the debug output from the ipppd... |
|
Check whether you can find there: |
|
- only a few LCP-conf-req SENT messages (less then 10) |
|
and then a Term-REQ: |
|
-> check whether your ISDN card is well configured |
|
it seems, that your machine doesn't dial |
|
(IRQ,IO,Proto, etc problems) |
|
Configure your ISDN card to print debug messages and |
|
check the /dev/isdnctrl output next time. There |
|
you can see, whether there is activity on the card/line. |
|
- there are at least a few RECV messages in the log: |
|
-> fine: your card is dialing and your remote machine |
|
tries to talk with you. Maybe only a missing |
|
authentication. Check your ipppd configuration again. |
|
- the ipppd exits for some reason: |
|
-> not good ... check /var/adm/syslog and /var/adm/daemon. |
|
Could be a bug in the ipppd. |
|
|
|
-- |
|
|
|
Q12: How can I reduce login delay? |
|
|
|
A: Log a login session ('debug' log) and check which options |
|
your remote side rejects. Next time configure your ipppd |
|
to not negotiate these options. Another 'side effect' is, that |
|
this increases redundancy. (e.g your remote side is buggy and |
|
rejects options in a wrong way). |
|
|
|
|
|
|
|
|