From owner-freebsd-mobile@FreeBSD.ORG Sun Jul 8 16:58:29 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 DD50816A41F for ; Sun, 8 Jul 2007 16:58:28 +0000 (UTC) (envelope-from smithi@nimnet.asn.au) Received: from gaia.nimnet.asn.au (nimbin.lnk.telstra.net [139.130.45.143]) by mx1.freebsd.org (Postfix) with ESMTP id 351A213C458 for ; Sun, 8 Jul 2007 16:58:26 +0000 (UTC) (envelope-from smithi@nimnet.asn.au) Received: from localhost (smithi@localhost) by gaia.nimnet.asn.au (8.8.8/8.8.8R1.5) with SMTP id CAA29719; Mon, 9 Jul 2007 02:38:17 +1000 (EST) (envelope-from smithi@nimnet.asn.au) Date: Mon, 9 Jul 2007 02:38:16 +1000 (EST) From: Ian Smith To: Zhang Weiwu In-Reply-To: <1183812387.7741.32.camel@joe.realss.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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: Sun, 08 Jul 2007 16:58:29 -0000 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. > 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? 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?) > 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. 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: 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. > 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? HTH, Ian