Re: Unidentified subject!
> Any one can suggest me how can I make avaible the I/O
> ports of a multiport serial card.
This is how I set up a vscom 8 port card:
# cat vscom
#!/usr/bin/perl -w
$state = 0;
open( PCI, "/proc/pci") || die("cannot open /proc/pci");
while (<PCI>) {
if (m/Bus.*, device.*, function/) { $state = 0; next; }
if (m/Vendor id=10b5\. Device id=([0-9a-f]+)/) { $state = 1; $dev = $1; next; }
if ($state == 1 && m/IRQ (\d+)/) { $irq = $1; next; }
if ($state == 1 && m,I/O at (0x[0-9a-f]+),) { $state = 2; $io1 = $1; next; }
if ($state == 2 && m,I/O at (0x[0-9a-f]+),) { $state = 3; $io2 = $1; next; }
if ($state == 3 && m,I/O at (0x[0-9a-f]+),) { $state = 4; $io3 = $1; last; }
}
close(PCI);
print( "dev $dev, irq $irq, io $io1, $io2, $io3\n" );
$io = hex($io2);
if ($dev == '1076') {
for ($ix = 0; $ix < 8; $ix++ ) {
$num = 4 + $ix;
$str = sprintf("%#04x", $io);
$cmd = "setserial /dev/ttyS$num port $str irq $irq uart 16550A baud_base 921600 ^fourport spd_normal";
print "$cmd\n"; system $cmd;
$cmd = "stty -F /dev/ttyS$num crtscts -ixon";
print "$cmd\n"; system $cmd;
#$a = 64 + $num;
#$cmd = "mknod /dev/ttyS$num c 4 $a";
#system "chown root:dialout /dev/ttyS$num";
#system "chmod 666 /dev/ttyS$num";
$io += 8;
}
$cmd = "setserial /dev/ttyS4 set_multiport port1 $io3 mask1 0xff match1 0xff";
print "$cmd\n"; system $cmd;
}
system "setserial -gb /dev/ttyS? /dev/ttyS[1-9]?"
Regards,
/Karl
-----------------------------------------------------------------------
Karl Hammar Aspö Data karl@aspodata.se
Lilla Aspö 2340 Networks
S-742 94 Östhammar +46 173 140 57 Computers
Sweden +46 70 511 97 84 Consulting
-----------------------------------------------------------------------
Reply to: