ISDN-related(?) "oops" with linux-2.0.34pre14

Andreas Haumer (andreas@xss.co.at)
16 May 1998 17:47:50 +0200


The following message is a courtesy copy of an article
that has been posted as well.

Hi!

(As I don't know who is responsible for the ISDN driver in the
pre-2.0.34 series, I'm writing this report to both the linux-kernel
mailing-list and the isdn4linux newsgroup)

I'm getting the following "oops" with linux-2.0.34pre14 and I think
it is related to the isdn4l driver:

May 16 16:28:01 kafka kernel: HiSax: Driver for Siemens chip set ISDN cards
May 16 16:28:01 kafka kernel: HiSax: Version 2.1
May 16 16:28:01 kafka kernel: HiSax: Revisions 1.15/1.10/1.10/1.30/1.8
May 16 16:28:01 kafka kernel: HiSax: Total 1 card defined
May 16 16:28:01 kafka kernel: HiSax: Card 1 Protocol EDSS1 Id=teles (0)
May 16 16:28:01 kafka kernel: HiSax: Teles 8.0/16.0 driver Rev. 1.8
May 16 16:28:01 kafka kernel: HiSax: Teles 8.0 config irq:5 mem:b0000 cfg:0
May 16 16:28:01 kafka kernel: Teles0: HSCX version A: A3 B: A3
May 16 16:28:01 kafka kernel: Teles0: ISAC 2085 B1
May 16 16:28:01 kafka kernel: HiSax: DSS1 Rev. 1.16
May 16 16:28:01 kafka kernel: HiSax: 2 channels added
May 16 16:28:01 kafka kernel: HiSax: module installed
May 16 16:28:02 kafka kernel: Software Watchdog Timer: 0.04, timer margin: 60 sec
May 16 16:28:03 kafka kernel: Serial driver version 4.13 with no serial options enabled
May 16 16:28:03 kafka kernel: tty00 at 0x03f8 (irq = 4) is a 16550A
May 16 16:28:03 kafka kernel: tty01 at 0x02f8 (irq = 3) is a 16550A
May 16 16:28:05 kafka kernel: tulip.c:v0.88 4/7/98 becker@cesdis.gsfc.nasa.gov
May 16 16:28:05 kafka kernel: eth0: Digital DC21041 Tulip at 0xe000, 21041 mode, 00 40 05 31 40 d6, IRQ 10.
May 16 16:28:05 kafka kernel: eth0:21041 Media information at 30, default media 0800 (Autosense).
May 16 16:28:05 kafka kernel: eth0: 21041 media #0, 10baseT.
May 16 16:28:06 kafka kernel: HiSax: debugging flags card 1 set to 1f
May 16 16:28:07 kafka kernel: HiSax: debugging flags card 1 set to 1f
May 16 16:28:12 kafka kernel: isdn_net: isdn0: No phone number, send ICMP
May 16 16:28:12 kafka kernel: isdn_net: isdn0: No phone number, send ICMP
May 16 16:28:12 kafka kernel: Unable to handle kernel paging request at virtual address c804d498

This is the "oops" log:

current->tss.cr3 = 01706000, ^Br3 = 01706000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<00151944>]
EFLAGS: 00010246
eax: 0000002f ebx: 0804d488 ecx: 00000000 edx: 01f21810
esi: 00088f1c edi: 00000003 ebp: 00088f1c esp: 016e5e84
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process ypbind (pid: 975, process nr: 33, stackpage=016e5000)
Stack: 019bdd28 00088f1c 00000000 019bdd28 00000038 001532dd 01aee810 019bdd28
00088f1c 00000000 019bdd28 016e5f00 0013788e 01a68790 00000246 00000c1c
001e437e 001e437e 00113c75 001e4352 00113d7d 001d7a24 019bdd28 02810381
Call Trace: [<001532dd>] [<0013788e>] [<00113c75>] [<00113d7d>] [<02810381>] [<0281bcc7>] [<0281bfbf>]
[<028117cc>] [<0281bfbf>] [<00139c13>] [<00139f23>] [<00139d27>] [<00139d3d>] [<00117e43>] [<0010a62b>]
Code: 8b 43 10 50 e8 d3 07 00 00 83 c4 04 83 f8 03 0f 84 27 01 00
Aiee, killing interrupt handler

