diff options
Diffstat (limited to 'perl-install/network/adsl.pm')
-rw-r--r-- | perl-install/network/adsl.pm | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/perl-install/network/adsl.pm b/perl-install/network/adsl.pm index 1615e07e6..5e4386e17 100644 --- a/perl-install/network/adsl.pm +++ b/perl-install/network/adsl.pm @@ -111,6 +111,7 @@ sub adsl_conf_backend { defined $o_netcnx and $netc->{adsltype} = $o_netcnx->{type}; $netc->{adsltype} ||= "adsl_$adsl_type"; $adsl_type eq 'pptp' and $adsl_device = 'pptp_modem'; + $adsl_type eq 'capi' and $adsl_device = 'capi_modem'; my $bewan_module; $bewan_module = $o_netcnx->{bus} eq 'PCI' ? 'unicorn_pci_atm' : 'unicorn_usb_atm' if $adsl_device eq "bewan"; @@ -212,10 +213,33 @@ lcp-echo-interval 0) pptp => qq("/usr/sbin/pptp 10.0.0.138 --nolaunchpppd"), }, }, + capi_modem => + { + ppp_options => qq( +connect /bin/true +ipcp-accept-remote +ipcp-accept-local + +sync +noauth +lcp-echo-interval 5 +lcp-echo-failure 3 +lcp-max-configure 50 +lcp-max-terminate 2 + +noccp +noipx +mru 1492 +mtu 1492), + plugin => { + capi => qq(capiplugin.so +protocol adslpppoe) + }, + }, ); - if ($adsl_type =~ /^pp/) { + if ($adsl_type =~ /^pp|^capi$/) { mkdir_p("$::prefix/etc/ppp"); $in->do_pkgs->install('ppp') if !$>; my %packages = ( @@ -311,7 +335,7 @@ user "$adsl->{login}" # }, } - + #- FIXME: #- ppp0 and ippp0 are hardcoded my $kind = $adsl_type eq 'pppoe' ? 'xDSL' : 'ADSL'; @@ -331,6 +355,19 @@ METRIC=$metric $::isStandalone and $modules_conf->write; } + if ($adsl_type eq "capi") { + require network::isdn; + network::isdn::setup_capi_conf($adsl->{capi}); + services::stop("isdn4linux"); + services::do_not_start_service_on_boot("isdn4linux"); + services::start_service_on_boot("capi4linux"); + services::restart("capi4linux"); + + #- install and run drdsl for dsl connections, once capi driver is loaded + $in->do_pkgs->ensure_is_installed_if_available("drdsl", "$::prefix/usr/sbin/drdsl"); + run_program::rooted($::prefix, "/usr/sbin/drdsl"); + } + unless ($::isStandalone) { my @modules = (@{$modems{$adsl_device}{modules}}, map { $_->[1] } @{$modems{$adsl_device}{aliases}}); @modules or @modules = qw(ppp_synctty ppp_async ppp_generic n_hdlc); #- required for pppoe/pptp connections |