From owner-freebsd-mobile@FreeBSD.ORG Fri Feb 22 12:46:00 2008 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3239616A404 for ; Fri, 22 Feb 2008 12:46:00 +0000 (UTC) (envelope-from gdt@ir.bbn.com) Received: from fnord.ir.bbn.com (fnord.ir.bbn.com [192.1.100.210]) by mx1.freebsd.org (Postfix) with ESMTP id E9E6C13C455 for ; Fri, 22 Feb 2008 12:45:59 +0000 (UTC) (envelope-from gdt@ir.bbn.com) Received: by fnord.ir.bbn.com (Postfix, from userid 10853) id B624B52EA; Fri, 22 Feb 2008 07:26:44 -0500 (EST) From: Greg Troxel To: Andreas Wetzel References: <47BE9CBC.6010500@gmx.net> X-Hashcash: 1:20:080222:freebsd-mobile@freebsd.org::PviTvHQiGzBWTy8g:000000000000000000000000000000000007KXQ X-Hashcash: 1:20:080222:mickey242@gmx.net::PviTvHQiGzBWTy8g:0000000000000000000000000000000000000000000065oA Date: Fri, 22 Feb 2008 07:26:44 -0500 In-Reply-To: <47BE9CBC.6010500@gmx.net> (Andreas Wetzel's message of "Fri, 22 Feb 2008 10:58:20 +0100") Message-ID: User-Agent: Gnus/5.110007 (No Gnus v0.7) Emacs/22.1 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: freebsd-mobile@freebsd.org Subject: Re: ThinkPad 600 - CardBus inoperative 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: Fri, 22 Feb 2008 12:46:00 -0000 I have dealt with this on NetBSD, and am posting here in the hope my experiences are helpful. Thinkpad 600 (2645-41U) and 600E (2645-4AU) have different and seemingly indepdenent cbb problems, and it seems 600X might be like 600E. This is all from memory, so take with a grain of salt. 600: had uninitialized irq for cbb (-1). pcic would attach ok if cbb not in kernel. With PCI_INTR_FIXUP, this would get whacked to 11 and then it works. I'm typing this with packets being routed through a 600 with two cbb ethernets (NetBSD 4 GENERIC_LAPTOP). 600E: If one mapped cardbus space at 1 GB, cardbus cards wouldn't work. Mapping at 0.5 GB worked. Ruslan recommended hw.cbb.start_memory=0xd8000, which is also below 1 GB and very likely above physical memory (my 600 has 96 and 600E 192). So, I suspect you have an IRQ routing problem, not a memory space problem, unless you were speaking loosely about a "600". >From NetBSD's pci(4): PCI_INTR_FIXUP Fixup PCI interrupt routing via PCIBIOS or ACPI. Some i386 and amd64 BIOS implementations don't assign an interrupt for some devices. This option assigns an interrupt for such devices instead of relying upon the BIOS to do so. If a valid interrupt has already been assigned to a device, this option leaves the interrupt as is. >From NetBSD's cardbus(4): Memory space conflicts NetBSD maps memory on Cardbus and PCMCIA cards in order to access the cards (including reading CIS tuples on PCMCIA cards) and access the devices using the RBUS abstraction. When the mapping does not work, PCM- CIA cards are typically ignored on insert, and Cardbus cards are recog- nized but nonfunctional. On i386, the kernel has a heuristic to choose a memory address for mapping, defaulting to 1 GB, but choosing 0.5 GB on machines with less than 192 MB RAM and 2 GB on machines with more than 1 GB of RAM. The intent is to use an address that is larger than available RAM, but low enough to work; some systems seem to have trouble with addresses requiring more than 20 address lines. On i386, the following kernel configuration line disables the heuristics and forces Cardbus mem- ory space to be mapped at 512M; this value makes Cardbus support (includ- ing PCMCIA attachment under a cbb) work on some notebook models, includ- ing the IBM Thinkpad 600E (2645-4AU) and the Compaq ARMADA M700: options RBUS_MIN_START="0x20000000"