Re: Multi-I/O-Karte

From: Bernd Walter <ticso(at)cicely8.cicely.de>
Date: Sat, 3 Nov 2001 21:42:43 +0100

On Sat, Nov 03, 2001 at 08:31:27PM +0100, Martin Schepers wrote:
> Hallo,
>
> in einem FreeBSD 4.3 Rechner steckt eine PCI-Multi-I/O Karte
> mit 4 COM-Ports (Gibts auch mit 8), die ich nicht zum laufen
> bekomme.
>
> Für ISA-Karten gibts ne Kernel-Option, bei diesem Ding aber
> wird das wahrscheinlich nichts bringen.
>
> Wie bindet man die am besten ein?
>
>
>
> Für Linux gibts eine Anleitungm die ich aber nicht auf BSD
> umzusetzen wüsste:
>
> [Auszüge]
>
> (1) Find the available serial ports
> #setserial /dev/ttyS0 -a (COM1)
> #setserial /dev/ttyS1 -a (COM2)
> #setserial /dev/ttyS2 -a (COM3)
> #setserial /dev/ttyS3 -a (COM4)
>
>
> (2) Find the PCI card resource ( IO port address & IRQ) for
> the serial ports
> Please enter the command "#more /proc/pci".
> The response is similar to the following
>
> …………………………………………………………………..
> …………………………………………………………………..
> Bus 0, Device 11, function 0:
> ^^
> Serial controller : Unknown vendor Unknown device (rev 1).
> Vendor id=1409, Device id=7168
> Medium devsel. Fast back-to-back capable. IRQ 10
> ^^
> I/O at 0xef80 [0xef81]
> ^^^^ ^^^^
>
> From the /proc/pci file, it is possible to find the PCI card's IO
> port address and IRQ. Especially, the SUNIX card always shows
>
> "Vendor id=1409, Device id=7168".
>
>
> (3) Configure the parameters for ttyS2 & ttyS3
>
> for SUNIX 4025A card (PCI 1S), please enter (if ttyS2 is free)
> # setserial /dev/ttyS2 port 0xef80 UART 16550A
> irq 10 Baud_base 921600
>
> for SUNIX 4036A card (PCI 2S), please enter (if ttyS2 & ttyS3 are free)
>
> # setserial /dev/ttyS2 port 0xef80 UART 16550A
> irq 10 Baud_base 921600
> # setserial /dev/ttyS3 port 0xef88 UART 16550A
> irq 10 Baud_base 921600
>
>
> (4) Check the setting for ttyS2 & ttyS3
>
> Please enter # setserial /dev/ttyS2 -a
> The response look likes below
>
> /dev/ttyS2, Line 2, UART: 16550A, Port: 0xef80, irq: 10
> Baud_base: 921600, clos_delay: 50, divisor: 0
> closing_wait: 3000, closing_wait2: infinite
> Flags: spd_normal skip_test
>
>
> (5) Then the ttyS2 & ttyS3 are ready for application
> (eg. minicom -s or xminicom -s or Kppp ...)

Ein boot -v liefert dir die I/O Daten.
Nur ist ein aeusserst riskanter Hack.
Es reicht das Einstecken einer Karte - oder auch nur das
(de)aktivieren einer onboard Schnittstelle und die I/O Daten
aendern sich.

FreeBSD sollte mit solchen Bausteinen prinzipiel umgehen koennen.
Mitunter braucht nur eine pci-id nachgetragen werden.
Versuche mal src/sys/isa/sio.c das struct pci_ids pci_ids[]
um { 0x71681409, "SUNIX 4025A sio", 0x10 } zu erweitern.

boot -v output nicht vergessen.

-- 
B.Walter              COSMO-Project         http://www.cosmo-project.de
ticso(at)cicely.de         Usergroup           info(at)cosmo-project.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sat 03 Nov 2001 - 21:46:24 CET

search this site