From owner-freebsd-mobile@FreeBSD.ORG Tue Sep 21 04:30:38 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6E32816A4CE for ; Tue, 21 Sep 2004 04:30:38 +0000 (GMT) Received: from o2.hostbaby.com (o2.hostbaby.com [208.187.29.121]) by mx1.FreeBSD.org (Postfix) with SMTP id 389CA43D4C for ; Tue, 21 Sep 2004 04:30:38 +0000 (GMT) (envelope-from ceo@l-i-e.com) Received: (qmail 54148 invoked by uid 1001); 21 Sep 2004 04:30:44 -0000 Received: from 67.167.52.21 (SquirrelMail authenticated user ceo@l-i-e.com); by www.l-i-e.com with HTTP; Mon, 20 Sep 2004 21:30:44 -0700 (PDT) Message-ID: <2435.67.167.52.21.1095741044.squirrel@www.l-i-e.com> Date: Mon, 20 Sep 2004 21:30:44 -0700 (PDT) From: "Richard Lynch" To: freebsd-mobile@freebsd.org User-Agent: Hostbaby Webmail X-Mailer: Hostbaby Webmail MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal Subject: hw.pci.allow_unsupported_io_range X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: ceo@l-i-e.com List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Sep 2004 04:30:38 -0000 I'd really like to RTFM on hw.pci.allow_unsupported_io_range to find out exactly what it means. I mean, I'm sure it makes sense to the guy who wrote it, but if something is both unsupported and allowed, I'm sure not real clear on what that means... I have found that it has to do with the BIOS not pre-setting memory ranges or somesuch, but I don't really have a lot of control over what the BIOS will set in that regard. It's the simplest/stupidest BIOS I've ever seen. There ain't no settings at all of anything as complex as memory ranges that I can recall seeing in this BIOS... I'd go confirm that for you, if I could safely get to the BIOS (viz.) Google finds me thousands of pages telling me to set allow_unsupported_io_range to 1 to make laptop XYZ work. It would seem that every laptop on the planet needs this setting, from Google output. :-) That's probably not true, but there ya go. The FreeBSD handbook tells me, in various versions and languages, to turn it to 1 to make cardbus work on some laptops, and that in 5.3 it's going to disappear. [aside] Seems to me like a butt-load of laptops are going to be affected badly by the 5.3 release then... [/aside] But nowhere can I find a definition of what this setting actually means, at least not in words I can understand. That might be my ignorance, but there it is. I am failing miserably at finding out exactly what the hell I just did when I turned it on, as the documentation suggested I do. Did I mention that it seemed like a Real Good Idea (tm) at first? Suddenly, all my devices had nice nifty names and corresponding /dev special nodes and words like "firewire" and "network" came out of dmesg for the first time. Whoo Hooo! This even magically made it possible to reboot (shutdown -r now) without pulling power and battery out afterwards!! Yes!! And my network card has a link light *AND* a blinking traffic light!!! So, of course, the first thing I do is try to configure the bfe0 network interface with sysinstall. Bad Idea (tm) :-( Right after "Setting hostname: localhost." the machine locks up. Now, of course, the machine locks up at that same point in the boot process. And only pulling power and battery will do anything, which is particularly bad, since, unlike before, the hard drive is still mounted. :-( :-( :-( "The thrill of victory; the agony of defeat" all in 10 minutes. :-^ I can boot to single-user mode, and if I knew what to poke at to make it not try to bring the network up, I could even maybe try to figure out what's going wrong... OTOH, I really do NOT want to turn this network card on again if it's going to force me to pull power on a mounted hard drive. Don't get me wrong, but I'm starting to get just a little bit cranky here... :-) :-) :-) Software that forces me to pull power on a mounted hard drive... Ouch. To summarize, in priority order: Assuming I'm pretty much an idiot and can only handle 'cd' and 'vi' and 'mount' what do I gotta alter in single-user mode to make FreeBSD *not* try to bring up the network? IE, to "undo" the settings altered by sysinstall->...configure_network->bfe0 settings. I tried to just boot to single-user mode and do "ifconfig bfe0 down" to get the device defaulting to "down" and re-boot, but the system was "kind enough" to remember that bfe0 had been "up" before I messed around in single-user mode, and tried to bring the network up again. :-( control-C nada ctrl-alt-delete nada ctlr-alt-F2 [sysbeep] nada Another power-pulling cycle on a mounted hard drive is the only recourse I can see. This is not good. Any other way to get this to shutdown cleanly? I'm just leaving it on until I hear back from y'all... Is there some kind of less-harsh thing I could do that is not allow_unsupported_io_range but still get the devices to work, preferably something that is NOT disappearing in 5.3? I know 5.2.1 is just barely or not quite -CURRENT, but 5.3 can't be that far away in time either. I need this laptop to last a hell of a lot longer than that :-) Actually, I need this laptop to last far longer than average, for financial reasons. Could I just copy down ALL the memory ranges from Windows, put them into hints.xyz.maddr/msize and be okay? It didn't work doing it just for the bfe device, but maybe if I did it for each one in order... Is there some safe way of trying to bring the network up without FreeBSD blindly assuming I want to do that on boot every time? Because I really don't want it to EVER try that again until I can thoroughly test that I can bring the network up and down without pulling power on a mounted hard drive. Assuming I get that far, given that attempting to actually configure the network card with an IP address using ifconfig locks up the whole machine, what could I do to try and diagnose that anyway? Any idea how can I get to a state where I can shutdown safely, even if the network card locks things up? That's badly stated... How can I insure that the card will NOT lock things up that badly? Or that I have a way "in" to force a shutdown that is somehow protected from the network card lock-up? I'm grasping at straw here, trying to find a way to make FreeBSD work on this hardware. I even have (or at least had) X working, which is usually the toughest one for me (in Linux). Oh yes, to repeat the details of hardware/OS: FreeBSD 5.2.1, downloaded ISOs about 2 to 3 weeks ago. Dell Inspiron 700m laptop Broadcom 4401-B0, PHY 0x36, vendor_id 41e4, device_id 170c I have patched /usr/src/dev/sys/dev/if_bfe.c & if_bfereg.h so that the device_id 170c would be recognized as a 4401 device. I've got dmesg output and /var/log/messages and other fun stuff from BEFORE allow_unsupported_io_range=1 here (scroll all the way down): http://phpbootcamp.com/inspiron700m.htm Actually, the patches to if_bfe.c/if_bfereg.h are in the same directory as the dmesg file, so you can get to that by stripping of dmesg in the URL. I'll update the page to link to them once I'm sure they really really work, and I'm 100% sure they are not at fault to lock up somebody else's laptop. :-v I don't have current dmesg output since, like, it's locked up... Perhaps with some help on the above issues, I can get that on-line in a couple days though... [Real Life intervenes a lot on Tue/Wed for me. Clients.] I'd really like to get this working and move on to productive work with FreeBSD... Especially now, since it feels like I'm so close. THANKS!!! I really do appreciate all the help I'm getting on these lists -- I really think we can get this to work and contribute more gear to the supported list, or at least the "worked for me" lists, if that's more appropriate. -- Like Music? http://l-i-e.com/artists.htm