From owner-freebsd-mobile@FreeBSD.ORG Fri Jun 13 12:30:03 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 DC18C37B401; Fri, 13 Jun 2003 12:30:03 -0700 (PDT) Received: from mailbox.univie.ac.at (mail.univie.ac.at [131.130.1.27]) by mx1.FreeBSD.org (Postfix) with ESMTP id EEC8743FA3; Fri, 13 Jun 2003 12:30:01 -0700 (PDT) (envelope-from le@univie.ac.at) Received: from korben.in.tern (dialin202.cc.univie.ac.at [131.130.202.202]) by mailbox.univie.ac.at (8.12.2/8.12.2) with ESMTP id h5DJTYoQ015670; Fri, 13 Jun 2003 21:29:39 +0200 Received: from korben.in.tern (korben.in.tern [127.0.0.1]) by korben.in.tern (8.12.9/8.12.9) with ESMTP id h5DJTRms001738; Fri, 13 Jun 2003 21:29:28 +0200 (CEST) (envelope-from le@korben.in.tern) Received: (from le@localhost) by korben.in.tern (8.12.9/8.12.9/Submit) id h5DJTNqO001737; Fri, 13 Jun 2003 21:29:23 +0200 (CEST) (envelope-from le) Date: Fri, 13 Jun 2003 21:29:23 +0200 (CEST) Message-Id: <200306131929.h5DJTNqO001737@korben.in.tern> To: FreeBSD-gnats-submit@freebsd.org From: Lukas Ertl X-send-pr-version: 3.113 X-GNATS-Notify: X-DCC-ZID-Univie-Metrics: mailbox 4251; Body=3 Fuz1=3 Fuz2=3 cc: mwlucas@blackhelicopters.org cc: freebsd-mobile@freebsd.org Subject: [PATCH] update to doc/en_US.ISO8859-1/articles/laptop/article.sgml X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Lukas Ertl List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jun 2003 19:30:04 -0000 >Submitter-Id: current-users >Originator: Lukas Ertl >Organization: Vienna University Computer Center >Confidential: no >Synopsis: [PATCH] update to doc/en_US.ISO8859-1/articles/laptop/article.sgml >Severity: non-critical >Priority: low >Category: docs >Class: update >Release: FreeBSD 5.1-CURRENT i386 >Environment: System: FreeBSD korben 5.1-CURRENT FreeBSD 5.1-CURRENT #10: Wed Jun 11 23:19:20 CEST 2003 le@korben:/usr/obj/usr/src/sys/KORBEN i386 >Description: The laptop article of the FDP is quite out of date. >How-To-Repeat: >Fix: This patch brings doc/en_US.ISO8859-1/articles/laptop/article.sgml a little more up to date, especially the power management section. The PC card section might need some more touch up, but since I don't use any PC cards I hope someone other can take a look at it, so I'm CC'ing freebsd-mobile@ as the source of authority :-) --- laptop.article.sgml.diff begins here --- Index: en_US.ISO8859-1/articles/laptop/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/laptop/article.sgml,v retrieving revision 1.12 diff -u -r1.12 article.sgml --- en_US.ISO8859-1/articles/laptop/article.sgml 23 May 2003 17:14:04 -0000 1.12 +++ en_US.ISO8859-1/articles/laptop/article.sgml 13 Jun 2003 19:19:55 -0000 @@ -17,7 +17,7 @@ FreeBSD on Laptops $FreeBSD: doc/en_US.ISO8859-1/articles/laptop/article.sgml,v 1.12 2003/05/23 17:14:04 blackend Exp $ - + FreeBSD works fine on most laptops, with a few caveats. Some issues specific to running FreeBSD on laptops, relating @@ -37,71 +37,78 @@ are not encountered on desktop machines and are not commonly discussed (laptops, even more than desktops, are fine-tuned for Microsoft Windows). This article aims to discuss some of these - issues. + issues. Several people have also documented their experiences + with FreeBSD on specific laptop models on webpages which are not + part of the FreeBSD documentation. You might very well find some + information if you type the name of your laptop model and the + word FreeBSD into a search engine of your + choice. - + XFree86 - - Recent versions of XFree86 work with most display adapters - available on laptops these days. Acceleration may not be - supported, but a generic SVGA configuration should work. - - Check your laptop documentation for which card you have, - and check in the XFree86 documentation (or setup program) - to see whether it is specifically supported. If it is not, use - a generic device (do not go for a name which just looks - similar). In XFree86 version 4, you can try your luck - with the command XFree86 -configure - which auto-detects a lot of configurations. + + Recent versions of XFree86 work + with most display adapters available on laptops these days. + Acceleration may not be supported, but a generic SVGA + configuration should work. + + Check your laptop documentation for which card you have, and + check in the XFree86 documentation + (or setup program) to see whether it is specifically supported. + If it is not, use a generic device (do not go for a name which + just looks similar). In XFree86 + version 4, you can try your luck with the command + XFree86 -configure which auto-detects a + lot of configurations. The problem often is configuring the monitor. Common - resources for XFree86 focus on CRT monitors; getting a - suitable modeline for an LCD display may be tricky. You may - be lucky and not need to specify a modeline, or just need to - specify suitable HorizSync and VertRefresh ranges. If that - does not work, the best option is to check web resources + resources for XFree86 focus on CRT + monitors; getting a suitable modeline for an LCD display may be + tricky. You may be lucky and not need to specify a modeline, or + just need to specify suitable HorizSync and VertRefresh ranges. + If that does not work, the best option is to check web resources devoted to configuring X on laptops (these are often linux-oriented sites but it does not matter because both systems - use XFree86) and copy a modeline posted by someone for similar - hardware. + use XFree86) and copy a modeline + posted by someone for similar hardware. Most laptops come with two buttons on their pointing - devices, which is rather problematic in X (since the middle - button is commonly used to paste text); you can map a - simultaneous left-right click in your X configuration to - a middle button click with the line - - - Option "Emulate3Buttons" - - - in the XF86Config file in the InputDevice - section (for XFree86 version 4; for version 3, put just the line - Emulate3Buttons, without the quotes, in the + devices, which is rather problematic in X (since the middle + button is commonly used to paste text); you can map a + simultaneous left-right click in your X configuration to a + middle button click with the line + Option "Emulate3Buttons" in + the XF86Config file in the + InputDevice section (for XFree86 version 4; + for version 3, put just the line + Emulate3Buttons, without the quotes, in the Pointer section.) - - + + + Modems - + Laptops usually come with internal (on-board) modems. - Unfortunately, this almost always means they are - winmodems whose - functionality is implemented in software, for which only windows - drivers are normally available (though a few drivers are beginning - to show up for other operating systems). If that is the case, you - need to buy an external modem: the most compact option is - probably a PC Card (PCMCIA) modem, discussed below, but - serial or USB modems may be cheaper. Generally, regular - modems (non-winmodems) should work fine. + Unfortunately, this almost always means they are + winmodems whose functionality is implemented in + software, for which only windows drivers are normally available + (though a few drivers are beginning to show up for other + operating systems; for example, if your modem has a Lucent LT + chipset it might be supported by the comms/ltmdm port). If that is the + case, you need to buy an external modem: the most compact option + is probably a PC Card (PCMCIA) modem, discussed below, but + serial or USB modems may be cheaper. Generally, regular modems + (non-winmodems) should work fine. - + - + PCMCIA (PC Card) devices - Most laptops come with PCMCIA (also called PC Card) + Most laptops come with PCMCIA (also called PC Card) slots; these are supported fine under FreeBSD. Look through your boot-up messages (using &man.dmesg.8;) and see whether these were detected correctly (they should appear as @@ -109,25 +116,26 @@ pccard1 etc on devices like pcic0). - FreeBSD currently supports 16-bit PCMCIA cards, but not - 32-bit (CardBus) cards. A database of supported - cards is in the file /etc/defaults/pccard.conf. - Look through it, and preferably buy cards listed there. Cards not - listed may also work as generic devices: in - particular most modems (16-bit) should work fine, provided they - are not winmodems (these do exist even as PC Cards, so watch out). - If your card is recognised as a generic modem, note that the - default pccard.conf file specifies a delay time of 10 seconds - (to avoid freezes on certain modems); this may well be - over-cautious for your modem, so you may want to play with it, - reducing it or removing it totally. - - Some parts of pccard.conf may need - editing. Check the irq line, and be sure to remove any number - already being used: in particular, if you have an on board sound - card, remove irq 5 (otherwise you may experience hangs when you - insert a card). Check also the available memory slots; if your - card is not being detected, try changing it to one of the other + FreeBSD 4.x supports 16-bit PCMCIA cards, and FreeBSD 5.x + supports both 16-bit and 32-bit (CardBus) cards. + A database of supported cards is in the file + /etc/defaults/pccard.conf. Look through + it, and preferably buy cards listed there. Cards not listed may + also work as generic devices: in particular most + modems (16-bit) should work fine, provided they are not + winmodems (these do exist even as PC Cards, so watch out). If + your card is recognised as a generic modem, note that the + default pccard.conf file specifies a delay + time of 10 seconds (to avoid freezes on certain modems); this + may well be over-cautious for your modem, so you may want to + play with it, reducing it or removing it totally. + + Some parts of pccard.conf may need + editing. Check the irq line, and be sure to remove any number + already being used: in particular, if you have an on board sound + card, remove irq 5 (otherwise you may experience hangs when you + insert a card). Check also the available memory slots; if your + card is not being detected, try changing it to one of the other allowed values (listed in the manual page &man.pccardc.8;). @@ -141,11 +149,11 @@ There have been major changes to the pccard code (including ISA routing of interrupts, for machines whose PCI BIOS FreeBSD can not seem to use) before the FreeBSD 4.4 - release. If you have problems, try upgrading your system. - - + release. If you have problems, try upgrading your system. - + + + Power management @@ -153,32 +161,134 @@ FreeBSD. If you are lucky, some functions may work reliably; or they may not work at all. - To enable this, you may need to compile a kernel with - power management support (device apm0) or - add the option enable apm0 to - /boot/loader.conf, and - also enable the &man.apmd.8; daemon at boot time (line - apm_enable="YES" in - /etc/rc.conf). The apm commands are - listed in the &man.apm.8; manual page. For instance, - apm -b gives you battery status (or 255 if - not supported), apm -Z puts the laptop on - standby, apm -z (or zzz) suspends it. To - shutdown and power off the machine, use shutdown -p. - Again, some or all of these functions may not work very well - or at all. You may find that laptop suspension/standby works - in console mode but not under X (that is, the screen does not - come on again; in that case, switch to a virtual console - (using Ctrl-Alt-F1 or another function key) and then execute - the &man.apm.8; command. - + To make things a little more complex, there are two existing + standards for power management: APM and ACPI, the latter + superseding the former and including more features, but also + introducing more problems. + + Some laptops support both APM and ACPI (to a certain + degree), others just support one of them, so chances are that + you have to experiment with both of them to have reliable power + management on your laptop. + + + You cannot have APM and ACPI enabled at the same time, + even if your laptop has support for both of them. + + + + APM + + The APM (Advanced Power Management) BIOS provides support + for various power management features like standby, suspend, + hibernation, CPU clock slow down etc. and is available + under FreeBSD 4.x and FreeBSD 5.x. + + To enable APM, you can compile a kernel with power + management support (device apm0 on FreeBSD + 4.x and device apm on FreeBSD 5.x) or + simply load the APM kernel module at boot time by adding + enable apm0 (FreeBSD 4.x) or + apm_load="YES" (FreeBSD 5.x) to + /boot/loader.conf. + + On FreeBSD 5.x, you also have to set + hint.apm.0.disabled="0" in + /boot/device.hints. + + You can start APM at boot time by having + apm_enable="YES" in + /etc/rc.conf. You may also want start + the &man.apmd.8; daemon by adding + apmd_enable="YES" to + /etc/rc.conf, which takes care of + various APM events that are posted to the BIOS, so you can + have your laptop suspend/resume by pressing some function + key on the keyboard or by closing/opening the lid. + + The APM commands are listed in &man.apm.8;. For instance, + apm -b gives you battery status (or 255 if + not supported), apm -Z puts the laptop on + standby, apm -z (or zzz) + suspends it. To shutdown and power off the machine, use + shutdown -p. Again, some or all of these + functions may not work very well or at all. + + You may find that laptop suspension/standby works in + console mode but not under X (that is, the screen does not + come on again); if you are running FreeBSD 5.x, one solution + for this might be to put + options SC_NO_SUSPEND_VTYSWITCH + in your kernel config file and recompile your kernel. Another + workaround is to switch to a virtual console (using + Ctrl-Alt-F1 or another function key) and then execute + &man.apm.8;. You can automate this with &man.vidcontrol.1;, + if you are running &man.apmd.8;. Simply edit + /etc/apmd.conf and change it to + this: + + apm_event SUSPENDREQ { + exec "vidcontrol -s 1 < /dev/console"; + exec "/etc/rc.suspend"; +} + +apm_event USERSUSPENDREQ { + exec "vidcontrol -s 1 < /dev/console"; + exec "sync && sync && sync"; + exec "sleep 1"; + exec "apm -z"; +} + +apm_event NORMRESUME, STANDBYRESUME { + exec "/etc/rc.resume"; + exec "vidcontrol -s 9 < /dev/console"; +} + + + + + ACPI + + ACPI (Advanced Configuration and Power Management + Interface) provides not only power management but also + platform hardware discovery (superseding PnP and PCI BIOS). + ACPI is only available under FreeBSD 5.x and is enabled by + default, so you don't have to do anything special to get it + running. You can control ACPI behaviour with + &man.acpiconf.8;. + + Unfortunately, vendors often ship their laptops with + broken ACPI implementations, thus having ACPI enabled + sometimes causes more problems than being useful, up to the + point that you cannot even boot FreeBSD on some machines with + ACPI enabled. + + If ACPI is causing problems, you might check if your + laptop vendor has released a new BIOS version that fixes some + bugs. Since the FreeBSD ACPI implementation is still very + evolving code, you might also want to upgrade your system; + chances are that your problems are fixed. + + If you want to disable ACPI simply add + hint.acpi.0.disabled="1" to + /boot/device.hints. You can disable ACPI + temporarily at the boot loader prompt by issueing + unset acpi_load if you are having problems + booting an ACPI enabled machine. + + + + + Display Power Management + + The X window system (XFree86) + also includes display power management (look at the &man.xset.1; + manual page, and search for dpms there). You may + want to investigate this. However, this, too, works + inconsistently on laptops: it often turns off the display but + does not turn off the backlight. - The X window system (XFree86) also includes display power - management (look at the &man.xset.1; manual page, and search for - dpms there). You may want to investigate this. However, this, - too, works inconsistently on laptops: it - often turns off the display but does not turn off the - backlight. + --- laptop.article.sgml.diff ends here ---