Hack64.Brew Your Own Zaptel Interface Card


Hack 64. Brew Your Own Zaptel Interface Card

With a little tweaking, a very common fax/modem card can become a clone of the single-line X100P interface card.

The Digium X100P foreign exchange office (FXO) card, used to connect a single phone company line to an Asterisk server, is actually an Intel V.92 Data/Fax/Voice modem card. One visual comparison between an Intel V.92 Winmodem PCI card and an official X100P, and it's obvious that the two cards are identical. So, using the less-expensive modem card in place of an X100P card is not only possible, it's downright easy.

The Intel 537EP chipset is a V.92 PCI modem chip family. Many modems are built on the Intel 537EP chipset, but this hack is known to work only with the Intel V.92 Winmodem card.

The critical thing about using an Intel V.92 modem card that has not been purchased from Digium as an X100P, but otherwise looks the same, is that the vendor ID encoded into the card will read differently, breaking the original Zaptel driver and rendering the card useless. Fortunately, there are two ways around this. The most obvious solution is to hack the code of the driver. Before you compile Asterisk and Zaptel from the Digium CVS archive [Hack #41], you'll need to edit the zaptel/wcfxo.c file.

Here's the existing code snippet you'll need to change:

 static struct pci_device_id wcfxo_pci_tbl[] __devinitdata = { { 0xe159, 0x0001, 0x8085, PCI_ANY_ID, 0, 0, (unsigned long) &wcx101p }, { 0x1057, 0x5608, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcx100$ }; 

Change this section in zaptel/wsfxo.c to this:

 static struct pci_device_id wcfxo_pci_tbl[] __devinitdata = { { 0xe159, 0x0001, 0x8085, PCI_ANY_ID, 0, 0, (unsigned long) &wcx101p }, { 0xe159, 0x0001, 0x8086, PCI_ANY_ID, 0, 0, (unsigned long) &wcx101p }, { 0x1057, 0x5608, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcx100$ }; 

The line added in the middle will allow the Zaptel wcfxo driver to work with standard Intel V.92 Winmodem boards (while still keeping the driver compatible with official Digium X100P cards). Recompile the Zaptel drivers [Hack #41], and your Intel V.92 cards can be used as FXO interfaces. Pretty neat, eh?

The other, more difficult way to enable this feat is by modifying the boards themselves. This means re-creating the same modification that Digium does when it modifies Intel cards to create so-called genuine X100P cards. Remove the resistors marked R13 and R19 by unsoldering them. But be careful, and don't expect to return your Intel V.92 card, as its warranty will now be invalid.




VoIP Hacks
VoIP Hacks: Tips & Tools for Internet Telephony
ISBN: 0596101333
EAN: 2147483647
Year: 2005
Pages: 156

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net