[comp.unix.xenix] Hacking a dumb serial card...

shields@nccn.yorku.ca (Paul Shields) (01/04/90)

Steve,

You asked in comp.unix.xenix...
>I captured a previous posting in which someone described how they modified
>the kernel to add a 3rd serial port using a card configured as "com3" and
>modifying the card so it used IRQ 5.  Well, what if neither IRQ 5 nor IRQ 7
>are availale?   I have a two port serial card which I can configure as com3
>and com4.  Can I hack it to use IRQ 10 and IRQ11 (for example) and install
>it using the same basic kernel modification?

Remember, to make use IRQ lines above 7, the serial card must have the
AT extended bus connector.  Your guess is as good as mine if you start
cutting traces on the card. 

I used a board called the Sigma AT Maximizer, that is basically 4MB 
memory card with 2 serial ports thrown in.  It allowed COM3 and COM4 to
take IRQ11 and IRQ12 through a couple of jumpers.  The changes to the
kernel were minimal:

% cd /usr/sys/io
% diff sioconf.c.dst sioconf.c
79,80c79,83
< {2,MITS_BOARD, 4,27, 4,(sd)0x400,0x400+MITS_POLL,  16,MCRBIT3}, /*mitsu 4*/
< {3,MITS_BOARD, 4,28,12,(sd)0x408,0x408+MITS_POLL,  16,MCRBIT3}, /*mitsu 4*/
---
> {2,IBM_BOARD,  1,28,4, (sd)0x3e8,0,                 0,MCRBIT3}, /*ibm COM3*/
> {3,IBM_BOARD,  1,27,12,(sd)0x2e8,0,                 0,MCRBIT3}, /*ibm COM4*/
> 
> /*{2,MITS_BOARD, 4,27, 4,(sd)0x400,0x400+MITS_POLL,  16,MCRBIT3},*/ /*mitsu 4*/
> /*{3,MITS_BOARD, 4,28,12,(sd)0x408,0x408+MITS_POLL,  16,MCRBIT3},*/ /*mitsu 4*/


All that was required was to set the jumpers, modify sioconf.c, make
and install the kernel, and reboot. 

Hope this helps.

Paul Shields
shields@nccn.yorku.ca