Serial driver problems with 5.2-current
Dheeraj
dhee at myrealbox.com
Thu Dec 25 20:37:03 PST 2003
Thanks for responsing fast Warner.
I shall try to answer the questions here to keep off clutter.
This is Dell Latitude CPx H450GT
If I don't have the sio compiled into the kernel, evidently I do not see any sio devices in the dmesg log. It recognizes the card as follows.
-------
ep0: <3Com Megahertz 3CCFEM556B> at port 0x100-0x11f irq 11 function 0 config 7
on pccard1
Unknown ID: 0x201
ep0: Ethernet address 00:00:86:3b:63:49
pccard1: <unknown card> (manufacturer=0x0101, product=0x0556) at function 1
pccard1: CIS info: 3Com, Megahertz 3CCFEM556B, A
-------------
And since I can use the machine for all my uses without actually having a serial device, i said my machine 'works fine'.
When the machine locks up, I can't break into DDB, All i can do is just power down. But I noticed, I have about a second or so after which it locks up, So i tried this
# kldload sio; sysctl debug.enter_debugger=ddb
and it went into ddb,
db> show intrcnt
irq0: clk 34492
irq1: atkbd0 312
irq6: fdc0 1
irq7: ppc0 1
irq8: rtc 44153
irq9: acpi 1
irq11: cbb0 cbb1+ 182
irq13: npx0 1
irq14: ata0 14032
db> break siointr
db> c
Breakpoint at siointr: pushl %ebp
db> trace
siointr(c28e9800,2,fd,c27c6580,4) at siointr
pccard_intr(c284cb00,4,685f676e,1,c27bbd80) at pccard_intr+0x48
cbb_intr(c27a9800,1,5f676e09,2e696368,c10f9c80) at cbb_intr+0x158
ithread_loop(c10f5800,cd963d48,20,3,5f676e08) at ithread_loop+0x178
fork_exit(c04d94e0,c10f5800,cd963d48) at fork_exit+0x6c
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xcd963d7c, ebp = 0 ---
db> c
and then it hangs.
I just ran out of ideas there after.
I can probably try somemore stupidity of mine early tommorow.
Hope that helps
dheeraj
-----Original Message-----
From: "M. Warner Losh" <imp at bsdimp.com>
To: dhee at myrealbox.com
Date: Thu, 25 Dec 2003 19:34:14 -0700 (MST)
Subject: Re: Serial driver problems with 5.2-current
In message: <1072398918.7cddfbe0dhee at myrealbox.com>
"Dheeraj" <dhee at myrealbox.com> writes:
: i see the following problems in my dell notebook.
what kind of Dell notebook? I have a Inspiron 8000.
: i just added a simple makefile in src/sys/modules to make it a
: module. (else it won't boot at all )
This sounds like an interrupt routing problem of some sort. I too
have a sio module, and it works great for me.
kldload sio for me yields:
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
Expected.
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
Also expected since I don't have a COM2 on this laptop.
sio4: <3Com Megahertz 3CXEM556> at port 0x110-0x117 irq 10 function 1 config 39 on pccard1
So mine has a 3CXEM556 card, not the slightly newer 3CCFEM556B (I'm
not sure if my fast ethernet 556 is a normal or a 'B').
sio4: type 16550A
sio4: unable to activate interrupt in fast mode - using normal mode
This looks normal. Now, let's take a look at yours:
: Dec 25 19:33:10 vagisha kernel: sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa
: 0
: Dec 25 19:33:10 vagisha kernel: sio0: type 16550A
: Dec 25 19:33:10 vagisha kernel: sio1 at port 0x2f8-0x2ff irq 3 on isa0
: Dec 25 19:33:10 vagisha kernel: sio1: type 16550A
Standard COM0 and COM1.
: Dec 25 19:33:10 vagisha kernel: sio4: <3Com Megahertz 3CCFEM556B> at port 0x120-0x127 irq 11 function 1 config 39 on pccard1
This looks like a card I recently got working (but I don't have the
dongle for the modem). Like I said above, can't recall if mine is a
'B' or not.
: Dec 25 19:33:10 vagisha kernel: sio4: type 16550A with a buggy IIR_TXRDY implementation
This is odd. I really don't recall seeing this message at all (and I
don't get it with the older 3cxem556 I'm using while traveling).
: Dec 25 19:33:10 vagisha kernel: sio4: unable to activate interrupt in fast mode - using normal mode
This is 'normal' for pccard modems.
: --- and i have to use the power button to reboot.
What happens if you don't have the 3com card installed.
: If i compile a custom kernel with serial driver disabled, it works fine.
Define: 'works fine' What are you seeing?
Also, when it hangs, can you break to the debugger (add options DDB
and BREAK_TO_DEBUGGER in your kernel)? If so can you do a 'show
intrcnt' to see what interrupt is being 'hammered'. It will likely be
the only one larger than rtc :-). If you are having trouble, continue
and break again a second or two later. Chances are good that it will
be the one that has > 100 more than the last one (and likely > 1000 or
10000!). It likely won't be irq 11. You might also try breaking at
siointr.
Warner
More information about the freebsd-current
mailing list