spiesman@amarna.gsfc.nasa.gov (SPIESMAN, BILL) (03/15/91)
I am having a problem configuring my compuer SCO xenix to use a third serial port. I have tried a few recipes that I have found on the net, but I haven't had much success yet. What I have is a basic IBM style I/O card which has 2 com ports and a printer port. I also have a modem which is configured for com1. I use one serial port on the I/O card which is configured as com2. I still have one serial port left (which is now configured as com3) which I want to use. My setup is thus: port address IRQ --------------------------------- com1 3f8 4 com2 2f8 3 com3 3e8 5 I have jumpered the IRQ5 line as it comes into the card to the com3 port. I then followed the net recipes, adding this line to sioconf.c: {2,IBM_BOARD, 1,5,4, (sd)0x3e8,0,0,MCRBITS3}, and modifying the master file to include IRQ5 as a serial interrupt by putting a 5 in the vec3 column of sio and incrementing vsiz to 3. (I also set vsiz to 1 and removed IRQ5 from the pa line). Now the recipe says that I'm done... but when I rebuild the kernel and reboot, there are no new serial lines listed. In an attempt to see if I was changing anything, I tried to break the serial ports by changing the entries in sioconf.c (changing the interrupt and/or memory addresses). This HAD NO EFFECT! I realized that when xenix boots that it might be reading the actual hardware configuration from the BIOS and over-riding the entries in sioconf.c. So I jumperd the I/O card so that com1 used IRQ3 and com2 used IRQ4, changed the entried in sioconf.c to reflect this hardware change and built/booted the new kernel. And what happened was.... the same old thing. The boot message indicated that the two serial ports are com1/irq4 and com2/irq3. Now the system flailed since the interrupts were associated with the wrong ports, and I am left with the same problem; Xenix seems to be ignoring the changes I make to sioconf.c. Has anybody dealt with this before?? Is there another step that I have skipped?? HELP!!! Bill Spiesman spiesman@amarna.gsfc.nasa.gov
lshih@gmuvax2.gmu.edu (Lieh-Wen Shih) (03/16/91)
OK, I had the exact same problem but I finally managed to "cheat" it out. Now, first thing to ask is: do you need all three ports under Xenix? If yes, skip this article. If no, then my experience may be of help. Simply speaking, I just changed the address of COM1 in sioconf.c to the actual address of COM3. Since they share the same IRQ, there's no problem to tell Xenix to look for another address. Of course, you then lose one port (the real COM1). Put into steps: 1. modify sioconf.c: change the address of COM1 to that of COM3. (or COM2 to COM4). In my case, I changed 2e8 to 3e8. 2. re-compile kernel. 3. put kernel in root --- done! Remember, after you do this, COM1 (tty1A/a) of Xenix is actually the COM3. But Xenix can just use it. In my case, it works fine. Levin lshih@gmuvax2.gmu.edu
karl@robot.in-berlin.de (Karl-P. Huestegge) (03/16/91)
spiesman@amarna.gsfc.nasa.gov (SPIESMAN, BILL) writes: >I am having a problem configuring my compuer SCO xenix to use a third serial >port. I have tried a few recipes that I have found on the net, but I haven't had >much success yet. > com3 3e8 5 >I then followed the net recipes, adding this line to sioconf.c: >{2,IBM_BOARD, 1,5,4, (sd)0x3e8,0,0,MCRBITS3}, .. sounds good. >and modifying the master file to include IRQ5 as a serial interrupt >by putting a 5 in the vec3 column of sio and incrementing vsiz to 3. >(I also set vsiz to 1 and removed IRQ5 from the pa line). That, too. >Now the recipe says that I'm done... .. Wait: Did you mknod the /dev/tty3a and /dev/tty3A ( minors 4 and 132 according to your entry in sioconf.c) ? > but when I rebuild the kernel and.. Hmm... did you build it with 'make xenix' ? Remember that you must get a new /usr/sys/io/sioconf.o (check the date) and that this sioconf.o must get linked into the kernel (Reassure yourself by watching or logging the building of the kernel). Copy or hdinstall the new kernel to the root directory. It's not sufficient to simply link the kernel with 'link_xenix'.. I didn't have any troubles with the procedure you describe.. >..reboot, there are no new serial lines listed. In an attempt to see >if I was changing anything, I tried to break the serial ports by >changing the entries in sioconf.c (changing the interrupt and/or >memory addresses). This HAD NO EFFECT! Well, the interrupts can't be tested on boot. They only get active when chars arrive at your port. But the Adresses you define in sioconf.c are tested to see if a port is at that adress.. >I realized that when xenix >boots that it might be reading the actual hardware configuration >from the BIOS and over-riding the entries in sioconf.c. No no. The BIOS doesn't define any serial port adresses and isn't even used by the xenix kernel. And the kernel doesn't write any source-code. ;-) (nice idea !) sioconf.c gets only changed by you. (Check the date & time!) > Xenix seems to be ignoring the changes I make >to sioconf.c. He isn't allowed to ;-) Well, notice date&time of sioconf.c, cd to /usr/sys/conf and 'make xenix'. Now check that /usr/sys/io/sioconf.o and /usr/sys/conf/xenix are up to date. Finally copy /usr/sys/conf/xenix to /xenix and reboot. -- Karl-Peter Huestegge karl@robot.in-berlin.de Berlin Friedenau Bus: 2,25,48,81,85 U-Net: Bhf.F.Wilh.Pl. ..unido!fub!geminix!robot!karl
terry@unx2.ucc.okstate.edu (Terry J. Klarich) (03/20/91)
In article <4628@dftsrv.gsfc.nasa.gov> spiesman@amarna.gsfc.nasa.gov writes: >I am having a problem configuring my compuer SCO xenix to use a third serial >port. I have tried a few recipes that I have found on the net, but I haven't had >much success yet. What I have is a basic IBM style I/O card which has >2 com ports and a printer port. I also have a modem which is configured >for com1. I use one serial port on the I/O card which is configured as >com2. I still have one serial port left (which is now configured as com3) >which I want to use. I had 4 com ports working when I was using xenix 2.3.2. When I installed the xnx155b upgrade which brought xenix up to 2.3.3, they quit. I am assuming this is what happened to you. First of all, make sure you comment out one unused port discripter in your sioconf.c file. I think there is a fixed number of available configurations. I could be wrong though. Anyway, it won't hurt anything. Next, in your link_xenix script, you will see a line which calls ld. put a reference to your sioconf.o (../io/sioconf.o" file before the reference to vpixio.a library. this should get you going. This bit me as well. Bela Lupkin from sco pointed this out to me. (thanks sco) Terry -- -------------------------------------------------------------------------------- Terry Klarich (terry@unx2.ucc.okstate.edu) n5hts