I just had a support call where zaptel was not being loaded/unloaded cleanly (as in the system hung during boot up). I could not unload the module by force either.
I had to noload chan_zap.so and remove zaptel from the init scripts.
This is what is being reported when I do an lsmod and grep of zap/wct
Don’t know if it’s related but I had a similar occurrence today, I was trying to resolve a unrelated issue and so I downloaded the latest source from the svn server to see if the problem had been fixed. After compiling and installing this code I rmmod’ed the old modules and insmod’ed the new modules. Then I ran “ztcfg -v”, It gave the expected output and then also gave a “Segmentation fault” error at the end. I ran it a second time and it ran without segfaulting. This svn 1.2 version of Asterisk would die any time I parked a call so I went to switch back to my previous 1.2.13 version, I tried to rmmod the modules and my wct4xxp module removed ok but the zaptel module refused to unload because it said it was in use. So it appears a program crash can leave the kernel thinking that the module is still in use when it isn’t. There may be ways of forcing the module to unload anyway but since this was a test machine I just rebooted to replace the zaptel module.
System - Ubuntu LTS 6.06 running 2.4.33.3 #1 SMP Wed Oct 11 18:24:43 CDT 2006 i686 GNU/Linux
P.S. The blank field on the lsmod is normal
lsmod
Module Size Used by Not tainted
wct4xxp 790592 24
zaptel 180032 52 [wct4xxp]