I have an old Pentium (90Mhz). I want to use it to lurn my way around in
Linux. Now inside the box there's a DigiBoard PC/8 card (a non inteligent
board) extending my machine with 8 serial ports. I was wondering, can I use
this under Linux ? What do I have to do ?
kind regards
Lieven
You might have /usr/src/linux/Documentation/digiboard.txt with your
kernel source code.
If not, look on the Serial Cards page of Gary's Encyclopedia at
http://www.aa.net/~swear/pedia/serialcards.html where you'll find it.
The Digi PC/8 cards should act just like a regular dumb multiport card
under linux. They have 16c450 UARTs, and don't lend to being autoprobed
by setserial in my experience, but they work well. You may want to look
at the Serial HOWTO at http://sunsite.unc.edu/LDP (alternatively, the
HOWTOs are often on the local system under /usr/doc). I also wrote this
draft for part of a specifiaction a while back, which might be enough to
get you off the ground (it's really just reference notes for a project I
was involved in). See below. =)
Malcolm.
--http://www.bruhaha.demon.co.uk/cc/4word
Serial Board Setup
------------------
Installing a serial board onto Linux is essentially a two-stage
process, once the physical hardware has been installed into the
machine.
First, it is necessary to create the devices which are to be
associated with the ports on the serial board. This requires a call
to the program "mknod" for each port to be configured. The format of
this command is as follows:
mknod -m 660 /dev/ttySXX c 4 <64+XX>
By convention, XX starts at 16, so as to suitably differentiate it
from any regular serial devices on the system. As an example, the
following commands will create the devices for the first port of a
serial card:
mknod -m 660 /dev/ttyS16 c 4 80
To create the device for the 8th port:
mknod -m 660 /dev/ttyS23 c 4 87
Next, the files containing the configuration information must be
modified. The first file, /etc/rc.d/rc.serial, initialises the ports,
mapping the physical devices to the entries created in /dev. A
Template for the file is shown below:
-cut--------------------------------------------------------------------------
#
# /etc/rc.d/rc.serial
# Initializes the serial ports on your system
#
# Distributed with setserial version 2.12_CTI
#
# Standard flags you want your serial devices to have
# Examples: SAK, pgrp_lockout, session_lockout
#
#STD_FLAGS="session_lockout"
SETSERIAL="/bin/setserial -b"
echo -n "Configuring serial ports..."
echo
###############################################################
#
# MANUAL CONFIGURATION
#
###############################################################
${SETSERIAL} /dev/ttyS16 uart 16450 port 0x100 irq 7 ${STD_FLAGS}
${SETSERIAL} /dev/ttyS17 uart 16450 port 0x108 irq 7 ${STD_FLAGS}
${SETSERIAL} /dev/ttyS18 uart 16450 port 0x110 irq 7 ${STD_FLAGS}
${SETSERIAL} /dev/ttyS19 uart 16450 port 0x118 irq 7 ${STD_FLAGS}
${SETSERIAL} /dev/ttyS20 uart 16450 port 0x120 irq 7 ${STD_FLAGS}
${SETSERIAL} /dev/ttyS21 uart 16450 port 0x128 irq 7 ${STD_FLAGS}
${SETSERIAL} /dev/ttyS22 uart 16450 port 0x130 irq 7 ${STD_FLAGS}
${SETSERIAL} /dev/ttyS23 uart 16450 port 0x138 irq 7 ${STD_FLAGS}
###########################################################
#
# Print the results of the serial configuration process
#
###########################################################
${SETSERIAL} -bg `echo /dev/ttyS? /dev/ttyS??`
echo -n "Done..."
echo
-cut--------------------------------------------------------------------------
The sample provided above is set to configure an 8-port card with base
address 0x100, IRQ 7 and a 16450 UART. Please note that while there is
an auto-configuring option for setserial, it is not reliable and has
been shown not to detect PC-Com boards and Boca-boards. The comments
are not strictly necessary but do help to structure the file.
The file /etc/inittab also must be edited so that the serial port is
recognised as a terminal at boot time. For each port on the serial
board, a line of the following format is required:
SXX:2345:respawn:/sbin/getty ttySXX DT9600 vt100
The last two fields represent baud rate and emulation and should be
set accordingly.
PC/X - Linux install FAQ
How to install a PC/X non-intelligent card under Linux:
Determine the IO ports to be used, the PC/16 has IO ports fixed by PAL chips.
The 4 and 8 port versions and the ClassicBoards are configurable.
Determine the IRQ for the board
For each port issue
"setserial /dev/ttyS[#] ^fourport port [IO] irq [IRQ] uart [UART]"
Issue
"setserial /dev/ttyS[first#] set_multiport port1 [IO] mask1 0xf match1 0xf"
for the control port on a four port board.
Use 0xff for 8 ports, or 0xffff for 16 ports.
Use port2, mask2, match2 for a second board.
Done!
[NOTE: the first Digi port should be ttyS4 or higher on most systems.]
--
Daniel Taylor
Unix is a Linux-like operating system.
Will this also work for the PC/8e series? The reason I'm asking is I'm
having a world of trouble trying to get the board to work. I've using RH
5.1 with the update 2.0.35 kernel. I did activate the Digiboard support
when I recompiled the new kernel. I also appended
'digi=E,PC/Xe,D,8,100,D8000' to lilo.conf. I then created the ttyD* and
cud* devices as in Digiboard.txt (using the mkdigidev script). The board
tested OK with irq 10 using the cd-cisc program provided by Digi.
When I try to issue the setserial command for each port, I'm getting "Cannot
get serial info: Invalid argument".
Any help would be greated appreciated.
Ken McCord