isnd4linux on 64bit Linux 3.2

Peter Koch <pk1234-S0/[email protected]>
Newsgroups gmane.linux.isdn.i4l.user
Message-ID <CAPhCz3TmhgjCF-qz=M259n_qfrfJLYQjDJPC1BzQ3gsn9W1XvQ@mail.gmail.com>
Hi all,

last weekend I compiled both a linux 64bit 3.2.47 kernel with the deprecated
isdn4linux drivers and isdn4kutil 3.2p1.

After some cosmetic changes everything worked fine. linux 3.2.47 detects my
FritzCard PCI

ISDN subsystem Rev: 1.1.2.3/1.1.2.3/1.1.2.2/none/none/1.1.2.2
dss1_divert module successfully installed
HiSax: Linux Driver for passive ISDN cards
HiSax: Version 3.5 (kernel)
HiSax: Layer1 Revision 2.46.2.5
HiSax: Layer2 Revision 2.30.2.4
HiSax: TeiMgr Revision 2.20.2.3
HiSax: Layer3 Revision 2.22.2.3
HiSax: LinkLayer Revision 2.59.2.4
hisax_isac: ISAC-S/ISAC-SX ISDN driver v0.1.0
hisax_fcpcipnp: Fritz!Card PCI/PCIv2/PnP ISDN driver v0.0.1
HiSax: Card 1 Protocol EDSS1 Id=fcpcipnp0 (0)
HiSax: protocol euro not supported
HiSax: 2 channels added
HiSax: MAX_WAITING_CALLS added
fcpci 0000:06:00.0: PCI->APIC IRQ transform: INT A -> IRQ 20
hisax_fcpcipnp: found adapter Fritz!Card PCI v2 at 0000:06:00.0

isdnctrl loaded the config file that we are using for years with no problems
and here's "isdnctrl list all"-output (I replaced last four digits of the
phone
numbers with 1111 and 2222 for privacy reasons):

Current setup of interface 'isdn0':

EAZ/MSN:                9841111
Phone number(s):
  Outgoing:             02033632222
  Incoming:             2033632222
Dial mode:              auto
Secure:                 on
Callback:               in
Reject before Callback: on
Callback-delay:         5
Dialmax:                1
Hangup-Timeout:         80
Incoming-Hangup:        on
ChargeHangup:           on
Charge-Units:           0
Charge-Interval:        0
Layer-2-Protocol:       hdlc
Layer-3-Protocol:       trans
Encapsulation:          rawip
Slave Interface:        None
Slave delay:            10
Master Interface:       None
Pre-Bound to:           fcpcipnp0, channel 0
PPP-Bound to:           Nothing

isdn0 is configured as usual, namely:

ifconfig isdn0 10.64.1.80 pointopoint 134.11.22.33 -arp

#ifconfig isdn0
isdn0: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 1500
        inet 10.64.1.80  netmask 255.255.255.255  destination 134.11.22.33
        ether fc:fc:0a:40:01:50  txqueuelen 30  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

If I ping 134.11.22.33 for the first time, I get the following
kernel-messages:

isdn0: dialing 1 02033632222...
------------[ cut here ]------------
WARNING: at net/sched/sch_generic.c:255 dev_watchdog+0x131/0x1eb()
Hardware name: X8SIL
NETDEV WATCHDOG: isdn0 (): transmit queue 0 timed out
Pid: 0, comm: swapper/1 Not tainted 3.2.47-mail #1
Call Trace:
<IRQ>  [<ffffffff812310f4>] ? dev_watchdog+0x131/0x1eb
[<ffffffff810252d5>] ? warn_slowpath_common+0x71/0x85
[<ffffffff8102534a>] ? warn_slowpath_fmt+0x45/0x4a
[<ffffffff8102db19>] ? lock_timer_base.isra.29+0x23/0x48
[<ffffffff812310f4>] ? dev_watchdog+0x131/0x1eb
[<ffffffff8102da69>] ? run_timer_softirq+0x13f/0x1cc
[<ffffffff81230fc3>] ? noop_enqueue+0xd/0xd
[<ffffffff8103b6d0>] ? hrtimer_run_queues+0x105/0x1d9
[<ffffffff81029583>] ? __do_softirq+0x82/0x104
[<ffffffff812881ec>] ? call_softirq+0x1c/0x30
[<ffffffff81002cf5>] ? do_softirq+0x2c/0x5f
[<ffffffff810297a6>] ? irq_exit+0x3e/0x59
[<ffffffff81011cad>] ? smp_apic_timer_interrupt+0x82/0x8f
[<ffffffff8128778b>] ? apic_timer_interrupt+0x6b/0x70
[<ffffffff8100735b>] ? mwait_idle+0x5a/0x5d
[<ffffffff81000663>] ? cpu_idle+0x48/0x7d
---[ end trace 2ac62ab266ae4fb7 ]---
isdn_tx_timeout dev isdn0 dialstate 4
isdn_net: local hangup isdn0
isdn0: Chargesum is 0
isdn_tx_timeout dev isdn0 dialstate 0
isdn0: dialing 1 02033632222...
isdn_net: local hangup isdn0
isdn0: Chargesum is 0
isdn_tx_timeout dev isdn0 dialstate 0

The watchdog timeout happens reproducable but only once
after a fresh reboot.

When I did these tests on the weekend I was at home and could
not plugin an ISDN-cable into the FritzCard. So this morning I did
the final at work test and connected the Fritzcard to our phone line.

The result was: and the

It makes no difference wether the FritzCard is connected or not.
No outgoing calls, no incoming calls. There's no problem with the
cable nor with the phone line. I can connect the same cable to
an old 32bit linux machine and everything works fine. The isnd.conf
file I'm using on the new machine was copied from that old machine
so there should be no problem with the configuration.

Doing a voice call to the old machine will trigger the following message:

isdn_net: call from 53023333 -> 0 9841111 ignored
isdn_tty: call from 53023333 -> 9841111 ignored

Doing that same voice call with the new machine triggers nothing, it
does not even trigger the watchdog-timeout after a fresh reboot.
The servers behaves as if the FritzCard was not connected with the
phone line.

Do I overlock something simple?

I read that isdn4linux does not work on 64bit machines. Is that true?

Has anybody ever used isdn4linux with a 64bit kernel? Or heard
rumours that anybody else did? Or know for sure that it does not?

I will prepare a ramdisk tonight with a minimal 32bit linux and isdn4linux
to see wether the FirtzCard is broken. If it works with a 32bit kernel
I will give up and built an ethernet to isdn gateway with a separate
32bit machine.

Peter

_______________________________________________
isdn4linux mailing list
[email protected]
https://www.isdn4linux.de/mailman/listinfo/isdn4linux
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.