unable to map IRQ for my pccard
Zhang Weiwu
zhangweiwu at realss.com
Mon Jul 9 00:59:49 UTC 2007
于 Mon, 9 Jul 2007 02:38:16 +1000 (EST)
Ian Smith <smithi at nimnet.asn.au> 写道:
> On Sat, 7 Jul 2007, Zhang Weiwu wrote:
>
> > My notebook has two 16-bit PCMCIA slots, the card in the second
> > slot always doesn't work, it was until after a week I start to
> > notice dmesg showed useful information:
>
> Sorry, but it's not clear whether the card stopped working (but it
> used to?) or the slot has stopped working (but used to?) When did
> behaviour change - after upgrading FreeBSD version, hardware, or what?
>
> To rule out hardware failure, can you boot it with the first card (or
> any other card) only in the second slot, with nothing in the first
> slot?
>
> Have you checked that both cards work, in another machine, or other
> OS?
>
> Also, we try! to remember what you've said elsewhere but if you can
> post `uname -a` and give the precise model numbers of the old
> Thinkpad (380 something?) and both cards mentioned in your messages,
> it might help.
Thank you for the nice prompt. I should have organized the message in
more detail way. I have checked both card working by insert them into
slot one, once a time. There is a possibility of hardware failure
because
I. if I insert any card in slot II, even if the first slot is
empty, the card always doesn't work
II. if both slots were empty, I still get $PIR: ROUTE_INTERRUPT
failed
[zhangweiwu at quasimodo ~]$ uname -a
FreeBSD quasimodo.realss.com 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Thu
Jul 5 12:26:43 CST 2007
root at quasimodo.realss.com:/usr/obj/usr/src/sys/QUASIMODO i386
The 380XD Thinkpad is my personal console mostly for remote controlling
other servers, for reading Chinese output of applications I also
installed X plus Chinese fonts. It's not polite to post messages many
times around one (probably boring) topic, especially it's not vital I
make this laptop work. I do have two other modern laptops and it's
mostly the problem itself made me interested to find a solution rather
than any important necessity. It's not bad to through a weekend into
something that made me interested, especially through the experience
someone recommended some enlightening paper to read (which I still have
more than half don't understand). Thanks for trying to help even if I
wasn't clear abut what problem I am having.
>
> > cbb0: <TI1250 PCI-CardBus Bridge> mem 0x20822000-0x20822fff at
> > device 2.0 on pci0 pccard0: <16-bit PCCard bus> on cbb0
> > cbb1: <TI1250 PCI-CardBus Bridge> mem 0x20821000-0x20821fff at
> > device 2.1 on pci0 pccard1: <16-bit PCCard bus> on cbb1
> > $PIR: ROUTE_INTERRUPT failed.
> > cbb: Unable to map IRQ...
> > device_attach: cbb1 attach returned 12
>
> Was that with something, or nothing, in one or both slots? If with
> something, do you still see that if booting with nothing in the
> slots?
This was when both cards (both good cards) were inserted on both slots,
here is dmesg when no card is inserted:
pci0: <PCI bus> on pcib0
cbb0: <TI1250 PCI-CardBus Bridge> mem 0x20822000-0x20822fff at device 2.0 on pci0
pccard0: <16-bit PCCard bus> on cbb0
cbb1: <TI1250 PCI-CardBus Bridge> mem 0x20821000-0x20821fff at device 2.1 on pci0
pccard1: <16-bit PCCard bus> on cbb1
$PIR: ROUTE_INTERRUPT failed.
cbb: Unable to map IRQ...
device_attach: cbb1 attach returned 12
pci0: <display, VGA> at device 3.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 6.0 on pci0
>
> That is, is the error with the card or the slot itself? Both happen.
>
> Does the card that doesn't work in the second slot, work in the first?
>
> > [snip]
> > ep0: <3Com Corporation 3C589D> at port 0x100-0x10f irq 11 function
> > 0 config 1 on pccard0
> > ep0: Ethernet address: 00:60:97:92:c0:27
> >
> > I have checked my IRQ usage (by using dmesg | grep irq) and found
> > IRQ 3, 8, 9, 10 are not used.
> >
> > atkbd0 irq 1
> > ... irq 2
> > [empty] irq 3 <-- I disabled COM1 in kernel because
> > hardware broken.
>
> Yes, but have you / can you also disable it in the BIOS? (with
> PS2.EXE?)
That was a mistake, now I think the hardware probably isn't broken, it's
not usable probably because it is already disabled in BIOS. When I run
PS2.EXE it told me COM1 is disabled, but since I don't know this utility
before, so since it's disabled my previous conclusion of hardware broken
isn't realiable
>
> > sio4 irq 4 <-- infrared ray
> > pcm0 irq 5
> > fdc0 irq 6
> > ppc0 irq 7
> > [empty] irq 8 <-- not used in dmesg but some articles I
> > read says it's for Real time clock
>
> Sure is; see 'vmstat -i'
>
> > [empty] irq 9
> > [empty] irq 10
> > uhci0 irq 11
> > ep0 irq 11 <-- this is the device on first PCMCIA slot
> > psm0 irq 12
> > ata4 irq ? <-- this is the (unusable) device on second
> > PCMCIA slot
>
> Hmmm, ata4? Since your pccard bridges are to PCI not ISA bus, if I've
> understood anything of Warner's paper recently mentioned, there should
> be no problem both of them sharing irq 11? Hopefully someone will
> tell me if I'm way off base; I've had trouble following
> pccard/cardbus too.
Now as I posted this IRQ problem happen even if there is no card, then
probably it's not directly related to if it is ata4 or now:)
>
> On my older laptop, a '99 Compaq Armada 1500c:
>
> cbb0: <TI1225 PCI-CardBus Bridge> mem 0x7fffe000-0x7fffefff irq 11 at
> device 17.0 on pci0 cardbus0: <CardBus bus> on cbb0
> pccard0: <16-bit PCCard bus> on cbb0
> cbb1: <TI1225 PCI-CardBus Bridge> mem 0x7ffff000-0x7fffffff irq 11 at
> device 17.1 on pci0 cardbus1: <CardBus bus> on cbb1
> pccard1: <16-bit PCCard bus> on cbb1
> [..]
> dc0: <Netgear FA511 10/100BaseTX> port 0x1100-0x11ff mem
> 0x88000000-0x880003ff irq 11 at device 0.0 on cardbus1 xe0: <Xircom
> CreditCard Ethernet+Modem 33.6> at port 0x2f8-0x2ff irq 11 function 0
> config 2 on pccard0
>
> That's one old pccard and one newer cardbus card, both on irq 11, both
> happily. (I'm really hoping it stays happy on 6.2 - currently 5.5-S)
>
> > [empty] irq 13 <-- I don't think I have coprocessor on my thinkpad
>
> All x86 processors past the 486-SX have copro built in, and need this.
>
> > [empty] irq 14 <-- not shown in dmesg but I do have atapci0 that
> > might use it
>
> It does. Again, vmstat -i
>
> > [empty] irq 15 <-- probably not used because I don't have atapci1
> >
> > I am not sure how to solve "ROUTE_INTERRUPT failed." problem, but
> > since I have enough free IRQ for the devices, I guess I can simply
> > turn off IRQ sharing or simply assign an unused IRQ number to the
> > second device.
>
> In a later message you point out that PS2.EXE won't let you assign
> more irqs anyway. Unless your BIOS is not up to date (?), that tends
> to indicate that your laptop's hardware simply doesn't allow that
> setting, rememembering that PS2.EXE handles dozens of Thinkpad
> models/variants.
>
> I may be wrong, but I think you might be chasing this rabbit down the
> wrong hole; if it's a hardware failure - looking possible - trying to
> assign another irq to cbb1, or cards on cbb1, isn't likely to help.
Yes I have completely overlooked hardware issue. I am not very
experienced in hardware and gets too easy to have "hooked up" on
studying some OS behavior and completely forgotten to check hardware.
>
> > The free IRQ number I filled in /etc/pccard.conf seems to be
> > completely ignored (you can set to anything but it will always use
> > irq 11), this is strange. As manual suggests this is the right
> > place to configure IRQ for pccards.
>
> Some pccard* documentation seems rather out of date, and frankly very
> sparse, but developers naturally want to work on the newer stuff. It
> could be that eBay'ing yourself a nice secondhand (say) T23 or later
> might save you lots of time and worry, at fairly low cost?
Thanks for caring! Actually I have other modern notebooks and I am just
interested this issue and in seeing how PCCARDs works. By "Some pccard*
documentation seems rather out of date", are you confirming
the /etc/pccard.conf is no longer used?
More information about the freebsd-mobile
mailing list