<?php /* -*- HTML -*- */
/*

$Id: details.php,v 1.38 2003/07/22 03:35:56 cph Exp $

Copyright 2001,2002,2003 Massachusetts Institute of Technology

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at
your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA.

*/

$MODEL = ($HTTP_GET_VARS['MODEL']);

switch ($MODEL)
{
 case "6000":
 case "500":
  break;
 default:
  print ("Unknown model number ${MODEL}.\n");
  exit ();
}

include ("support.php");
$SCRIPT_TITLE = "GNU/Linux on the HP OmniBook ${MODEL}";
$MAJOR_PAGE_P = true;
standard_header_1 ("\$Id: details.php,v 1.38 2003/07/22 03:35:56 cph Exp $");
?>

<meta http-equiv="Keywords"
 content="GNU, Linux, Debian, Hewlett-Packard, HP, OmniBook"
 />

<meta http-equiv="Description"
 content="A web page describing how to use the GNU/Linux operating system
  on the Hewlett-Packard OmniBook <?php print ($MODEL) ?> laptop computer."
 />

<?php standard_header_2 () ?>

<p>
Changes to this page are listed <a href="news.php">here</a>.<br />
<?php print_last_modified () ?>
</p>

<p>
<strong>
Please join the
<?php rtagref ("index.php", "OmniBook mailing list", "Mailing List") ?>.
</strong>
<br />
<a href="index.php">Further information</a> about GNU/Linux on OmniBooks.
</p>

<?php tagdef ("Feature Summary") ?>

<p>
Here is a list of major features of the
<?php
{
  print ("<a href=\"http://www.hp.com/notebooks/us/eng/products/");
  print ("omnibook_${MODEL}/omnibook_${MODEL}_summary.htm\">");
  print ("OmniBook ${MODEL}</a>");
}
?>
, and their current status.  Click the links in the left column of the
table for further details.  The links in the right column of the table
refer to the primary support web page for that feature.
</p>

<table align="center" border="1" cellspacing="0">
  <tr>
    <th>Feature</th>
    <th>Status</th>
    <th>Notes</th>
    <th>Link</th>
  </tr>
<?php

function summary_row ($feature, $status, $notes = "", $link = "", $link_text)
{
  print ("  <tr>\n");
  print ("    <th>${feature}</th>\n");
  print ("    <td align=\"left\">${status}</td>\n");
  print ("    <td align=\"left\">${notes}</td>\n");
  if ($link != "")
    print ("    <td align=\"left\"><a href=\"${link}\">${link_text}</a></td>\n");
  print ("  </tr>\n");
}

{
  summary_row ("<a href=\"graphics.php\">Graphics</a>",
	       "works with XFree86 3.3.6, 4.0.x",
	       "3.3.6 server needs patch",
	       "http://www.xfree86.org/",
	       "XFree86");
  summary_row ("<a href=\"sound.php\">Sound</a>",
	       "works with Linux 2.4.2 or ALSA 0.5.10",
	       "volume buttons don't work",
	       "http://www.linux.org.uk/OSS/",
	       "Linux Sound Subsystem");
  if ($MODEL == "6000")
    {
      summary_row ("<a href=\"touchpad.php\">Touchpad</a>",
		   "works",
		   "slight customization",
		   "http://compass.com/synaptics/",
		   "Linux Touchpad Driver");
      summary_row ("<a href=\"trackpoint.php\">Trackpoint</a>",
		   "works",
		   "slight customization",
		   "",
		   "");
    }
  else
    summary_row ("Trackpoint", "works", "", "", "");
  summary_row ("PCMCIA",
	       "works with pcmcia-cs 3.1.22",
	       "",
	       "http://pcmcia-cs.sourceforge.net/",
	       "Linux PCMCIA");
  summary_row ("DVD",
	       "works with Linux 2.2.18, 2.4.2",
	       "movie playing works but illegal in US",
	       "",
	       "");
  summary_row ("<a href=\"ethernet.php\">Ethernet</a>",
	       "works with Linux 2.2.18, 2.4.2",
	       "significant customization",
	       "http://www.scyld.com/network/vortex.html",
	       "Linux \"Vortex\" driver");
  summary_row ("<a href=\"apm.php\">APM</a>",
	       "works with Linux 2.2.18, 2.4.2",
	       "significant customization, some bugs",
	       "http://www.worldvisions.ca/~apenwarr/apmd/",
	       "apmd for Linux");
  summary_row ("USB",
	       "works with Linux 2.2.18, 2.4.2",
	       "",
	       "http://www.linux-usb.org/",
	       "Linux USB");
  summary_row ("Infrared",
	       "works with Linux 2.2.18, 2.4.2",
	       "SIR and FIR supported",
	       "http://irda.sourceforge.net/",
	       "Linux-IrDA");
  summary_row ("ACPI",
	       "works with linux 2.4, 2.5",
	       "not ready for prime time",
	       "http://sourceforge.net/projects/acpi/",
	       "Linux ACPI");
  summary_row ("<a href=\"modem.php\">Modem</a>",
	       "doesn't work",
	       "this probably can't be fixed",
	       "",
	       "");
}
?>
</table>

