Friday, March 4, 2011

Digi Portserver II 16 serial port server setup for RHEL or CentOS 5.x

I had an opportunity to test some additional equipment recently. This is the general setup and install and basic configuration for the Digi Portserver II 16 serial port server for CentOS 5.5. All of this is just a step in adding additional capabilities to our Hylafax servers. Additionally, other serial devices are also connected to give us network access to them. This includes serial port consoles and serial admin ports for some power strips to remotely power cycle some equipment if needed. The Digi Portserver II is not new and has been around for a while. This makes it cheap to pickup on eBay and use.

As a note, all commands that install something will need to be done as effective user "root". You can "sudo" your way there or just "su -"; your choice. Please take some time to
sanely setup a build environment on another box (if possible/practical).

This article is a follow up to a previous post on How to get a Digi Edgeport/416 working with RHEL/CentOS 5

Here is the Digi Portserver II overview from Digi. Nice starting point for information.

Here is the Driver download page if the overview is too much reading.

For even less effort you can get the latest stable kernel driver this way:
wget ftp://ftp1.digi.com/support/driver/40002086_P.src.rpm

or grab the beta code like I did:
wget ftp://ftp1.digi.com/support/beta/linux/dgrp/dgrp-1.9-29.src.rpm

To build the kernel module, you will need a few prerequisite packages. These are the ones that got me what I needed. You may need more or less depending on what you already had installed:
yum -y install ncurses-devel openssl-devel rpm-build kernel-headers

rpmbuild --rebuild dgrp-1.9-29.src.rpm

Install the built dgrp-1.9-29.i386.rpm with rpm or yum. You could choose to reboot or more simply just run
modprobe dgrp

If you just want the command line setup for the tty ports under /dev/, you can run something like:
/usr/bin/dgrp/config/dgrp_cfg_node init -v -v -e never 1 IP_OR_HOSTNAME 16

If you prefer a GUI setup and have tk and xorg-x11-xauth at least installed:
/usr/bin/dgrp/config/dgrp_gui

Finding firmware version of your Digi Portserver II to tell if you need a firmware update:
telnet IP/hostname #> cpconf term

May show something like:
# PortServerII Version 3.1.13 Nov 1 2006

Post dgrp driver setup with udev if you need:
For wide open perms edit /etc/udev/rules.d/10-dgrp.rules and change the line from
KERNEL=="tty_dgrp*", PROGRAM="/usr/bin/dgrp_udev %k", NAME="%c"

to
KERNEL=="tty_dgrp*", PROGRAM="/usr/bin/dgrp_udev %k", NAME="%c", MODE="0666", OPTIONS="last_rule"

For just group perms change to group "uucp" for example, alter original line from
KERNEL=="tty_dgrp*", PROGRAM="/usr/bin/dgrp_udev %k", NAME="%c"

to
KERNEL=="tty_dgrp*", PROGRAM="/usr/bin/dgrp_udev %k", NAME="%c", MODE="0660", GROUP="uucp"

A quick way to see all of the dev files created by the dgrp driver is the default major number 253 is kept:
ls -la /dev/|grep " 253"

Make sure the dgrp kernel module is loaded:
lsmod|grep dgrp

On a sad note, following these instructions will only create a kernel module for the current kernel. You will need to do rebuild on the dgrp package on any kernel update... sorry I have not yet incorporated kmod or DKMS for a dynamic module build. There is hope for me if would just try THIS link, however.

3 comments:

  1. Hi, I'm trying to compile this module to supports DKMS but I find many problems. You finally get it? I am using Ubuntu 8.04 but I think the problems come from the DKMS not the distribution. Let's see if we are lucky and can help me.

    Apologies for my English!
    Thank you.

    ReplyDelete
  2. PJW -

    *So* appreciate that you took the time to set this down. It saved me hours of configuration and setup time for my Digi TS 4 Portserver (not your model, but the setup is so close - thank you Digi - that everything worked exactly as you laid it out for your box).

    Thank you.

    ReplyDelete