summaryrefslogtreecommitdiffstats
path: root/perl-install/network/isdn.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/network/isdn.pm')
-rw-r--r--perl-install/network/isdn.pm8
1 files changed, 5 insertions, 3 deletions
diff --git a/perl-install/network/isdn.pm b/perl-install/network/isdn.pm
index 4605963cc..5d966d8a6 100644
--- a/perl-install/network/isdn.pm
+++ b/perl-install/network/isdn.pm
@@ -187,11 +187,13 @@ sub isdn_ask {
isdn_ask_step_1:
my $e = $in->ask_from_list_(N("ISDN Configuration"),
$label . "\n" . N("What kind of card do you have?"),
- [ N_("ISA / PCMCIA"), N_("PCI"), N_("I don't know") ]
+ [ N_("ISA / PCMCIA"), N_("PCI"), N_("USB"), N_("I don't know") ]
) or return;
isdn_ask_step_1b:
if ($e =~ /PCI/) {
$isdn->{card_type} = 'pci';
+ } elsif ($e =~ /USB/) {
+ $isdn->{card_type} = 'usb';
} else {
$in->ask_from_list_(N("ISDN Configuration"),
N("
@@ -206,7 +208,7 @@ If you have a PCMCIA card, you have to know the \"irq\" and \"io\" of your card.
$e = $in->ask_from_listf(N("ISDN Configuration"),
N("Which of the following is your ISDN card?"),
sub { $_[0]{description} },
- [ grep { $_->{card} eq $isdn->{card_type} } @isdndata ]) or goto isdn_ask_step_1b;
+ [ grep { $_->{card} eq $isdn->{card_type} } @isdndata ]) or goto ($isdn->{card_type} =~ /usb|pci/ ? 'isdn_ask_step_1' : 'isdn_ask_step_1b');
$e->{$_} and $isdn->{$_} = $e->{$_} foreach qw(driver type mem io io0 io1 irq firmware);
isdn_ask_step_3:
@@ -247,7 +249,7 @@ sub isdn_detect_backend {
if (my ($c) = modules::probe_category('network/isdn')) {
$isdn->{$_} = $c->{$_} foreach qw(description vendor id driver options firmware);
$isdn->{$_} = sprintf("%0x", $isdn->{$_}) foreach 'vendor', 'id';
- $isdn->{card_type} = 'pci';
+ $isdn->{card_type} = $c->{bus} eq 'USB' ? 'usb' : 'pci';
($isdn->{type}) = $isdn->{options} =~ /type=(\d+)/;
# $c->{options} !~ /id=HiSax/ && $isdn->{driver} eq "hisax" and $c->{options} .= " id=HiSax";
if ($c->{options} !~ /protocol=/ && $isdn->{protocol} =~ /\d/) {