Using "ksymoops", I get:

Using `/System.map' to map addresses to symbols.

>>EIP: 151944 <icmp_send+1c/160>
Trace: 1532dd <inet_sendmsg+85/94>
Trace: 13788e <sys_sendto+11e/12c>
Trace: 113c75 <printk+21/138>
Trace: 113d7d <printk+129/138>
Trace: 2810381
Trace: 281bcc7
Trace: 281bfbf
Trace: 28117cc
Trace: 281bfbf
Trace: 139c13 <do_dev_queue_xmit+203/238>
Trace: 139f23 <dev_tint+73/a0>
Trace: 139d27 <dev_transmit+1f/2c>
Trace: 139d3d <net_bh+9/17c>
Trace: 117e43 <do_bottom_half+3b/5c>
Trace: 10a62b <handle_bottom_half+b/20>

Code: 151944 <icmp_send+1c/160>

Note that the oops occured in "icmp_send", immediately after isdn_net
tried to send some ICMP messages, so I think the ISDN driver must be
involved somehow. The machine didn't crash completely, I still could
use the ISDN interface for incoming calls.

I'm using the HiSax Teles driver, compiled as modules.
Here's the relevant section from the kernel configuration:
#
# ISDN subsystem
#
CONFIG_ISDN=m
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
CONFIG_ISDN_MPP=y
CONFIG_ISDN_AUDIO=y
CONFIG_ISDN_DRV_ICN=m
CONFIG_ISDN_DRV_PCBIT=m
CONFIG_ISDN_DRV_HISAX=m
CONFIG_HISAX_EURO=y
# CONFIG_HISAX_1TR6 is not set
CONFIG_HISAX_16_0=y
CONFIG_HISAX_16_3=y
CONFIG_HISAX_AVM_A1=y
CONFIG_HISAX_ELSA_PCC=y
# CONFIG_HISAX_ELSA_PCMCIA is not set
CONFIG_HISAX_IX1MICROR2=y
CONFIG_ISDN_DRV_SC=m
CONFIG_ISDN_DRV_AVMB1=m
CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y

The HiSax Module is loaded by kerneld, using the following options:
# ISDN4Linux - Module
# I/O für Teles.S0 ISDN-Karte (mem=0xb0000, irq=5, D-Kanal Prot=EDSS1)
options hisax mem=0xb0000 irq=5 type=2 protocol=2 id=teles

I'm using a setup where I don't have an outgoing telephone number
added to ISDN interface isdn0 (it's used for incoming calls only).

This is the output from "isdnctrl isdn0":

Current setup of interface 'isdn0':

EAZ/MSN: 6001508
Phone number(s):
Outgoing:
Incoming: 222nnnnnnn
Status: off
Secure: on
Callback: off
Reject before Callback: on
Callback-delay: 3
Dialmax: 1
Dial-Timeout: 134569548
Dial-Wait: -1073742561
Hangup-Timeout: 30
Incoming-Hangup: off
ChargeHangup: off
Charge-Units: 0
Charge-Interval: 0
Layer-2-Protocol: hdlc
Layer-3-Protocol: trans
Encapsulation: rawip
Slave Interface: None
Slave delay: 10
Slave trigger: 6000 cps
Master Interface: None
Pre-Bound to: Nothing
PPP-Bound to: Nothing

If you need more info, please let me know!

- andreas

-- 
 Andreas Haumer         | email: andreas@xss.co.at | PGP key available
 *x Software + Systeme  | phone: +43.1.6001508     | on request.
 Buchengasse 67/8       |        +43.664.3004449   |   
 A-1100 Vienna, Austria |   fax: +43.1.6001507     |   

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu