summaryrefslogtreecommitdiffstats
path: root/perl-install/network/netconnect.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/network/netconnect.pm')
-rw-r--r--perl-install/network/netconnect.pm17
1 files changed, 13 insertions, 4 deletions
diff --git a/perl-install/network/netconnect.pm b/perl-install/network/netconnect.pm
index 6d9ca8acb..66b741a1f 100644
--- a/perl-install/network/netconnect.pm
+++ b/perl-install/network/netconnect.pm
@@ -194,8 +194,8 @@ sub real_main {
} else {
undef $netc->{NET_DEVICE};
}
- if ($netcnx->{type} eq 'adsl' && member($adsl_type, qw(manual dhcp)) && member($ntf_name, qw(sagem))) {
- #- we need to write sagem specific parameters and load corresponding modules/programs
+ if ($netcnx->{type} eq 'adsl' && member($adsl_type, qw(manual dhcp)) && member($ntf_name, qw(sagem speedtouch))) {
+ #- we may need to write sagem specific parameters and load corresponding modules/programs (sagem/speedtouch)
network::adsl::adsl_conf_backend($in, $modules_conf, $netcnx, $netc, $intf, $ntf_name, $adsl_type, $netcnx);
}
network::network::configureNetwork2($in, $modules_conf, $::prefix, $netc, $intf);
@@ -867,6 +867,7 @@ If you do not know, choose 'use PPPoE'"),
},
],
post => sub {
+ my $real_interface = $ntf_name;
$netcnx->{type} = 'adsl';
# blacklist bogus driver, enable ifplugd support else:
$find_lan_module->();
@@ -878,10 +879,18 @@ If you do not know, choose 'use PPPoE'"),
$ethntf->{DEVICE} = "`/usr/sbin/fctStartAdsl -i`";
$ethntf->{MII_NOT_SUPPORTED} = "yes";
}
+ if ($ntf_name eq "speedtouch" && member($adsl_type, qw(manual dhcp))) {
+ #- use ATMARP with the atm0 interface
+ $real_interface = "atm0";
+ $ethntf = $intf->{$real_interface} ||= {};
+ $ethntf->{DEVICE} = $real_interface;
+ $ethntf->{ATM_ADDR} = join('.', hex($netc->{vpi}), hex($netc->{vci}));
+ $ethntf->{MII_NOT_SUPPORTED} = "yes";
+ }
#- delete gateway settings if gateway device is invalid or if reconfiguring the gateway interface
- exists $intf->{$ntf_name} and $delete_gateway_settings->($ntf_name);
+ exists $intf->{$real_interface} and $delete_gateway_settings->($real_interface);
# process static/dhcp ethernet devices:
- if (exists($intf->{$ntf_name}) && member($adsl_type, qw(manual dhcp))) {
+ if (exists($intf->{$real_interface}) && member($adsl_type, qw(manual dhcp))) {
$ethntf->{TYPE} = "ADSL";
$auto_ip = $adsl_type eq 'dhcp';
return 'lan_intf';