Personal tools
HylaFAX The world's most advanced open source fax server

Handbook:Basic Server Configuration:Modem-specific Guidance

Revision as of 18:09, 18 June 2009 by Darren (talk | contribs)

Editor's note - this section is a great place for users to contribute modem-specific setup tips that can benefit others
who might be struggling with the same problem(s)!

This section contains some setup-related issues that are dependent upon the modem and/or fax board you have selected. The information included here is by no means exhaustive; it reflects feedback and contributions from users accumulated over multiple HylaFAX versions and/or operating system releases.

Mainpine IQ Express

Unless you're using kernel 2.6.24 or later you'll have to patch the Linux kernel for this card to work. Here are the steps:

Make sure you have all of the packages installed to build the kernel sources.

yum -y groupinstall "Development Tools"
yum -y install unifdef

Download and install the kernel source rpm for your current kernel.

rpm -ivh http://mirror.centos.org/centos/5/updates/SRPMS/kernel-[...].src.rpm

Download the kernel patch into the SOURCES directory.

cd /usr/src/redhat/SOURCES

wget http://people.ifax.com/~aidan/mainpine/linux-2.6.9-55.EL-ifax1.patch

Update the kernel spec file to include the new patch.

cd ../SPECS/

vim kernel-2.6.spec

You must redefine the "dist" variable in order to distinguish the patched kernel from the standard kernel built for your distro:

%define dist .el5ifax2

Around line 1607 add:
# mainpine patch - iFAX
Patch99995: linux-2.6.9-55.EL-ifax1.patch

Around line 1956 add:
# mainpine patch - iFAX
%patch99995 -p1

Save and exit.

Now build the new kernel with rpmbuild:

rpmbuild -ba --target i686 kernel-2.6.spec

ls -l ../RPMS/i686

In your grub.conf, you must add the following to the end of your "kernel" line and reboot:

8250.nr_uarts=24

The 24 will enable 24 serial ports. If you're using a Mainpine IQ Express 4 Port board, enabling 8 ports should be enough to cover the onboard serial ports and those of the IQ Express board. To see how many ports are currently available and/or occupied try this:

cat /proc/tty/driver/serial

To complete the configuration of this board with HylaFAX, do the following:

  1. Copy the Mainpine IQ Express prototype file "mainpine-10" to /var/spool/hylafax/config/mainpine-10
  2. Run faxaddmodem and specify Class "1.0".

You should see that your modem is properly recognized now. When you're done configuring your modems, enable the faxgetty's in /etc/inittab like normal.


IQ Express "Rev3" boards

Mainpine has started shipping Rev3 versions of the IQ Express which require two additional kernel patches. These patches are included in kernel 2.6.28 and later, but for earlier kernels the following patches are required:

  1. the "Oxsemi" patch
  2. the "Rev3" patch (which uses functions from the Oxsemi patch)

They can be downloaded here: mainpine-oxsemi.zip

The procedure to patch the kernel is identical to the procedure shown above. If you're using a pre-2.6.24 kernel, you'll need to apply the patch shown above as well as the new patches. These new patches should be added to the kernel-2.6.spec after the linux-2.6.9-55.EL-ifax1.patch patch.

If you're patching kernel 2.6.24 or later, the above patch is NOT required and these two new patches should be added more or less where the above patch is placed in kernel-2.6.spec in the procedure shown above. And remember, if you have kernel 2.6.28 or later you should not need any patches at all.

Mainpine Rockforce

Useful installation tips for getting the Rockforce Duo+, Quatro+ and Octo+ series fax boards working on linux can be found at http://www.mainpine.com/q_a_linux.html. The bottom line is that you need to configure the board manually on 2.4 kernels using setserial, and that kernel-2.6 distributions will, for the most part, auto-configure the board. To see what your kernel has done, type the following after a recent reboot:

dmesg | grep tty

RHEL4

A common problem on RHEL4 and RHEL4-derived distributions such as CentOS is that Red Hat only enables 4 "non-legacy 8250/16550 serial ports" which is what the Rockforce boards use. This becomes a problem for Octo+ users, because there's not enough serial devices available to complete the auto-configuration. The following procedure describes how to rebuild Red Hat's kernels with more serial ports for the Octo+.

First, retrieve the latest CentOS 4 kernel source update from a CentOS
mirror site. (At the time of writing this web page, it was:
kernel-2.6.9-34.EL.src.rpm)

Install the RPM by typing:

rpm -i kernel-2.6.9-34.EL.src.rpm

Make the kernel-source RPM:

cd /usr/src/redhat/SPECS
vi kernel-2.6.spec
edit line 59 (exact line may vary), and change buildsource to 1

If you have a minimal install, you may need to:

yum install rpm-build
yum install gcc
yum install redhat-rpm-config

rpmbuild -bb --target=noarch kernel-2.6.spec

(note we use noarch so we don't actually have to wait for compiles
of all the kernels)

Note: The resulting kernel in /usr/src/redhat/RPMS/noarch is good for
*any* config and could be saved and save building for future needs

Install the new kernel-source RPM:

cd /usr/src/redhat/RPMS/noarch
rpm -i kernel-sourcecode-[...].rpm
Note: You might need --nodeps if it asks for qt-devel and gtk2-devel

Now configure/build/install your new kernel:

cd /usr/src/linux-[version]
cp configs/kernel-[version]-[architecture].config .config
yum install ncurses-devel
make menuconfig
Navigate to Device Drivers -> Character devices -> Serial drivers
Select "Maximum number of non-legacy 8250/16550 serial ports" and change to 12
Exit and save configuration
make rpm
rpm -i /usr/src/redhat/RPMS/[architecture(i386)]/kernel-[version]custom.[architecture].rpm

Create initial ram disk (substitute your new kernel version for the one
given in the example):

mkinitrd /boot/initrd-2.6.9-34.ELcustom.img 2.6.9-34.ELcustom

Edit /etc/grub.conf

Add the following as the first kernel entry, substituting your new
kernel version and ramdisk for the ones given in the example.

title CentOS (2.6.9-34.ELcustom)
root (hd0,0)
kernel /vmlinuz-2.6.9-34.ELcustom ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.9-34.ELcustom.img

Save grub.conf and reboot. There should now be enough serial ports
available to use your Octo.

Fedora Core 6

With the latest Linux kernels, such as that packaged in Fedora Core 6, you only need to add this line in the /etc/grub.conf file:

8250.nr_uarts=8

(or how may you want to add)

Since it has support for 32 ports already, this makes it register those ports in the OS during the next boot.



Powered by MediaWiki
Attribution-ShareAlike 2.5

Project hosted by iFAX Solutions