From owner-freebsd-mobile@FreeBSD.ORG Mon Jul 9 00:59:49 2007 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 30F8D16A41F for ; Mon, 9 Jul 2007 00:59:49 +0000 (UTC) (envelope-from zhangweiwu@realss.com) Received: from bossdog.realss.com (bossdog.realss.com [211.157.108.128]) by mx1.freebsd.org (Postfix) with ESMTP id 248AF13C4B0 for ; Mon, 9 Jul 2007 00:59:48 +0000 (UTC) (envelope-from zhangweiwu@realss.com) Received: from localhost (unknown [127.0.0.1]) by bossdog.realss.com (Postfix) with ESMTP id F0BD31C8005; Mon, 9 Jul 2007 08:59:56 +0800 (CST) Received: from bossdog.realss.com ([127.0.0.1]) by localhost (bossdog.realss.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 03943-09; Mon, 9 Jul 2007 08:59:54 +0800 (CST) Received: from [218.193.55.195] (188.224.77.125.board.xm.fj.dynamic.163data.com.cn [125.77.224.188]) by bossdog.realss.com (Postfix) with ESMTP id 4B9771C8004; Mon, 9 Jul 2007 08:59:54 +0800 (CST) From: Zhang Weiwu To: Ian Smith In-Reply-To: References: Content-Type: text/plain; charset=utf-8 Organization: Real Softservice Date: Mon, 09 Jul 2007 08:54:40 +0800 Message-Id: <1183942480.6901.15.camel@joe.realss.com> Mime-Version: 1.0 X-Mailer: Evolution 2.8.2 Content-Transfer-Encoding: 8bit X-Virus-Scanned: amavisd-new at bossdog.realss.com Cc: freebsd-mobile@freebsd.org Subject: Re: unable to map IRQ for my pccard X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jul 2007 00:59:49 -0000 于 Mon, 9 Jul 2007 02:38:16 +1000 (EST) Ian Smith 写道: > 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@quasimodo ~]$ uname -a FreeBSD quasimodo.realss.com 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Thu Jul 5 12:26:43 CST 2007 root@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: mem 0x20822000-0x20822fff at > > device 2.0 on pci0 pccard0: <16-bit PCCard bus> on cbb0 > > cbb1: 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: on pcib0 cbb0: mem 0x20822000-0x20822fff at device 2.0 on pci0 pccard0: <16-bit PCCard bus> on cbb0 cbb1: 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: at device 3.0 (no driver attached) isab0: 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: mem 0x7fffe000-0x7fffefff irq 11 at > device 17.0 on pci0 cardbus0: on cbb0 > pccard0: <16-bit PCCard bus> on cbb0 > cbb1: mem 0x7ffff000-0x7fffffff irq 11 at > device 17.1 on pci0 cardbus1: on cbb1 > pccard1: <16-bit PCCard bus> on cbb1 > [..] > dc0: port 0x1100-0x11ff mem > 0x88000000-0x880003ff irq 11 at device 0.0 on cardbus1 xe0: 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?