diff options
author | Thierry Vignaud <tvignaud@mandriva.org> | 2004-03-17 15:17:10 +0000 |
---|---|---|
committer | Thierry Vignaud <tvignaud@mandriva.org> | 2004-03-17 15:17:10 +0000 |
commit | ccef46b7d95a3ccab4d84b546512eab9975ab782 (patch) | |
tree | 6d95b5699e0879ce1a42ae5ea6a8112a8347bc96 /perl-install/network/netconnect.pm | |
parent | a17a017ad7f6c00a6aabbc65891cc27319373f1a (diff) | |
download | drakx-ccef46b7d95a3ccab4d84b546512eab9975ab782.tar drakx-ccef46b7d95a3ccab4d84b546512eab9975ab782.tar.gz drakx-ccef46b7d95a3ccab4d84b546512eab9975ab782.tar.bz2 drakx-ccef46b7d95a3ccab4d84b546512eab9975ab782.tar.xz drakx-ccef46b7d95a3ccab4d84b546512eab9975ab782.zip |
fix pci modem support:
- handle manually installed drivers
- removed urpmi sources
- faster checking for driver presence
Diffstat (limited to 'perl-install/network/netconnect.pm')
-rw-r--r-- | perl-install/network/netconnect.pm | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/perl-install/network/netconnect.pm b/perl-install/network/netconnect.pm index 1ae3d1947..52cf9625b 100644 --- a/perl-install/network/netconnect.pm +++ b/perl-install/network/netconnect.pm @@ -466,24 +466,29 @@ Take a look at http://www.linmodems.org"), return "ppp_provider" if $ntf_name =~ m!^/dev/!; return "choose_serial_port" if !$ntf_name; - my %relocations = (ltmodem => $in->do_pkgs->check_kernel_module_packages('ltmodem')); my $type; + + my %pkgs2path = ( + hcfpcimodem => '/usr/sbin/hcfpciconfig', + hsflinmodem => '/usr/sbin/hsfconfig', + ltmodem => '/etc/devfs/conf.d/ltmodem.conf', + ); + + my %devices = (ltmodem => '/dev/ttyS14', + hsflinmodem => '/dev/ttySHSF0' + ); + if (my $driver = $netc->{autodetect}{modem}{$modem_name}{driver}) { $driver =~ /^Hcf:/ and $type = "hcfpcimodem"; $driver =~ /^Hsf:/ and $type = "hsflinmodem"; $driver =~ /^LT:/ and $type = "ltmodem"; - $relocations{$type} || $type && $in->do_pkgs->what_provides($type) or $type = undef; + $type = undef if !($type && ( -f $pkgs2path{$type} || $in->do_pkgs->ensure_is_installed_if_available($type, $pkgs2path{$type}))); + $modem->{device} = $devices{$type} || '/dev/modem' if $type; # automatically linked by /etc/devfs/conf entry } - return "no_supported_winmodem" if !$type; - - $in->do_pkgs->install($relocations{$type} ? @{$relocations{$type}} : $type); - - #$type eq 'ltmodem' and $netc->{autodetect}{modem} = '/dev/ttyS14'; - #- fallback to modem configuration (beware to never allow test it). - return "ppp_provider"; + return $type ? "ppp_provider" : "no_supported_winmodem"; }, }, |