Voice-Over IP for Linux
Many Linux folks may criticize Quicknet because their device driver is not Open Source. Quicknet has made a carefully reasoned business decision to keep their device driver binary-only and not reveal the source code. A full API will be published to detail how to use the device driver, but the source code will be closed. To their credit, Quicknet realizes the tremendous opportunities with Linux and has made the investments needed to get the Linux drivers written. Quicknet has also continued to invest in this area by hiring Linux developers to work in-house.
However, the sample code accompanying the device driver is released under the Lesser GNU Public License (LGPL). While there may be some who demand the drivers be released Open Source, Quicknet believes strongly that having stable, reliable binary-only drivers is good enough for most users, and Quicknet is committed to supporting such a driver.
The device driver for the cards requires a 2.2-series kernel, because some of the low-level features take advantage of changes in the new kernel. The latest modules are compiled with MODVERSIONS support, so assuming your kernel is, the kernel will load the module if the symbol tables are compatible between the module and the kernel. At the time of this writing, we are using 2.2.10 kernels for development.
Our modules have a dedicated “major number” so they can be used with the normal module tools such as insmod and modprobe. All you have to do is add a few lines to your conf.modules file, and the normal modules tools work with our device driver. See below for more information on how to perform the initial configuration.
You will need at least one Internet PhoneJACK/LineJACK card on each end of the connection. Note that the initial release of the Linux driver supports only the Internet PhoneJACK card, though by the time you read this, the Internet LineJACK will be supported as well. These cards are ISA bus devices that use Plug-n-Play for configuration and use no IRQs. The driver will support up to 16 cards in any one system, of any mix between the two types.
Since the Quicknet cards are Plug-n-Play devices, you will need the isapnp tools package to configure the cards. This package probably came with your Linux distribution. Documentation is available on-line at metalab.unc.edu/LDP/HOWTO/Plug-and-Play-HOWTO.html.
The Internet PhoneJACK has only one configuration register that requires 16 I/O ports. The Internet LineJACK card has two configuration registers. Isapnp reports that I/O 0 requires 16 I/O ports and I/O 1 requires 8. The Quicknet driver assumes these registers are configured to be contiguous, i.e., if I/O 0 is set to 0x340, then I/O 1 should be set to 0x350.
If you are new to the isapnp tools, you can jump-start yourself by doing the following:
Run pnpdump to get a blank isapnp.conf file
pnpdump > /etc/isapnp.conf
Edit the /etc/isapnp.conf file to set the register I/O addresses.
If you have multiple Quicknet cards, make sure you do not have any overlaps. Be especially careful if you are mixing Internet PhoneJACK and Internet LineJACK cards in the same system.
To install and load the driver, perform the following:
Unpack the distribution file using tar.
Run the included ixj_dev_create script to create the device files in the /dev directory. This script will create /dev/ixj0 through ixj16.
Run the isapnp configuration utility to configure the cards properly.
Edit the /etc/conf.modules file to add a line that specifies the I/O (input/output) port(s) for the cards you just configured with isapnp, and a line to map the device number to the name of our device. You will need to add the following two lines:
options ixj io=0x300 ixjdebug=a0 alias char-major-159 ixj
This example assumes you have one card at I/O address 0x300; you will need to modify that value if you assigned card(s) to different ports.
Load the module with insmod or modprobe, as you would for any other module.
Verify the module loaded by running lsmod.
Execute an application that uses the module (tpjack or tpjackd).
Fast/Flexible Linux OS Recovery
On Demand Now
In this live one-hour webinar, learn how to enhance your existing backup strategies for complete disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible full-system recovery solution for UNIX and Linux systems.
Join Linux Journal's Shawn Powers and David Huffman, President/CEO, Storix, Inc.
Free to Linux Journal readers.Register Now!
- Back to Backups
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Google's Abacus Project: It's All about Trust
- Secure Desktops with Qubes: Introduction
- Fancy Tricks for Changing Numeric Base
- Working with Command Arguments
- Secure Desktops with Qubes: Installation
- Linux Mint 18
- Seeing Red and Getting Sleep
- CentOS 6.8 Released
Until recently, IBM’s Power Platform was looked upon as being the system that hosted IBM’s flavor of UNIX and proprietary operating system called IBM i. These servers often are found in medium-size businesses running ERP, CRM and financials for on-premise customers. By enabling the Power platform to run the Linux OS, IBM now has positioned Power to be the platform of choice for those already running Linux that are facing scalability issues, especially customers looking at analytics, big data or cloud computing.
￼Running Linux on IBM’s Power hardware offers some obvious benefits, including improved processing speed and memory bandwidth, inherent security, and simpler deployment and management. But if you look beyond the impressive architecture, you’ll also find an open ecosystem that has given rise to a strong, innovative community, as well as an inventory of system and network management applications that really help leverage the benefits offered by running Linux on Power.Get the Guide