diff options
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/network/modem.pm | 17 | ||||
-rw-r--r-- | perl-install/network/netconnect.pm | 2 |
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 }; |