[Asterisk-Users] Intel 537EP chipset, revisited
Lee Howard
faxguy at howardsilvan.com
Thu Jun 10 22:07:17 MST 2004
Hello everyone.
I hope that this isn't a sore topic, but I've spent a week now reading
through everything I could dig up from the archives on this topic, and
I'm not yet satisfied with any conclusions presented there. I've also
spent a few days hacking on the Asterisk code, trying to understand how
things work better, and I'm still not ready to give up. I well-realize
that for the amount of time I'm investing I could have much more
"productively" bought and used known-functional hardware from Digium,
but please understand that at the moment my interest in Asterisk is
more for my educational benefit than it is to get a functional PBX
running. I'm interested in investing the time into understanding how
Asterisk works, particularly on the hardware and customization levels.
So please entertain me on this, if you will...
After some time determining Asterisk's level of support (or lack of
support) for voice modems and support by (or lack of support by) voice
modems for full-duplex applications, I then followed the instructions
on:
http://www.voip-info.org/wiki-Asterisk+Hardware
.. and I found myself a few Intel 537 modems. The Wiki doesn't
distinguish between the various models of the 537 series, and not
knowing any better, I wound up with the 537EPU (FA82537EP + Si3017)
versions.
Now, had I done more research on the 537EP+Asterisk solution, in
particular, if I had read this thread:
http://lists.digium.com/pipermail/asterisk-users/2004-April/044421.html
... then I wouldn't be writing here now because I would have realized
sooner that the native generic compatibility of the wcfxo driver is
really only with the MD3200 (Cirrus Logic/Ambient) chipset, which is
found on the 537PG and 537PU versions and not on the 537EPs. Okay, so
no big deal, I can get different modems. But remember, this is an
educational endeavor for me, and I have to ask myself, "Why isn't the
wcfxo driver compatible with the 573EP?"
I ask myself this question because the code change to wcfxo.c to
support the generic versions was a mere tweak to catch the PCI device
ids properly. See:
http://www.broadbandreports.com/forum/remark,8931677~mode=flat~days=9999~start=20
And furthermore, Intel uses the same driver for all of the 537
chipsets, so I would think that the FA82537EP chip would be compatible
with the MD3200 chip.
http://www.intel.com/design/modems/products/537ep.htm
So, as an educational endeavor I changed wcfxo.c to also catch the PCI
device ids of my cards:
static struct pci_device_id wcfxo_pci_tbl[] = {
{ 0xe159, 0x0001, 0x8085, PCI_ANY_ID, 0, 0, (unsigned long)
&wcx101p },
{ 0xe159, 0x0001, 0x8086, PCI_ANY_ID, 0, 0, (unsigned long)
&generic },
{ 0x8086, 0x1080, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned
long) &generic },
{ 0x1057, 0x5608, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned
long) &wcx100p },
{ 0 } };
That was done in accordance to this:
[root at gollum zaptel]# lspci -vv -n -d 8086:1080
00:0a.0 Class 0703: 8086:1080 (rev 04)
Subsystem: 8086:1000
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping+ SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (250ns min, 15500ns max), cache line size 08
Interrupt: pin A routed to IRQ 10
Region 0: Memory at e8201000 (32-bit, non-prefetchable)
[size=4K]
Region 1: I/O ports at d800 [size=256]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
But I end up with this:
[root at gollum zaptel]# insmod wcfxo
Using /lib/modules/2.4.20/misc/wcfxo.o
/lib/modules/2.4.20/misc/wcfxo.o: init_module: No such device
Hint: insmod errors can be caused by incorrect module parameters,
including invalid IO or IRQ parameters.
You may find more information in syslog or the output from dmesg
This happens because pci_module_init() returns a non-zero value, so the
module returns -ENODEV (no such device).
Did I not modify wcfxo_pci_tbl properly for the card to at least be
detected by pci_module_init() ? If not, what did I miss? I didn't
necessarily expect the driver to work, maybe it would even crash the
machine, but I was at least hoping that I could get the module loaded.
Before I move on to find some MD3200-chipsetted modems I'd like to know
at least whether or not the two chipsets (FA82537EP and MD3200) are
incompatible, this wasn't stated by any of the previous posts on this
topic... just that the module "wouldn't work", and that part is fairly
obvious given that the proper device ids aren't even in the original
wcfxo.c source. I'm looking for a "deeper" answer than that.
Any help is appreciated.
Thanks.
Lee.
More information about the asterisk-users
mailing list