Handbook:Basic Server Configuration:Modem-specific Guidance
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:
Note: Or you can use hylafax+ from hylafax.sourceforge.net Beware though that you might still end up compiling bits if you don't have the right match. With some effort I got it to work fine on Debian Lenny amd 64.
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:
- Copy the Mainpine IQ Express prototype file "mainpine-10" to /var/spool/hylafax/config/mainpine-10
- 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.
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.