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>