summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/network/netconnect.pm30
1 files changed, 25 insertions, 5 deletions
diff --git a/perl-install/network/netconnect.pm b/perl-install/network/netconnect.pm
index c86ffef2f..c364752ab 100644
--- a/perl-install/network/netconnect.pm
+++ b/perl-install/network/netconnect.pm
@@ -85,7 +85,7 @@ sub real_main {
my ($modem, $modem_name, $modem_conf_read, $modem_dyn_dns, $modem_dyn_ip);
my ($adsl_type, @adsl_devices, $adsl_failed, $adsl_answer, %adsl_data, $adsl_data, $adsl_provider, $adsl_old_provider);
my ($ntf_name, $gateway_ex, $up, $need_restart_network);
- my ($isdn, $isdn_name, $isdn_type, %isdn_cards, @isdn_dial_methods);
+ my ($isdn, $isdn_capi, $isdn_name, $isdn_type, %isdn_cards, @isdn_dial_methods);
my $my_isdn = join('', N("Manual choice"), " (", N("Internal ISDN card"), ")");
my ($module, $auto_ip, $protocol, $onboot, $needhostname, $hotplug, $track_network_id, @fields); # lan config
my $success = 1;
@@ -355,13 +355,16 @@ sub real_main {
if ($isdn->{id}) {
log::explanations("found isdn card : $isdn->{description}; vendor : $isdn->{vendor}; id : $isdn->{id}; driver : $isdn->{driver}\n");
$isdn->{description} =~ s/\|/ -- /;
-
}
- network::isdn::read_config($netcnx->{isdn_internal});
+
+ network::isdn::read_config($isdn);
+ $isdn->{driver} = $isdn_cards{$isdn_name}{driver}; #- do not let config overwrite default driver
+
+ $isdn_capi = network::isdn::get_capi_card($isdn) and return "isdn_driver";
return "isdn_protocol";
},
},
-
+
isdn_ask =>
{
@@ -410,7 +413,24 @@ If you have a PCMCIA card, you have to know the \"irq\" and \"io\" of your card.
}
},
-
+
+ isdn_driver =>
+ {
+ pre => sub {
+ $isdn_name = "capidrv";
+ },
+ name => N("A capi driver is available for this modem. This capi driver can offer more capabilities than the free driver (like sending faxes). Which driver do you want to use ?"),
+ data => sub { [
+ { label => N("Driver"), type => "list", val => \$isdn_name,
+ list => [ $isdn->{driver}, "capidrv" ] }
+ ] },
+ post => sub {
+ $isdn->{driver} = $isdn_name;
+ return "isdn_protocol";
+ }
+ },
+
+
isdn_protocol =>
{
name => N("ISDN Configuration") . "\n\n" . N("Which protocol do you want to use?"),