Re: Plans for mISDN? Was: [PATCH 00/14] [ISDN] ...

Gregory Nietsky
2008-02-21T19:39:26Z

Simon Richter wrote:
> Hi,
>
> Tilman Schmidt wrote:
>
>> mISDN has two problems, which are of course interrelated:
>
> mISDN has one problem that is even bigger than these: the kernel oopses
> if modules aren't loaded in the right order. misdn-init works around
> that, but if it doesn't work for some reason (and I can think of
> multiple here), the user is left with a kernel that oopses during
> hardware discovery and never gets to a stage where this can be
> rectified, as almost all distributions now have hardware discovery
> before the first opportunity to get a shell. At least these were my
> experiences the last time I tried it on my test box.
>
> This is the reason I've kept mISDN out of the last two Debian stable
> releases, despite users' requests.
>
> When a hardware driver module is loaded, it should only do basic
> hardware initialisation; it is certainly not necessary to set up the
> entire stack (or even decide on a protocol, which currently needs to be
> handed in via module parameter -- before userland code is there that
> wants to talk to the hardware, there is no reason to have the hardware
> active).
>
> Simon
> --

hi there simon ive not bothered with isdn-init i use some modprobe magic
to sort out the mess here it is ... edit the flags as required.i agree
this is not ideal and most drivers should have a default ill take this
under advisement and when there is some time ill look at setting it as
default.this recipe plays nicely with hotplug and friends.

#
#Protocol Flags
#
#0x001 1TR6 (Not Available)
#0x002 DSS1
#0x010 NT Mode
#0x020 PTP Mode
#0x040 PCM Slave Mode
#0x080 Negative Frame Pulse
#0x100 Use Setting From Previous Driver And Add To Previous Stack
#0x200 Switch DU/DD Interface

#
#Typical Usage
#
#0x02 TE Mode
#0x12 NT Mode

#
#Layer Mask To Select Layers In D Channel Stack Layer 0 (HW) is always
included
#
#0x1 Layer 1
#0x2 Layer 2 (Only Layers 1 and 2 are needed for NT Mode)
#0x4 Layer 3
#0x8 Layer 4

#
#Typical Usage
#
#0x0f TE Mode
#0x03 NT Mode

#
#Debug Mask
#
#0x01 IRQ Status
#0x02 D-Channel Events
#0x04 D-Channel FIFO Data
#0x08 B-Channel Events
#0x10 B-Channel FIFO Data

#
#DSP Options
#
#0x01 ULAW (Instead Of ALAW)
#0x10 Software Bridging (Instead Of Hardware)

options avmfritz protocol=0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2
options avmfritz layermask=0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf
options avmfritz debug=0x0

options hfcpci protocol=0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2
options hfcpci layermask=0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf
options hfcpci debug=0x0

options hfcmulti type=8
options hfcmulti protocol=0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2
options hfcmulti layermask=0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf
options hfcmulti debug=0x0

options w6692pci protocol=0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2
options w6692pci layermask=0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf
options w6692pci debug=0x0

options sedlfax protocol=0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2
options sedlfax layermask=0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf
options sedlfax debug=0x0

options hfcsusb protocol=0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2
options hfcsusb layermask=0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf
options hfcsusb poll=128
options hfcsusb debug=0x0

options mISDN_dsp options=0x10
options mISDN_dsp debug=0x0
options mISDN_dsp poll=128

install avmfritz /usr/sbin/mkisdnnod avmfritz
install hfcpci /usr/sbin/mkisdnnod hfcpci
install hfcmulti /usr/sbin/mkisdnnod hfcmulti
install w6692pci /usr/sbin/mkisdnnod w6692pci
install sedlfax /usr/sbin/mkisdnnod sedlfax
install hfcsusb /usr/sbin/mkisdnnod hfcsusb

------------
/usr/sbin/mkisdnnod
------------

#!/bin/bash

if [ -e /var/run/isdnprobe.pid ];then
CURPID=`cat /var/run/isdnprobe.pid`
if [ "$CURPID" != "$$" ] && [ -d /proc/$CURPID ] && [ "$CURPID" ];then
exit;
else
echo $$ > /var/run/isdnprobe.pid
fi;
else
echo $$ > /var/run/isdnprobe.pid
fi;

if [ ! -e /dev/mISDN ];then
/bin/mknod /dev/mISDN c 46 0;
/sbin/modprobe mISDN_l1;
/sbin/modprobe mISDN_l2;
/sbin/modprobe l3udss1;
/sbin/modprobe mISDN_isac;
/sbin/modprobe mISDN_x25dte;
/sbin/modprobe mISDN_dtmf;
/sbin/modprobe mISDN_dsp;
/sbin/modprobe mISDN_debugtool
if [ "$1" ];then
/sbin/modprobe -s -q --ignore-install $1;
fi;
rm /var/run/isdnprobe.pid
else
/sbin/modprobe -s -q --ignore-install $1;
fi;

--

This message has been scanned for viruses and

dangerous content by Superset Technology, and

is believed to be clean.