Date: Fri, 13 Jun 2003 21:29:23 +0200 (CEST) From: Lukas Ertl <l.ertl@univie.ac.at> To: FreeBSD-gnats-submit@freebsd.org Cc: freebsd-mobile@freebsd.org Subject: [PATCH] update to doc/en_US.ISO8859-1/articles/laptop/article.sgml Message-ID: <200306131929.h5DJTNqO001737@korben.in.tern>
next in thread | raw e-mail | index | archive | help
>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 @@ <title>FreeBSD on Laptops</title> <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/laptop/article.sgml,v 1.12 2003/05/23 17:14:04 blackend Exp $</pubdate> - + <abstract> <para>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.</para> + 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 <quote>FreeBSD</quote> into a search engine of your + choice.</para> - <sect1> + <sect1> <title>XFree86</title> - - <para>Recent versions of <application>XFree86</application> work with most display adapters - available on laptops these days. Acceleration may not be - supported, but a generic SVGA configuration should work.</para> - - <para>Check your laptop documentation for which card you have, - and check in the <application>XFree86</application> 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 <application>XFree86</application> version 4, you can try your luck - with the command <userinput>XFree86 -configure</userinput> - which auto-detects a lot of configurations.</para> + + <para>Recent versions of <application>XFree86</application> work + with most display adapters available on laptops these days. + Acceleration may not be supported, but a generic SVGA + configuration should work.</para> + + <para>Check your laptop documentation for which card you have, and + check in the <application>XFree86</application> 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 <application>XFree86</application> + version 4, you can try your luck with the command + <userinput>XFree86 -configure</userinput> which auto-detects a + lot of configurations.</para> <para>The problem often is configuring the monitor. Common - resources for <application>XFree86</application> 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 <application>XFree86</application> 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 <application>XFree86</application>) and copy a modeline posted by someone for similar - hardware.</para> + use <application>XFree86</application>) and copy a modeline + posted by someone for similar hardware.</para> <para>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</para> - - <programlisting> - Option "Emulate3Buttons" - </programlisting> - - <para>in the <filename>XF86Config</filename> file in the <literal>InputDevice</literal> - section (for XFree86 version 4; for version 3, put just the line - <literal>Emulate3Buttons</literal>, 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 + <programlisting>Option "Emulate3Buttons"</programlisting> in + the <filename>XF86Config</filename> file in the + <literal>InputDevice</literal> section (for XFree86 version 4; + for version 3, put just the line + <literal>Emulate3Buttons</literal>, without the quotes, in the <literal>Pointer</literal> section.)</para> - </sect1> - <sect1> + </sect1> + + <sect1> <title>Modems</title> - <para> + <para> Laptops usually come with internal (on-board) modems. - Unfortunately, this almost always means they are - <quote>winmodems</quote> 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 + <quote>winmodems</quote> 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 <filename + role="package">comms/ltmdm</filename> 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. </para> - </sect1> + </sect1> - <sect1> + <sect1> <title>PCMCIA (PC Card) devices</title> - <para> Most laptops come with PCMCIA (also called PC Card) + <para>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 @@ <devicename>pccard1</devicename> etc on devices like <devicename>pcic0</devicename>).</para> - <para>FreeBSD currently supports 16-bit PCMCIA cards, but not - 32-bit (<quote>CardBus</quote>) cards. A database of supported - cards is in the file <filename>/etc/defaults/pccard.conf</filename>. - Look through it, and preferably buy cards listed there. Cards not - listed may also work as <quote>generic</quote> 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 <filename>pccard.conf</filename> 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.</para> - - <para>Some parts of <filename>pccard.conf</filename> 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 + <para>FreeBSD 4.x supports 16-bit PCMCIA cards, and FreeBSD 5.x + supports both 16-bit and 32-bit (<quote>CardBus</quote>) cards. + A database of supported cards is in the file + <filename>/etc/defaults/pccard.conf</filename>. Look through + it, and preferably buy cards listed there. Cards not listed may + also work as <quote>generic</quote> 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 <filename>pccard.conf</filename> 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.</para> + + <para>Some parts of <filename>pccard.conf</filename> 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;). </para> @@ -141,11 +149,11 @@ <para>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.</para> - - </sect1> + release. If you have problems, try upgrading your system.</para> - <sect1> + </sect1> + + <sect1> <title>Power management</title> @@ -153,32 +161,134 @@ FreeBSD. If you are lucky, some functions may work reliably; or they may not work at all.</para> - <para>To enable this, you may need to compile a kernel with - power management support (<literal>device apm0</literal>) or - add the option <literal>enable apm0</literal> to - <filename>/boot/loader.conf</filename>, and - also enable the &man.apmd.8; daemon at boot time (line - <literal>apm_enable="YES"</literal> in - <filename>/etc/rc.conf</filename>). The apm commands are - listed in the &man.apm.8; manual page. For instance, - <command>apm -b</command> gives you battery status (or 255 if - not supported), <command>apm -Z</command> puts the laptop on - standby, <command>apm -z</command> (or zzz) suspends it. To - shutdown and power off the machine, use <command>shutdown -p</command>. - 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. - </para> + <para>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.</para> + + <para>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.</para> + + <note> + <para>You cannot have APM and ACPI enabled at the same time, + even if your laptop has support for both of them.</para> + </note> + + <sect2> + <title>APM</title> + + <para>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.</para> + + <para>To enable APM, you can compile a kernel with power + management support (<literal>device apm0</literal> on FreeBSD + 4.x and <literal>device apm</literal> on FreeBSD 5.x) or + simply load the APM kernel module at boot time by adding + <literal>enable apm0</literal> (FreeBSD 4.x) or + <literal>apm_load="YES"</literal> (FreeBSD 5.x) to + <filename>/boot/loader.conf</filename>.</para> + + <para>On FreeBSD 5.x, you also have to set + <programlisting>hint.apm.0.disabled="0"</programlisting> in + <filename>/boot/device.hints</filename>.</para> + + <para>You can start APM at boot time by having + <programlisting>apm_enable="YES"</programlisting> in + <filename>/etc/rc.conf</filename>. You may also want start + the &man.apmd.8; daemon by adding + <programlisting>apmd_enable="YES"</programlisting> to + <filename>/etc/rc.conf</filename>, 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.</para> + + <para>The APM commands are listed in &man.apm.8;. For instance, + <command>apm -b</command> gives you battery status (or 255 if + not supported), <command>apm -Z</command> puts the laptop on + standby, <command>apm -z</command> (or <command>zzz</command>) + suspends it. To shutdown and power off the machine, use + <command>shutdown -p</command>. Again, some or all of these + functions may not work very well or at all.</para> + + <para>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 + <programlisting>options SC_NO_SUSPEND_VTYSWITCH</programlisting> + 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 + <filename>/etc/apmd.conf</filename> and change it to + this:</para> + + <programlisting>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"; +}</programlisting> + + </sect2> + + <sect2> + <title>ACPI</title> + + <para>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;.</para> + + <para>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.</para> + + <para>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.</para> + + <para>If you want to disable ACPI simply add + <programlisting>hint.acpi.0.disabled="1"</programlisting> to + <filename>/boot/device.hints</filename>. You can disable ACPI + temporarily at the boot loader prompt by issueing + <literal>unset acpi_load</literal> if you are having problems + booting an ACPI enabled machine.</para> + + </sect2> + + <sect2> + <title>Display Power Management</title> + + <para>The X window system (<application>XFree86</application>) + also includes display power management (look at the &man.xset.1; + manual page, and search for <quote>dpms</quote> 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.</para> - <para>The X window system (<application>XFree86</application>) also includes display power - management (look at the &man.xset.1; manual page, and search for - <quote>dpms</quote> 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.</para> + </sect2> </sect1> </article> --- laptop.article.sgml.diff ends here ---
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200306131929.h5DJTNqO001737>