Patrick,
I only own a 536EP modem. But don't panic ! Your problem involves
coredrv/rts.c and coredrv/locks.c which source code is common to both
binary drivers. Here are my tests with an IRQ conflict.
[philippe@victor ~]$ cd intel-536-537/
[philippe@victor intel-536-537]$ make 536
cd coredrv; make clean
make[1]: Entering directory `/home/philippe/intel-536-537/coredrv'
rm -f *.ko .*.o.cmd *.mod.c .*.ko.cmd *.o *~ core Module.* modules.*
rm -rf .tmp_versions
make[1]: Leaving directory `/home/philippe/intel-536-537/coredrv'
rm -f *.o *.ko
Module precompile check
Current running kernel is: 3.1.6-1.fc16.i686
/lib/modules... autoconf.h exists
diff: /boot/vmlinuz.autoconf.h: No such file or directory
autoconf.h matches running kernel
diff: /boot/vmlinuz.version.h: No such file or directory
version.h matches running kernel
make[1]: Entering directory `/home/philippe/intel-536-537'
3.1.6-1.fc16.i686
make[2]: Entering directory `/home/philippe/intel-536-537/coredrv'
make -C /lib/modules/3.1.6-1.fc16.i686/build
M=/home/philippe/intel-536-537/coredrv modules
make[3]: Entering directory `/usr/src/kernels/3.1.6-1.fc16.i686'
CC [M] /home/philippe/intel-536-537/coredrv/coredrv.o
CC [M] /home/philippe/intel-536-537/coredrv/clmmain.o
CC [M] /home/philippe/intel-536-537/coredrv/rts.o
CC [M] /home/philippe/intel-536-537/coredrv/task.o
CC [M] /home/philippe/intel-536-537/coredrv/uart.o
CC [M] /home/philippe/intel-536-537/coredrv/wwh_dflt.o
CC [M] /home/philippe/intel-536-537/coredrv/locks.o
CC [M] /home/philippe/intel-536-537/coredrv/softserial_io.o
CC [M] /home/philippe/intel-536-537/coredrv/softserial_ioctl.o
CC [M] /home/philippe/intel-536-537/coredrv/softserial.o
LD [M] /home/philippe/intel-536-537/coredrv/Intel536.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: could not find
/home/philippe/intel-536-537/coredrv/.536core.lib.cmd for
/home/philippe/intel-536-537/coredrv/536core.lib
CC /home/philippe/intel-536-537/coredrv/Intel536.mod.o
LD [M] /home/philippe/intel-536-537/coredrv/Intel536.ko
make[3]: Leaving directory `/usr/src/kernels/3.1.6-1.fc16.i686'
make[2]: Leaving directory `/home/philippe/intel-536-537/coredrv'
make[1]: Leaving directory `/home/philippe/intel-536-537'
[philippe@victor intel-536-537]$ sudo make install
make[1]: Entering directory `/home/philippe/intel-536-537'
rm -f /etc/hamregistry.bin
bash Intel536_inst
running kernel 3.1.6-1.fc16.i686
installing hamregistry, used for persistant storage
installing Intel536 driver
install REDHAT Intel536 boot script and links
starting module and utilities
hamregistry: no process found
done
make[1]: Leaving directory `/home/philippe/intel-536-537'
[philippe@victor intel-536-537]$ dmesg | tail
blahblah
[650696.142858] Intel 536EP card found
blahblah
[philippe@victor ~]$ efax -vewinchmart
efax: Thu Jan 5 22:21:20 2012 efax v 0.9a-001114 Copyright 1999 Ed Casas
efax: Thu Jan 5 22:21:20 2012 efax v 0.9a-001114 Copyright 1999 Ed Casas
efax: 21:20 compiled Feb 8 2011 17:28:56
efax: 21:20 argv[0]=efax
efax: 21:20 argv[1]=-vewinchmart
efax: 21:21 opened /dev/modem
efax: 21:21 command "Q0V1"
efax: 21:21 waiting 2.0 s
efax: 21:24 waiting 2.0 s
efax: 21:24 .340 [ATQ0V1<CR><CR><LF>]
efax: 21:24 .400 [OK<CR><LF>]
efax: 21:24 response "OK"
efax: 21:24 waiting 2.0 s
efax: 21:26 command "Q0V1"
efax: 21:26 waiting 2.0 s
efax: 21:26 .520 [ATQ0V1<CR><CR><LF>]
efax: 21:26 .580 [OK<CR><LF>]
efax: 21:26 response "OK"
efax: 21:26 command "E0"
efax: 21:26 waiting 5.0 s
efax: 21:26 .700 [ATE0<CR><CR><LF>]
efax: 21:26 .750 [OK<CR><LF>]
efax: 21:26 response "OK"
efax: 21:26 command "I3"
efax: 21:26 waiting 5.0 s
efax: 21:26 .900 [<CR><LF>536EP<CR><LF>]
efax: 21:26 .920 [<CR><LF>OK<CR><LF>]
efax: 21:26 response "OK"
efax: 21:27 command "+FCLASS=?"
efax: 21:27 waiting 5.0 s
efax: 21:27 .070 [<CR><LF>0,1,8<CR><LF>]
efax: 21:27 .090 [<CR><LF>OK<CR><LF>]
efax: 21:27 response "OK"
efax: 21:27 command "+FCLASS=1"
efax: 21:27 waiting 5.0 s
efax: 21:27 .260 [<CR><LF>OK<CR><LF>]
efax: 21:27 response "OK"
efax: 21:27 using 536EP in class 1
efax: 21:27 command "+FRM=?"
efax: 21:27 waiting 5.0 s
efax: 21:27 .410 [<CR><LF>24,48,72,73,74,96,97,98,121,122,145,146<CR><LF>]
efax: 21:27 .430 [<CR><LF>OK<CR><LF>]
efax: 21:27 response "OK"
efax: 21:27 command "A"
efax: 21:27 waiting 120.0 s
efax: 21:32 .350 [<CR><LF>CONNECT<CR><LF>]
efax: 21:32 response "CONNECT"
efax: 21:32 fax call answered
efax: 21:32 sent 23 bytes:
efax: 21:32 ff c0 02 04 04 04 04 04 04 04 04 04 04 04 04 04
efax: 21:32 04 04 04 04 04 04 04
efax: 21:32 sent CSI - answering ID
efax: 21:32 waiting 13.6 s
efax: 21:34 .080 [<CR><LF>CONNECT<CR><LF>]
efax: 21:34 response "CONNECT"
efax: 21:34 sent 6 bytes: ff c8 01 00 76 1e
efax: 21:34 sent DIS - answering capabilities
efax: 21:34 waiting 13.6 s
efax: 21:34 .440 [<CR><LF>OK<CR><LF>]
efax: 21:34 response "OK"
efax: 21:34 command "+FRH=3"
efax: 21:34 waiting 3.0 s
efax: 21:37 waiting 2.0 s
efax: 21:37 .470 [<CR><LF>OK<CR><LF>]
efax: 21:37 response "OK"
efax: 21:37 received 79 bytes:
efax: 21:37 ff c8 01 00 76 1e 04 04 04 04 04 04 04 04 04 04
efax: 21:37 04 04 04 04 04 04 04 00 00 00 dd 01 00 00 00 00
efax: 21:37 00 00 f4 cf 33 32 60 07 fb 43 d4 93 f3 bf 01 00
efax: 21:37 00 00 f4 cf fa 43 17 5a f4 bf 17 5a f4 bf 48 60
efax: 21:37 f4 bf 04 57 eb 43 35 5b 05 08 60 07 fb 43 cf
efax: 21:37 received DIS - answering capabilities
efax: 21:37 command "+FTH=3"
efax: 21:37 waiting 3.1 s
efax: 21:37 .540 [<CR><LF>CONNECT<CR><LF>]
efax: 21:37 response "CONNECT"
efax: 21:37 sent 23 bytes:
efax: 21:37 ff c0 02 04 04 04 04 04 04 04 04 04 04 04 04 04
efax: 21:37 04 04 04 04 04 04 04
efax: 21:37 sent CSI - answering ID
efax: 21:37 waiting 13.6 s
efax: 21:39 .270 [<CR><LF>CONNECT<CR><LF>]
efax: 21:39 response "CONNECT"
efax: 21:39 sent 6 bytes: ff c8 01 00 76 1e
efax: 21:39 sent DIS - answering capabilities
efax: 21:39 waiting 13.6 s
efax: 21:39 .630 [<CR><LF>OK<CR><LF>]
efax: 21:39 response "OK"
efax: 21:39 command "+FRH=3"
efax: 21:39 waiting 3.0 s
efax: 21:42 waiting 2.0 s
efax: 21:42 .660 [<CR><LF>OK<CR><LF>]
efax: 21:42 response "OK"
efax: 21:42 received 79 bytes:
efax: 21:42 ff c8 01 00 76 1e 04 04 04 04 04 04 04 04 04 04
efax: 21:42 04 04 04 04 04 04 04 00 00 00 dd 01 00 00 00 00
efax: 21:42 00 00 f4 cf 33 32 60 07 fb 43 d4 93 f3 bf 01 00
efax: 21:42 00 00 f4 cf fa 43 17 5a f4 bf 17 5a f4 bf 48 60
efax: 21:42 f4 bf 04 57 eb 43 35 5b 05 08 60 07 fb 43 cf
efax: 21:42 received DIS - answering capabilities
efax: 21:42 command "+FTH=3"
efax: 21:42 waiting 3.1 s
efax: 21:42 .730 [<CR><LF>CONNECT<CR><LF>]
efax: 21:42 response "CONNECT"
efax: 21:42 sent 23 bytes:
efax: 21:42 ff c0 02 04 04 04 04 04 04 04 04 04 04 04 04 04
efax: 21:42 04 04 04 04 04 04 04
efax: 21:42 sent CSI - answering ID
efax: 21:42 waiting 13.6 s
efax: 21:44 .460 [<CR><LF>CONNECT<CR><LF>]
efax: 21:44 response "CONNECT"
efax: 21:44 sent 6 bytes: ff c8 01 00 76 1e
efax: 21:44 sent DIS - answering capabilities
efax: 21:44 waiting 13.6 s
efax: 21:44 .820 [<CR><LF>OK<CR><LF>]
efax: 21:44 response "OK"
efax: 21:44 command "+FRH=3"
efax: 21:44 waiting 3.0 s
efax: 21:47 waiting 2.0 s
efax: 21:47 .850 [<CR><LF>OK<CR><LF>]
efax: 21:47 response "OK"
efax: 21:47 received 79 bytes:
efax: 21:47 ff c8 01 00 76 1e 04 04 04 04 04 04 04 04 04 04
efax: 21:47 04 04 04 04 04 04 04 00 00 00 dd 01 00 00 00 00
efax: 21:47 00 00 f4 cf 33 32 60 07 fb 43 d4 93 f3 bf 01 00
efax: 21:47 00 00 f4 cf fa 43 17 5a f4 bf 17 5a f4 bf 48 60
efax: 21:47 f4 bf 04 57 eb 43 35 5b 05 08 60 07 fb 43 cf
efax: 21:47 received DIS - answering capabilities
efax: 21:47 command "+FTH=3"
efax: 21:47 waiting 3.1 s
efax: 21:47 .920 [<CR><LF>CONNECT<CR><LF>]
efax: 21:47 response "CONNECT"
efax: 21:47 sent 23 bytes:
efax: 21:47 ff c0 02 04 04 04 04 04 04 04 04 04 04 04 04 04
efax: 21:47 04 04 04 04 04 04 04
efax: 21:47 sent CSI - answering ID
efax: 21:47 waiting 13.6 s
efax: 21:49 .650 [<CR><LF>CONNECT<CR><LF>]
efax: 21:49 response "CONNECT"
efax: 21:49 sent 6 bytes: ff c8 01 00 76 1e
efax: 21:49 sent DIS - answering capabilities
efax: 21:49 waiting 13.6 s
efax: 21:50 .010 [<CR><LF>OK<CR><LF>]
efax: 21:50 response "OK"
efax: 21:50 command "+FRH=3"
efax: 21:50 waiting 3.0 s
efax: 21:53 waiting 2.0 s
efax: 21:53 .040 [<CR><LF>OK<CR><LF>]
efax: 21:53 response "OK"
efax: 21:53 received 79 bytes:
efax: 21:53 ff c8 01 00 76 1e 04 04 04 04 04 04 04 04 04 04
efax: 21:53 04 04 04 04 04 04 04 00 00 00 dd 01 00 00 00 00
efax: 21:53 00 00 f4 cf 33 32 60 07 fb 43 d4 93 f3 bf 01 00
efax: 21:53 00 00 f4 cf fa 43 17 5a f4 bf 17 5a f4 bf 48 60
efax: 21:53 f4 bf 04 57 eb 43 35 5b 05 08 60 07 fb 43 cf
efax: 21:53 received DIS - answering capabilities
efax: 21:53 command "+FTH=3"
efax: 21:53 waiting 3.1 s
efax: 21:53 .110 [<CR><LF>CONNECT<CR><LF>]
efax: 21:53 response "CONNECT"
efax: 21:53 sent 23 bytes:
efax: 21:53 ff c0 02 04 04 04 04 04 04 04 04 04 04 04 04 04
efax: 21:53 04 04 04 04 04 04 04
efax: 21:53 sent CSI - answering ID
efax: 21:53 waiting 13.6 s
efax: 21:54 .840 [<CR><LF>CONNECT<CR><LF>]
efax: 21:54 response "CONNECT"
efax: 21:54 sent 6 bytes: ff c8 01 00 76 1e
efax: 21:54 sent DIS - answering capabilities
efax: 21:54 waiting 13.6 s
efax: 21:55 .200 [<CR><LF>OK<CR><LF>]
efax: 21:55 response "OK"
efax: 21:55 command "+FRH=3"
efax: 21:55 waiting 3.0 s
efax: 21:58 waiting 2.0 s
efax: 21:58 .230 [<CR><LF>OK<CR><LF>]
efax: 21:58 response "OK"
efax: 21:58 received 79 bytes:
efax: 21:58 ff c8 01 00 76 1e 04 04 04 04 04 04 04 04 04 04
efax: 21:58 04 04 04 04 04 04 04 00 00 00 dd 01 00 00 00 00
efax: 21:58 00 00 f4 cf 33 32 60 07 fb 43 d4 93 f3 bf 01 00
efax: 21:58 00 00 f4 cf fa 43 17 5a f4 bf 17 5a f4 bf 48 60
efax: 21:58 f4 bf 04 57 eb 43 35 5b 05 08 60 07 fb 43 cf
efax: 21:58 received DIS - answering capabilities
efax: 21:58 Error: no command/response from remote
efax: 21:58 command "+FTH=3"
efax: 21:58 waiting 3.1 s
efax: 21:58 .300 [<CR><LF>CONNECT<CR><LF>]
efax: 21:58 response "CONNECT"
efax: 21:58 sent 3 bytes: ff c8 5f
efax: 21:58 sent DCN - disconnect
efax: 21:58 waiting 13.6 s
efax: 21:59 .540 [<CR><LF>OK<CR><LF>]
efax: 21:59 response "OK"
efax: 21:59 command "H"
efax: 21:59 waiting 5.0 s
efax: 21:59 .990 [<CR><LF>OK<CR><LF>]
efax: 21:59 response "OK"
efax: 22:00 command "Q0V1"
efax: 22:00 waiting 2.0 s
efax: 22:00 .170 [<CR><LF>OK<CR><LF>]
efax: 22:00 response "OK"
efax: 22:00 command "H"
efax: 22:00 waiting 5.0 s
efax: 22:00 .710 [<CR><LF>OK<CR><LF>]
efax: 22:00 response "OK"
efax: 22:00 done, returning 3 (invalid modem response)
From another terminal:
$ tail -f /var/log/messages
blahblah
Jan 5 22:21:20 victor kernel: [651199.900885] type=1400
audit(1325798480.609:1687): avc: denied { read write } for pid=31956
comm="efax" name="536ep" dev=devtmpfs ino=4336903
scontext=user_u:user_r:user_t:s0 tcontext=user_u:object_r:device_t:s0
tclass=chr_file
Jan 5 22:21:20 victor kernel: [651199.900899] type=1400
audit(1325798480.609:1688): avc: denied { open } for pid=31956
comm="efax" name="536ep" dev=devtmpfs ino=4336903
scontext=user_u:user_r:user_t:s0 tcontext=user_u:object_r:device_t:s0
tclass=chr_file
Jan 5 22:21:20 victor kernel: [651199.900947] pci 0000:03:04.0: PCI INT
A -> GSI 17 (level, low) -> IRQ 17
Jan 5 22:21:20 victor kernel: [651199.901492] type=1400
audit(1325798480.610:1689): avc: denied { dac_override } for
pid=31316 comm="hamregistry" capability=1
scontext=user_u:user_r:user_t:s0 tcontext=user_u:user_r:user_t:s0
tclass=capability
Jan 5 22:21:20 victor kernel: [651199.901506] type=1400
audit(1325798480.610:1690): avc: denied { write } for pid=31316
comm="hamregistry" name="ham" dev=proc ino=4026532247
scontext=user_u:user_r:user_t:s0 tcontext=system_u:object_r:proc_t:s0
tclass=file
Jan 5 22:21:21 victor kernel: [651200.401157] type=1400
audit(1325798481.110:1691): avc: denied { ioctl } for pid=31956
comm="efax" path="/dev/536ep" dev=devtmpfs ino=4336903
scontext=user_u:user_r:user_t:s0 tcontext=user_u:object_r:device_t:s0
tclass=chr_file
Jan 5 22:22:00 victor kernel: [651240.001353] ------------[ cut here
]------------
Jan 5 22:22:00 victor kernel: [651240.001367] WARNING: at
kernel/softirq.c:159 local_bh_enable_ip+0x60/0x90()
Jan 5 22:22:00 victor kernel: [651240.001369] Hardware name: To Be
Filled By O.E.M.
Jan 5 22:22:00 victor kernel: [651240.001371] Modules linked in:
Intel536 tcp_lp snd_hda_codec_realtek snd_hda_intel snd_hda_codec
snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer snd soundcore fuse
lockd nf_conntrack_netbios_ns nf_conntrack_broadcast xt_policy xt_state
xt_mark iptable_mangle ipt_MASQUERADE iptable_nat nf_nat
nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 coretemp nouveau ttm
drm_kms_helper drm i2c_algo_bit i2c_viapro snd_page_alloc via_rhine
mxm_wmi wmi ppdev i2c_core video parport_pc parport mii microcode sunrpc
uinput binfmt_misc pata_acpi ata_generic sata_via pata_via [last
unloaded: Intel536]
Jan 5 22:22:00 victor kernel: [651240.001413] Pid: 31956, comm: efax
Not tainted 3.1.6-1.fc16.i686 #1
Jan 5 22:22:00 victor kernel: [651240.001415] Call Trace:
Jan 5 22:22:00 victor kernel: [651240.001421] [<c090411b>] ?
printk+0x2d/0x2f
Jan 5 22:22:00 victor kernel: [651240.001426] [<c044c122>]
warn_slowpath_common+0x72/0xa0
Jan 5 22:22:00 victor kernel: [651240.001429] [<c0452950>] ?
local_bh_enable_ip+0x60/0x90
Jan 5 22:22:00 victor kernel: [651240.001432] [<c0452950>] ?
local_bh_enable_ip+0x60/0x90
Jan 5 22:22:00 victor kernel: [651240.001436] [<c044c172>]
warn_slowpath_null+0x22/0x30
Jan 5 22:22:00 victor kernel: [651240.001439] [<c0452950>]
local_bh_enable_ip+0x60/0x90
Jan 5 22:22:00 victor kernel: [651240.001443] [<c090d182>]
_raw_spin_unlock_bh+0x12/0x20
Jan 5 22:22:00 victor kernel: [651240.001478] [<f961b512>]
linux_MT_ReleaseLock_timer_task+0x12/0x20 [Intel536]
Jan 5 22:22:00 victor kernel: [651240.001506] [<f961a843>]
RTS_Disable+0x33/0x40 [Intel536]
Jan 5 22:22:00 victor kernel: [651240.001534] [<f961a135>]
clm_terminate+0x15/0x70 [Intel536]
Jan 5 22:22:00 victor kernel: [651240.001539] [<c06cafb9>] ?
tty_ldisc_flush+0x39/0x50
Jan 5 22:22:00 victor kernel: [651240.001566] [<f961940d>]
close+0xd/0x30 [Intel536]
Jan 5 22:22:00 victor kernel: [651240.001594] [<f961c4c7>]
softserial_close+0x77/0xb0 [Intel536]
Jan 5 22:22:00 victor kernel: [651240.001598] [<c06c4f8f>]
tty_release+0x10f/0x4e0
Jan 5 22:22:00 victor kernel: [651240.001602] [<c0500fe4>] ?
remove_vma+0x44/0x60
Jan 5 22:22:00 victor kernel: [651240.001605] [<c0500fe4>] ?
remove_vma+0x44/0x60
Jan 5 22:22:00 victor kernel: [651240.001607] [<c050385f>] ?
exit_mmap+0xcf/0x120
Jan 5 22:22:00 victor kernel: [651240.001611] [<c05293ea>] fput+0xba/0x220
Jan 5 22:22:00 victor kernel: [651240.001614] [<c0525eb4>]
filp_close+0x54/0x80
Jan 5 22:22:00 victor kernel: [651240.001617] [<c044f72b>]
put_files_struct+0x6b/0xb0
Jan 5 22:22:00 victor kernel: [651240.001620] [<c044f7ff>]
exit_files+0x3f/0x50
Jan 5 22:22:00 victor kernel: [651240.001623] [<c044fc85>]
do_exit+0x195/0x7c0
Jan 5 22:22:00 victor kernel: [651240.001627] [<c05274b0>] ?
wait_on_retry_sync_kiocb+0x50/0x50
Jan 5 22:22:00 victor kernel: [651240.001630] [<c0450547>]
do_group_exit+0x37/0xa0
Jan 5 22:22:00 victor kernel: [651240.001632] [<c04505c8>]
sys_exit_group+0x18/0x20
Jan 5 22:22:00 victor kernel: [651240.001635] [<c090d4f4>]
syscall_call+0x7/0xb
Jan 5 22:22:00 victor kernel: [651240.001638] ---[ end trace
7c0305961a6d77f5 ]---
So I am getting a very comparible Call Trace than you. I shall first
attempt to write an extremely simplfied C code which just just open
/dev/modem and immediately close the file descriptor to best hightlight
the problem.
Stay tuned.
Philippe
--
Philippe Vouters (Fontainebleau/France)
URL: http://vouters.dyndns.org/