Install RIO card on Linux kernel 2.2.15 or higher

Issue:
Information update concerning installation instructions as per the RIO manual.

Solution:

For Linux kernel version 2.2.15 or higher, including the 2.4.x kernels, the RIO device driver is part of the standard Linux distribution, therefore, you do not need to apply the patch. Linux kernels 2.6.x may require a patch update (see the Perle Software Downloads page)

Some Linux distributions already have the RIO serial card enabled as a Module in the kernel.
If you run 'modprobe rio' and it returns:

# modprobe: Cannot locate module rio

then the kernel was not built for modular support of the RIO card.
You will then begin the RIO card installation at Step 6 on page 131 of the following RIO User guide.
You will need to rebuild the kernel to add support for the RIO character device.

As rebuilding the kernel is beyond the scope of our support, please contact your Linux distribution support or read the How-To on the kernel.

If you run modprobe and you recieve numerous messages such as:

/lib/modules/2.4.18-3custom/kernel/drivers/char/rio/rio.o: init_module: Cannot allocate memory
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters
/lib/modules/2.4.18-3custom/kernel/drivers/char/rio/rio.o: insmod /lib/modules/2.4.18-3custom/kernel/drivers/char/rio/rio.o failed
/lib/modules/2.4.18-3custom/kernel/drivers/char/rio.o: init_module: Cannot allocate memory
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters
/lib/modules/2.4.18-3custom/kernel/drivers/char/rio.o: insmod /lib/modules/2.4.18-3custom/kernel/drivers/char/rio.o failed
/lib/modules/2.4.18-3custom/kernel/drivers/char/rio.o: insmod rio failed

then the RIO serial card was not detected my the host system. If this is a PCI card then move to a different PCI slot. If this is an ISA card then change to another memory address.

RIO PCI cards will be detected by the hardware detection system and recorded in /proc/pci as:

Bus 0, device 18, function 0:
Communication controller: Specialix Research Ltd. PCI_9050 (rev 0).
IRQ 11.
Non-prefetchable 32 bit memory at 0x42300000 [0x4230007f].
I/O at 0x2080 [0x20ff].
Non-prefetchable 32 bit memory at 0x42200000 [0x4220ffff].

Run lsmod to verify that the module is loaded:

Module Size Used by Not tainted
rio 174560 0 (unused)
generic_serial 11976 0 [rio]

If modprobe returns back to the root prompt without errors then skip to the Installing Utilities section as outlined in the User Guide.

Related Articles:
1.) Perle Multiport Serial Cards and the Linux kernel

Related Links:
1.)  http://www.perle.com/support_services/documentation.shtml
2.)  http://www.tldp.org/index.html
3.)  http://www.perle.com/downloads/multi_port.shtml


Article ID:
100
Published:
1/29/2003 2:31:18 PM
Last Modified:
11/17/2006 10:11:13 AM
Issue Type:
Configuration