Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Nov 1997 12:55:44 -0700 (MST)
From:      Nate Williams <nate@mt.sri.com>
To:        Lorenzo VICISANO <L.Vicisano@cs.ucl.ac.uk>
Cc:        freebsd-mobile@freebsd.org
Subject:   Re: FreeBSD & laptop: state of the art
Message-ID:  <199711171955.MAA27020@rocky.mt.sri.com>
In-Reply-To: <3117.879789102@cs.ucl.ac.uk>
References:  <3117.879789102@cs.ucl.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
> I'm a new freebsd-over-laptop user (actually new laptop user!),
> currently running 2.2.2+PAO on a thinkpad 560. I'm happy with all the
> power management issues, but not as happy with pccard (sportster modem
> hangs the machine when going in power saving and 3C589D do the same
> when I unplug it `hot').

These are issues I'm currently working on right now.  The serial driver
still needs some changes to have it 'quit' when you unplug it 'hot', but
the others cards should work now with the code in -current and -stable.

> As I'm thinking of upgrading to 2.2.5, my question is: is 2.2.5 supposed
> to supersede PAO stuff or not? And how is it doing?

Supercede?  I wouldn't got that far, but the code in 2.2.5-STABLE is
developed independantly of PAO, since both the PAO code and the FreeBSD
code is based on the same code that Andrew McRae wrote.  However, both
the PAO folks and I tend to 'share' ideas, and even code sometimes, so
at any point in time the PAO code will have some better features/bugs,
and at the same time FreeBSD will have some better features/bugs.

For now, PAO's plusses are:
1) PCI/CardBus support - Not at all supported in FreeBSD, and I just got
   a report of the PCI code in 3.0-current causing problems with a PCI
   machine that emulates PCCARD.

2) Additional drivers not in FreeBSD.  Some ethernet cards, as well as
   WAVELAN support and frame Grabbers.

3) Better documentation.  There is virtually none in FreeBSD, so most of
   the setup is passed on in mailing lists.

4) Setting up modems and other cards is easier to do in PAO.  Changes
   they've made to the pccard daemon make things *easier* to setup
   modems.

FreeBSD's plusses are:
1) Better suspend/resume support.  Simply put, it works better, although
   it's not perfect yet.

2) It's easier to stay 'current' with it, since the code doesn't
   requiring any hand-patching, and patches don't get out of date.

The following are a bit religious, and I'm quite biased, so take them
with a grain of salt.

3) Less bugs.  Many of the 'fixes' in the PAO code are workarounds and
   don't attempt to find the 'real' bugs in the system.  This is the
   main reason that many of the PAO 'fixes' haven't been integrated into
   the system, since hiding *real* bugs doesn't help the problem, and
   merely obfuscates the code un-necessarily.  (Bruce just gave me a
   hint on why many of the modems cards don't work, so the sio patches
   shouldn't be necessary at some point in the future.)

4) Some of the 'feature' additions are well done, but I disagree with
   them on a 'architectural' view.  Basically, the state of the art with
   pccardd should be to *simplify* it, rather than adding new features
   to it.  So, instead of adding more code to pccardd I'd like to
   re-write it to make it simpler, and make the kernel code just a
   little bit smarter.


As far as the advantages to PAO, they are all easily overcome with time
and effort.

1) PCI support.  Could be easily done, but I want to do it 'right', or
   at least more inline with the other drives in FreeBSD.

2) Driver support.  Needs someone to port it to FreeBSD, or send me or
   another developer the card so we can port it.

3) Someone who can write (not me) can take the PAO docs and pack them up
   nicely into a handbook entry.

4) I'd like to re-write pccardd, so that it's a moot point.

My goals, which are lofty and will never get finished completely are:

1) Finish up the suspend/resume support, or at least make things better
   than they are now.  There are known 'misfeatures' in pccardd that are
   now a big deal due to changes I made in the kernel.  I've got some
   patches out in the field now (Hi Brian!) that may help, but they may
   not be adequate.  Also, this might involve some of the stuff Bruce
   mentioned regarding sio probes

2) Bring in additional drivers from PAO so that FreeBSD supports the
   same cards, or at least a much bigger subset.

3) PCI/CardBus support for PCIC controller

4) Simplify pccardd, extend kernel support.  Some of the pccardd stuff
   will happen in step 1, but I think a total re-write is necessary.

5) Combo-card support.

6) CardBus support for Cards.  Totally unknown, but apparently things
   are different enough so that the current code won't work.



Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711171955.MAA27020>