isdn4k-utils' script /etc/ppp/ip-up calls /etc/ppp/ip-up.<interface> and appends the parameters it was called with (interface name, speed, ip addresses etc.). It does this by doing: [ -s $0.$1 ] && . $0.$1 $* But this should be: [ -s $0.$1 ] && . $0.$1 "$@" The first version does not pass empty parameters to the called scripts correctly (because of the $*, man bash). As a result, these scripts can get confused as the position of the parameters changes. E.g., the local IP address is no longer in $4 but in $3 if one of the previous parameters was empty. Those empty parameters sometimes occur when using other PPP daemons (like pppd for modem/DSL) together with ipppd. The second example solves this problem by enclosing every parameter in quotes and therefore preserving empty parameters. Reproducible: Always Steps to Reproduce:
thx, fixed :D