From owner-freebsd-mobile@FreeBSD.ORG Mon Jun 16 17:47:37 2003 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 6B18F37B401 for ; Mon, 16 Jun 2003 17:47:37 -0700 (PDT) Received: from msgbas1x.cos.agilent.com (msgbas1x.cos.agilent.com [192.25.240.36]) by mx1.FreeBSD.org (Postfix) with ESMTP id A9E6643F75 for ; Mon, 16 Jun 2003 17:47:36 -0700 (PDT) (envelope-from darrylo@soco.agilent.com) Received: from relcos2.cos.agilent.com (relcos2.cos.agilent.com [130.29.152.237]) by msgbas1x.cos.agilent.com (Postfix) with ESMTP id 47A7216C17 for ; Mon, 16 Jun 2003 18:47:36 -0600 (MDT) Received: from mina.soco.agilent.com (mina.soco.agilent.com [141.121.54.157]) by relcos2.cos.agilent.com (Postfix) with ESMTP id F20EC4B2 for ; Mon, 16 Jun 2003 18:47:35 -0600 (MDT) Received: from mina.soco.agilent.com (darrylo@localhost [127.0.0.1]) SMKit7.1.1_Agilent) with ESMTP id RAA13574 for ; Mon, 16 Jun 2003 17:47:35 -0700 (PDT) Message-Id: <200306170047.RAA13574@mina.soco.agilent.com> To: freebsd-mobile@freebsd.org Mime-Version: 1.0 (generated by tm-edit 1.7) Content-Type: text/plain; charset=US-ASCII Date: Mon, 16 Jun 2003 17:47:34 -0700 From: Darryl Okahata Subject: FreeBSD 5.1-RELEASE and IBM Thinkpad A31 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Darryl Okahata List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Jun 2003 00:47:37 -0000 For the archives, here are my (thus far, brief) experiences with FreeBSD-5.1-RELEASE and an IBM Thinkpad A31 with the latest (June 6) BIOS. [ WARNING: BACKUP YOUR HARD DISK BEFORE INSTALLING FREEBSD. IF YOU HAVE A WINDOWS PARTITION, YOU DEFINITELY WANT TO HAVE A COMPLETE AND TESTED BACKUP OF IT BEFORE YOU TRY TO INSTALL FREEBSD. THIS IS ALSO TRUE OF ANY EXISTING FREEBSD PARTITION(S) THAT CONTAINS IMPORTANT DATA. ] Summary: ACPI is utterly broken, although apm works, with the slight exception of X11. Although X11 seems to work, suspending with X11 active still results in a corrupted display at resume, although the usual workarounds do work to resuscitate the display. The kernel does need to be recompiled, as GENERIC can cause problems. The build-in networking works, although a kernel hint must be used to prevent the kernel from crashing. Sound has not yet been tested. Details: [ WARNING: BACKUP YOUR HARD DISK BEFORE INSTALLING FREEBSD. IF YOU HAVE A WINDOWS PARTITION, YOU DEFINITELY WANT TO HAVE A COMPLETE AND TESTED BACKUP OF IT BEFORE YOU TRY TO INSTALL FREEBSD. THIS IS ALSO TRUE OF ANY EXISTING FREEBSD PARTITION(S) THAT CONTAINS IMPORTANT DATA. ] * ACPI really is utterly broken on the A31. If you boot with ACPI, you get a lovely "integer divide fault while in kernel mode" panic during probing. To boot (or even install from the CDROM), you've got to disable ACPI in the kernel (fortunately, the new 5.1 bootup procedure allows you to easily disable it, but only for the current boot). To use 5.1, you've got to disable ACPI. * APM does seem to work, although I have not turned my laptop off and on enough to tell if it's reliable (with 5.0-RELEASE, I had occasional problems where my laptop would sometimes lock up at resume). [ For those people, like me, who like to install software first and read documentation/mailing lists later, note that the procedure for enabling APM in 5.1-RELEASE has changed slightly since 5.0-RELEASE. In addition to disabling ACPI and enabling APM in /boot/device.hints, you must also add a line like the following into /boot/loader.conf: apm_load="YES" If you don't, APM will not be loaded. ] HOWEVER, if you use X11, you must also rebuild your kernel with the option: options SC_NO_SUSPEND_VTYSWITCH If you do not, and accidentally suspend/hibernate the laptop while in X11, FreeBSD will crash. * While X11 (XFree86 4.3) does appear to work, suspending from X11 is problematic. First of all, the above-mentioned kernel parameter must be used to build a kernel that does not crash if you suspend from X11. Second, if you do suspend from X11, the display is trashed/corrupted at resume time. The workaround for this is to switch to a VTY before suspending, and then (manually) switch back to X11 after resuming. If you forget to switch before suspending, you can bring the display back to life after resuming by: 1. Switch to a VTY. After resuming, the display will be corrupted/trashed, and so it may be confusing to do. Just hit something like Ctrl-Alt-F1, and hope that you switch. [ DO NOT disable VTY switching in your XF86Config, or you will be unable to use this workaround. ] 2. Press Fn-F3 twice. On the A31, this turns the LCD display off and on, which brings the display back to life. * With the defaults, using the built-in fxp LAN device causes FreeBSD to (eventually) crash. To fix this, add the following line to /boot/device.hints and reboot (and note that, unlike the other parameters in this file, there is *NO* "hint." at the beginning): hw.pci.allow_unsupported_io_range="1" (Yes, this does mean that you should probably defer LAN configuration until after you have FreeBSD installed, although advanced users can, of course, get around this by manually setting this parameter from the loader.) * Hibernation seems to work (but see WARNING below), but you've got to manually create the hibernation partition using the tool from IBM's website: http://www-3.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4PESMK However, as this is a bootable diskette, I used it to create a bootable CDROM (the floppy on the A31 is optional). WARNING: I do not know if this is a problem with the hibernation utility, with FreeBSD, or even if this is an actual problem, but the resulting partition table after installing FreeBSD does not seem to be quite "right"; while the LBA offsets are correct, Powerquest's Drive Image 2002 (which is what I use to do windows backups) thinks that the CHS values are incorrect, and offers to "correct" them. If you let it "correct" the value for the windows partition, the partition ends up being corrupted. [ Why it's paying such close attention to CHS values on a 40GB disk is beyond me. ] I managed to trash my windows partition this way. Fortunately, I had a good backup. ;-) However, I did end up blowing away the IBM emergency recovery partition (which I didn't really need) during the restore process. After recreating the hibernation partition, and reinstalling FreeBSD for a second time, drive image was a bit happier (it only wanted to screw with the hibernation and FreeBSD partitions, which seems to make things much happier). -- Darryl Okahata darrylo@soco.agilent.com DISCLAIMER: this message is the author's personal opinion and does not constitute the support, opinion, or policy of Agilent Technologies, or of the little green men that have been following him all day.