[PATCH] update to doc/en_US.ISO8859-1/articles/laptop/article.sgml
Lukas Ertl
l.ertl at univie.ac.at
Fri Jun 13 12:30:04 PDT 2003
>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 at 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 ---
More information about the freebsd-mobile
mailing list