summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/network/modem.pm17
-rw-r--r--perl-install/network/netconnect.pm2
2 files changed, 15 insertions, 4 deletions
diff --git a/perl-install/network/modem.pm b/perl-install/network/modem.pm
index 6c26a7213..380567c46 100644
--- a/perl-install/network/modem.pm
+++ b/perl-install/network/modem.pm
@@ -249,7 +249,7 @@ sub ppp_choose {
#- TODO: add choice between hcf/hsf/lt ?
sub winmodemConfigure {
- my ($in, $netc) = @_;
+ my ($in, $netcnx, $mouse, $netc, $intf) = @_;
my %relocations = ( ltmodem => $in->do_pkgs->check_kernel_module_packages('ltmodem') );
my $type;
@@ -263,8 +263,19 @@ sub winmodemConfigure {
$type || $in->ask_warn(N("Warning"), N("Your modem isn't supported by the system.
Take a look at http://www.linmodems.org")) && return 1;
my $e = $in->ask_from_list(N("Title"), N("\"%s\" based winmodem detected, do you want to install needed software ?", $type), [N("Install rpm"), N("Do nothing")]) or return 0;
- $e =~ /rpm/ ? $in->do_pkgs->install($relocations{$type} ? @{$relocations{$type}} : $type) : return 1;
- 1;
+ if ($e =~ /rpm/) {
+ if ($in->do_pkgs->install($relocations{$type} ? @{$relocations{$type}} : $type)) {
+ unless ($::isInstall) {
+ #- fallback to modem configuration (beware to never allow test it).
+ $netcnx->{type} = 'modem';
+ $type eq 'ltmodem' and $netc->{autodetect}{modem} = '/dev/ttyS14';
+ return configure($in, $netcnx, $mouse, $netc, $intf);
+ }
+ } else {
+ return 0;
+ }
+ }
+ return 1;
}
1;
diff --git a/perl-install/network/netconnect.pm b/perl-install/network/netconnect.pm
index cfb2be196..993af1ca4 100644
--- a/perl-install/network/netconnect.pm
+++ b/perl-install/network/netconnect.pm
@@ -200,7 +200,7 @@ If you don't want to use the auto detection, deselect the checkbox.
) or goto step_1;
load_conf($netcnx, $netc, $intf);
$conf{modem} and do { pre_func("modem"); require network::modem; network::modem::configure($in, $netcnx, $mouse, $netc, $intf) or goto step_2 };
- $conf{winmodem} and do { pre_func("winmodem"); require network::modem; network::modem::winmodemConfigure($in, $netc) or goto step_2 };
+ $conf{winmodem} and do { pre_func("winmodem"); require network::modem; network::modem::winmodemConfigure($in, $netcnx, $mouse, $netc, $intf) or goto step_2 };
$conf{isdn} and do { pre_func("isdn"); require network::isdn; network::isdn::configure($netcnx, $netc, undef) or goto step_2 };
$conf{adsl} and do { pre_func("adsl"); require network::adsl; network::adsl::configure($netcnx, $netc, $intf, $first_time) or goto step_2 };
$conf{cable} and do { pre_func("cable"); require network::ethernet; network::ethernet::configure_cable($netcnx, $netc, $intf, $first_time) or goto step_2; $netconnect::need_restart_network = 1 };