This is a DiscontinuedProject. It has been finished and is in a stable state now. Currently, no effort is made for further work here.
The goal of this project is building a computer-based fax machine with my FreeBSD server, an old modem, and the hylafax software. As user interface, either shell access or the Fax0r device are used here.
Building hylafax from ports collection
comms/hylafax can be built quite easily with the option PAGESIZE="ISO A4".
Configuration
The modem is attached to the second serial port in the system, i.e. sio1. The correct device to use for faxing is /dev/ttyd1.
Sending faxes
My modem identifies as USR EM6800-E 56K External modem Rev. 4.7.30.
With the default config (which is xonxoff software handshaking), I only got "no dialtone" errors:
FaxSend[25413]: SEND FAILED: JOB 18 DEST 21 ERR No local dialtone
This occurred because my modem is connected to an internal telephone system (yes, all my electronics and communications equipment is a bit oversized for home use), and this system generates its own dialtone. A change in config.ttyd1 solved this issue:
ModemResultCodesCmd: ATQ0X4 # enable result codes
had to be changed to
ModemResultCodesCmd: ATQ0X3 # enable result codes
Also, to be able to dial internal phone numbers, phone number reformatting has to be switched off. To get an external line, I have to add an extra "0" to the phone number now, and e.g. "22" would dial another modem in my telephony system.
This line must be included in the modem config:
DialStringRules: etc/dialrules.blank
to use this attachment:dialrules.blank.
A script is used to scan pages to be faxed on a USB-attached flatbed scanner.
Receiving faxes
/etc/ttys needs a line for receiving faxes, as documented in hylafax docs:
ttyd1 "/usr/local/sbin/faxgetty" dialup on insecure
work in progress
When basic sending and receiving of faxes works, some /BellsAndWhistles can be added.
Start, stop and restart hylafax
To start the software, /usr/local/etc/rc.d/hylafax.sh start.
To stop, /usr/local/etc/rc.d/hylafax.sh stop might do the trick, but when there are ongoing operations at that time, they might not be stopped by this script. So ps -axuww | grep fax and, if neccessary, kill / kill -KILL could be used.
If /etc/ttys has been configured for faxgetty, comment that line out and kill -HUP 1.
- To restart, e.g. after reconfiguration, first stop hylafax, send init a hangup signal, then start.
THIS DATA IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DATA, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
All product and brand names mentioned on there pages and in the source code are registered names and/or trademarks of the respective owner and are mentioned for identification purposes only.
For a full copyright notice, please see this link. For imprint and contact information, please see http://www.thiemo.net/.