[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&nbsp;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