Bouw je oude V92 modem om naar X100P FXO kaart

Het blijkt dat de Digium X100P FXO kaarten die voor enkele honderden euros verkocht worden, feitelijk omgebouwde v92 faxmodems zijn.

Er zijn twee manieren om je oude V92 faxmodem te laten werken met bijvoorbeeld Asterisk:
– de driver aanpassen zodat je het modem kunt gebruiken als fxo kaart
– de kaart aanpassen zodat deze wordt herkend als officiële X100P kaart.

Het verschil zit ‘m in het “vendorID” dat de kaart heeft. De Digium kaarten hebben een andere vendor code en de software (driver) werkt alleen met die vendor code.

Onderstaande methoden werken overigens alleen met de volgende chipsets:
– Intel 537PG and 537PU
Let op!: 537EP is gebaseerd op de si3052 chip, deze is niet compatible met de tj320 chip (en wcfxo module).
– Ambient MD3200
– Motorola 62802 – soms is deze geplaatst op SM56 PCI modems.

Op een site als Marktplaats of eBay kun je het beste zoeken op “Intel Winmodem” of “fax modem”. Vraag de verkoper altijd om een foto van de chipset op de kaart om er zeker van te zijn dat je een van de juiste chipsets hebt.

Methode 1:
Wijzig de source code van zaptel/wcfxo.c:
static struct pci_device_id wcfxo_pci_tbl[] __devinitdata = {
{ 0xe159, 0×0001, 0×8085, PCI_ANY_ID, 0, 0, (unsigned long) &wcx101p },
{ 0×1057, 0×5608, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcx100$ };

in:
static struct pci_device_id wcfxo_pci_tbl[] __devinitdata = {
{ 0xe159, 0×0001, 0×8085, PCI_ANY_ID, 0, 0, (unsigned long) &wcx101p },
{ 0xe159, 0×0001, 0×8086, PCI_ANY_ID, 0, 0, (unsigned long) &wcx101p },
{ 0×1057, 0×5608, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcx100$ };

Na deze aanpassing werken zowel de officiële Digium X100p kaarten als een omgebouwde V92 Intel Winmodems.

Methode 2 (deze heb ik gebruikt):
Deze methode is dezelfde die Digium gebruikt om hun “echte” X100P kaarten te maken. Door het verwijderen van weerstanden R13 en R19 met een soldeerbout (let op! dit is SMD montage!!). Door het verwijderen van deze pull-down weerstanden wijzigt het vendorID dat van de kaart gelezen wordt. Door het verwijderen van de weerstanden heb je nu een kaart die als echte Digium X100p herkend wordt in Asterisk.

Om het geheel werkend te krijgen in Asterisk zet je de volgende code in/etc/zaptel.conf:
loadzone=nl
defaultzone=nl
; Use Kewlstart FXS signalling for the Wildcard X100P
fxsks=1

En in /etc/asterisk/zapata.conf:
[channels]
language=en
context=from-pstn
signalling=fxs_ks
channel => 1

Als de DAHDI driver geladen is kun je met het volgende commando de werking van de kaart testen:

dahdi_cfg -vv

De output is dan gelijk aan dit scherm:

Met het commando “lspci” kun je eventueel kijken of Linux je kaart wel herkend.

This entry was posted in ICT, Life Hacking and tagged , , , . Bookmark the permalink.

Leave a Reply