<?php tagdef ("Packages and installation") ?>

<p>
Debian GNU/Linux 3.0 doesn't need any special support for use on the
OmniBook <?php print ($MODEL) ?>.  If you're still running Debian 2.2,
you can use the packages on
<?php print ("<a href=\"potato.php?MODEL=${MODEL}\">this page</a>") ?>.
</p>

<p>
I am still building and maintaining kernels that are customized for
the OmniBook <?php print ($MODEL) ?>.  Since I use Debian unstable
(sid), I build kernels for that platform.  To add these kernels as an
APT source, add the following line to your
<samp>/etc/apt/sources.list</samp> file:
</p>

<pre>
<?php
{
  print ("deb <a href=\"debian/dists/sid/main/binary-i386/\">");
  print ("http://www.swiss.ai.mit.edu");
  print (dirname ($HTTP_SERVER_VARS['REQUEST_URI']));
  print ("/debian</a> sid main\n");
}
?>
</pre>

<p>
I occasionally build kernels for Debian 3.0 as well:
</p>

<pre>
<?php
{
  print ("deb <a href=\"debian/dists/woody/main/binary-i386/\">");
  print ("http://www.swiss.ai.mit.edu");
  print (dirname ($HTTP_SERVER_VARS['REQUEST_URI']));
  print ("/debian</a> woody main\n");
}
?>
</pre>

<?php tagdef ("Miscellaneous Notes") ?>

<?php if ($MODEL == "6000") { ?>
<p>
A long-standing problem with the OmniBook 6000 is that it wasn't
possible to reboot it from GNU/Linux.  This problem appears to be
resolved by BIOS version 1.81.
</p>

<p>
A standard kernel floppy doesn't boot right.  (This is a floppy where
you copy the kernel to the disk with <b>dd</b>.)  I tried
booting this way a couple of times and gave up.  This is easily worked
around using syslinux, so it's not very important.  But it would be
nice to know why it doesn't work.
</p>
<?php } else if ($MODEL == "500") { ?>
<p>
The <a href="http://pcmcia-cs.sourceforge.net/">pcmcia-cs</a> daemon
sometimes doesn't notice card insertion or ejection events.  These
events are ignored when the machine is freshly booted, but after the
machine is suspended and resumed, the events are correctly noticed.
<strong>This problem seems to be fixed with Linux 2.4.6.</strong>
</p>

<p>
The machine is supplied with a modular floppy-disk drive, and a USB
adapter cable to allow use of the floppy drive without an expansion
base.  The USB adapter cable works fine provided that the kernel has
been configured to support USB mass storage.  In that case, the floppy
appears as device <samp>/dev/sda</samp>.
</p>
<?php } ?>

<?php tagdef ("Background Information") ?>

<p>
The configurations and software provided here have been tested on
<?php if ($MODEL == "6000") { ?>
OmniBook 6000 models F2087WT and F2184KT.  The two machines are nearly
identical except for the size of the screen.  The F2087WT has a
14-inch 1024x768 screen, while the F2184KT has a 15-inch 1400x1050
screen.
Currently I am running <a href="http://www.debian.org/">Debian
GNU/Linux</a> 3.0 with a custom-compiled
<a href="http://www.kernel.org/">Linux kernel</a> 2.4.19.
<?php } else if ($MODEL == "500") { ?>
an OmniBook 500 model F2167KT.
Currently I am running <a href="http://www.debian.org/">Debian
GNU/Linux</a> "unstable" with a custom-compiled
<a href="http://www.kernel.org/">Linux kernel</a> 2.4.19.
<?php } ?>
</p>

<p>
The following browsable directories hold the software and
configuration files available at this site.
</p>

<?php

$dir_row_index = 0;

function dir_row ($title, $dir)
{
  global $dir_row_index;
  if ($dir_row_index > 0)
    end_dir_row ();
  print ("  <tr>\n");
  print ("    <th>\n");
  print ("      <a href=\"${dir}/\">${title}</a>\n");
  print ("    </th>\n");
  print ("    <td align=\"left\" valign=\"top\">\n");
  $dir_row_index += 1;
}

function end_dir_row ()
{
  print ("    </td>\n");
  print ("  </tr>\n");
  print ("\n");
}

?>
<table border="1" cellspacing="0">
<?php dir_row ("Configuration files", "config/usr/src") ?>
Config files for the Linux kernel.

<?php dir_row ("Patch files", "patches") ?>
Patch files for the Linux kernel.

<?php dir_row ("Debian packages", "debian/dists/woody/main/binary-i386") ?>
Debian packages for a custom Linux 2.4.x kernel.
<?php end_dir_row () ?>
</table>

<?php standard_footer () ?>
