Frink
linux, lemurs, loonies, lattices.
---
linux, linux@cmp, linux on pico.
+-
|

"Pico Direct" make laptops. They are pretty cheap and of pretty good specifications. I have some reservations about build quality and I have had a dire run in with their customer support over a laptop that arrived DOA but that aside the thing has run well for years and provided me with a nice portable machine to run Linux on (in fact when I bought mine you had the option of getting it sans Windows and sans the price of Windows. This may have changed by now). Anyway, if you've got a Pico Consul laptop and want some pointers in installing and using Linux on it then here's some info.

-

Contents
Don't blame me if it explodes
Installing
Setting up X
Sound
USB
PCMCIA
Tuning Up
Misc
General Remarks

-

Don't blame me if it explodes

These notes are provided as hints and helpers for people using Linux on Pico Consul laptops. They are not intended to be the definitive word on how to do so. I don't offer any guarantees that they will work or that won't damage your system. Then again, it's highly unlikely that it will harm it in any way.

I am, of course, quite happy to accept offers of gratitude if they do work ;0).

This information was originally produced back in SuSE 6.2/6.3 days when laptop hardware was only just getting to be supported properly by Linux and XFree86. Since then support has gotten much better as has the installation and setup tools that come with SuSE. For anything apart from 3D SuSE should detect and setup or be told to setup pretty much all the hardware Pico Consul laptops use. Yast2 and SaX2 ought to make this guide useless. But, people still may be using older verions of SuSE or may just want to know a little more behind-the-scenes info, so here it is...

(Update) I have tried SuSE 7.3 on this laptop with a 3c575 PCMCIA NIC and I have had numerous problems with networking not initialising properly, and starting sound locks the machine. A self-compiled 2.4.14 kernel does work, but only if I start in runlevel 1 and manually load the pcmica modules before starting networking. I will try 7.3ftp at some point but on this laptop with this configuration 7.3 is a mess and I recommend you stick to 7.2 if you want a hassle free life.

(Update 7/6/2002) I have since tried SuSE's ftp version of 7.3 and it has worked a treat. If you have access to a decent internet connection I would recommend that. I haven't tried 8.0 at any point and don't intend to for a long while yet.

(Update 20/8/2002) I have recently installed SuSE 8.0ftp after my 7.3 install went weird (I think ReiserFS is at fault). It all went on fine. I'm now using ext3 without any problems. All the hardware works as a I expect. Erm, it works. Even so I am thinking of installing Gentoo at some point. This laptop is far from fast by contempary levels and having everything compiled explicitely for the hardware can make a bit of difference. I'm also looking forward to easier updates for some technologies (SuSE isn't too bad but there are often some bits that don't change as quickly as I'd like). I'll put any information here if I get round to trying it.

Back to contents...

-

Installing SuSE

This guide assumes you have the common sense to not run Windows(tm). Life becomes infinitely easier when not trying to dual-boot a preexisting Windows setup with Linux (particularly as latter releases don't include DOS which makes some DOS-based repartitioners tricky to use). Luckily, Pico give you the option of obtaining laptops without Windows preinstalled (make sure they deduct the licence fee from the price though). This saved me about 80 quid, which was much better spent on a boxed set of SuSE and some hard booze to celebrate ;). If this has changed or you have Windows on it anyway, then you will need to use Partition Magic or fips to resize your windows partition (after defragging it first). I would recommend 1GB minimum if you can spare it.

Stick the disc/CD in. Boot up for installation as usual. The discs will be 4.2GB/6.4GB so we don't have silly amounts of disc space but plenty enough for a chunky install and some space to play about in.

Out of habit I partitioned with a 20MB /boot partition at the beginning of the disc, followed by a 128MB swap partition (this is a 128MB RAM, standard use system so whilst 256MB would maybe be better 128MB is plenty for my usage). The rest is left for / . If you're using a later SuSE release (7.0 onwards maybe) you can skip the /boot partition if you wish as LILO now doesn't have the old 1024 cylindar limit. Also later releases allow ReiserFS or ext3 to be used. ResierFS may have had a problem on my 7.3ftp setup but ext3 has been fine on my 8.0 setup. They are both journaling filesystem and I would recommend their use as laptops tend to be more prone to being switched off at random.

The CD ROM and hard disc are on pretty much standard ALI 15xx IDE controllers so there are no problems there for installing. Choose a setup relevent to your use and install away (probably a good idea to make sure pcmcia and apm utilities are installed). Let it chug away for a while (this is probably the most work your laptop will ever do...), choose a standard pentium kernel then bingo, one laptop running Linux. Newer 2.4 kernels run fine on this hardware and I'd recommend you use one.

Back to contents...

-

Setting up X

There are two variants of the Pico Consul, the 98 and the 982. The 98 has an S3 ViRGE chipset, while the 982 has the now ubiquitous ATi Rage LT Pro (4MB).

The S3 is supported in both the standard SVGA drivers and its own S3 drivers (SVGA is now recommended by XFree86 for V3.3). Choose generic SVGA in sax or the relevant option in SaX2 (should autodetect).

The ATi Rage LT Pro is supported by XFree86 3.3.5/6 and recent X4 releases. Choose the Generic Mach64 driver in XFree 3.3.x or from the ATi list of cards in SaX2. The card can also be run with the SVGA driver but the proper ATI ones are much much faster.

The built-in pointing device is a glidepad, which is a normal PS/2 device (choose 3 button emulation) on /dev/psaux. If you plug in a PS/2 mouse into the port at the back it will work alongside the glidepad. My laptop has a habit of treating my mouse as a keyboard on a cold boot but after a warm reboot it works fine. (Keyboards can also be plugged in if you wish but there's only one PS/2 port). The 13.3" LCD screen supports a maximum of 1024x768, the 12.1" supports 800x600 (I believe), choose a suitable display resolution from the LCD selection in sax. One thing to note with LCD displays is that they are fixed resolution, if you change to a resolution that isn't an integer division of the defined resolution it will look blurry, eg you might be trying to fit 2.5 pixels worth of display onto 2 LCD pixels. You can't have half an LCD pixel so it doesn't work out right. In theory 512x384 ought to look ok but I don't think I've ever tried it. 800x600, 640x480 and smaller will work and it will go up to a maximum of 1280x1024 if you plug a monitor into the back and switch to monitor only (if you start X with the LCD being used at all X will restrict you to the max res the LCD can handle).

Back to contents...

-

Getting Sound to work

The 982 has an ESS Meastro 2E PCI integrated soundcard. This works fine with the drivers in kernels >2.2.14 or by using ALSA. Yast2 should pick it up for you. The 98 has some type of Yamaha chipset which also works fine.

Back to contents...

-

USB support

The 982 (at least) has one USB port and this is supported by SuSE through its USB packages (plug the device in and it goes beep-beep). If you're compiling your own kernel you want the non-intel chipset support.

On my system I use a Wacom Graphire tablet. It is recognised and works through the USB. The support is a bit scrappy but that is not a problem of the Pico's (I've tried it on other machines and it acts the same).

Back to contents...

-

PCMCIA support

The Consul has two TypeII (or one TypeIII, I hope that's the right way round ;0) PCMCIA slots. These support 16bit PCMCIA and 32bit CardBus devices. The PCMCIA controller is the Intel i82365 chipset. Generally the PCMCIA support that comes with SuSE now works fine, plug the card in and if Linux can handle it it will go beep-beep and set it up for you. For compiling your own kernel I suggest bypassing the built-in kernel support and using the pcmcia-cs package (which you need anyway, so what's the point?). Yast will handle setting up networking with PCMCIA NICs and modem cards generally simulate a serial port (ttyS4) which you can connect to as normal and access the modem by (try to stick to controller-based devices if you can). That ends my PC card experience but that covers a lot of what people will need (I also recommend the 3Com 10/100 cards for ethernet networking as long as you're not terribly clumsy with fragile interfaces. A tad pricey but quality networking that's guaranteed to work. I know 5 people who've used them and they've all worked fine.)

Back to contents...

-

Tuning Up

The IDE chipset and disc on my machine (and presumably most others) can use DMA (PIO 4 Mode 2, no UDMA here I'm afraid), but in some older install kernels this won't be enabled as the ALI M15x3 chipset isn't in the kernel as standard but it can be applied with a patch. The patch can be obtained from http://www.kernel.org/pub/linux/kernel/people/hendrick/. Download it, uncompress it, stick it in /usr/src/linux/ then run 'cat ide.patch | patch -p1 ', recompile your kernel with the ALI M15x3 chipset support added and you're away. 2.4.x kernels have this in as standard. My tests (using Bonnie) show roughly twice as fast transfer speeds across the board, for about 20-25% less cpu usage. The transfers aren't blistering even with DMA, small harddiscs don't tend to be ultra-fast. Speed ranges from ~2MB/s at worst to ~10MB/s at the very best, with what you actually get being somewhere in between and depending very much on what you're doing, as always.

Newer versions of SuSE have this in by default and all you need to do is use the idedma package to enable it and set the option to use it in rc.config to 'YES'.

By default on my machine (and for quite a while now, so I'm quite happy in recommending it) I have the following parameters passed to the 'hdparm' command: /sbin/hdparm -d 1 -c 1 -m 16 -u 1 -W 1 /dev/hda
this turns on respectively:
use dma
32bit transfers
use 16sector block mode transfers
enable interrupts (means the machine can get on with other things while the disc is active)
enable write-caching.

These things can cause problems, which is why they're off by default, but they don't cause problems with the chipsets used on the Consul (they're performance tweaks left to the user to apply if they don't mind a crash or know their chipsets are ok). My machine has 128MB RAM so the extra disc cache makes this much less of a problem. Enabling DMA could make quite a difference for some use though.

The processor in my laptop is a K6/2 at 400MHz, there were also options for K6/3s when I bought it. These cpus are pretty similar to their desktop variants (I'm not sure if there's any different to be honest) and they support the following extensions: MMX, 3DNow, MTRR and have hardware floating point accelleration (although in the K6/2 this is far from blistering and lags well behind a similar clock speed pentium for number crunching; it is, however, comparable for normal integer work). If you're compiling your own kernel be sure to choose k6 cpu type and turn on MTRR (makes some graphics operations faster; mplayer and glx make use of them at least iirc). MMX and 3DNow are used by various decoders, such as mp3 players (eg xmms) or video players (eg mplayer) so be sure to utilise them if they're not automatically detected. To be sure of what your system can support see /proc/cpuinfo to be sure.

With GCC (from 2.95.3 onwards at least) you can specify the architecture as k6 ie gcc -march=k6 -mcpu=k6, which may give some small improvement over the defaults. If you're using precompiled binaries the k6/2(3) is a 5th gen cpu, ie i586 not i686 like Pentium Pro/II/III or Athlons. It's the same gen as the Pentium/Pentium MMX. i686 binaries may not work properly on the K6 Consuls.

Back to contents...

-

Misc

It may just be my machine but it is very very rare for the laptop fan to be off. When it's in a quiet state, and the air from the machine feels quite cool the fan is still going. While quiet, and in a very cold room the fan will go on and off, on and off ad nauseum. As my laptop spends most of its time as a 'desktop' (and I can't get to sleep at night without the whirrrr of a computer in the room) I don't mind but it is something to be aware of if you don't like it.

The default battery for the Consul is the Nickel Metal Hydride type, which isn't a 'Smart' battery. Consequently, when you run on batteries, some APM utilities get very confused eg at full charge apm reports only 50% charge on the battery and upon removing the AC connector tends to drop low enough for most apm utils to kick in and power the machine down. Make sure your APM utility doesn't do anything without your consent, having a utility power down your laptop the very second you go onto batteries can be disastrous if you're in the middle of something. When going into Suspend mode for the first time it then takes ages (a minute or two) to come back to life when you ask it to. Subsequently (until you turn it off again) it only takes about 10s to power back up. I am pretty sure this is down to conflicts between APM and DMA on the harddisc; not using DMA has prevented total harddisc lockups with SuSE 8.0 so you may have to trade harddisc performance for suspend ability if you want it: even setting apmd to stop and start dma appropriately doesn't fix it. The only drawback to Suspend I have found is that the soundcard may not reawaken. I know the Maestro chipset has APM abilities but I am not aware that the sound drivers use this, so my assumption is that the Consul is powering everything down including the sound but the driver doesn't reawaken it on power up. apmd can potentially get around this, you need to edit the /etc/rc.config.d/apmd.rc.config file (/etc/sysconfig/powermanagement on SuSE 8.0). Change the APMD_STOP_SOUND_BEFORE_SUSPEND="no" option to something suitable ('alsa' most probably).

With my selfcompiled kernel and sensible options the laptop runs ok on batteries. With SuSE 6.2 and its kernel and version of X there were numerous problems on batteries with crashes, lockups etc. Test out your system at home on batteries before trusting it although with later distros this shouldn't be a problem.

The ATI Rage LT Pro is capable of hardware 3D acceleration and is supported by the utah-glx project. After many many attempts, using both SuSE's rpms and the latest via CVS I have been able to get hardware accelerated GL programs but it is horribly unstable. Sometimes it works fine for ages, sometimes it just knocks out X, usually needing a reboot as it takes the keyboard with it. Another problem is that to do full screen 1024x768x16bit 3D takes 4.5MB (glx needs three banks to work with, and that res uses 1.5MB, multiply by 3 and you get 4.5MB), and the consul only has 4MB. Bugger. So in a window, or at low res it's not too bad (though nothing like a decent voodoo or Nvidia) but you just can't trust it, yet. It does, however, run 2D games pretty well.

Back to contents...

-

General Remarks

On the whole this laptop runs linux very nicely indeed. The K6-2/3 cpu runs relatively coolly most of the time, the speakers are ok by laptop standards, the TFT display is crisp and stable (and quite nippy with the mach64/ati driver). With stable 3D support for the ATi Rage LT Pro this would be a great machine for the price I bought it for but I don't know if that's feasable. I have had a problem where the supports for the screen have 'snapped' and generally the hinges are looking ropy, and I know someone else who's had the same thing. If you've got one be gentle with the screen ;0). This may be chance or spending too long in a very damp room for my machine.

Not perfect (a little too big and heavy and k6/2s aren't too hot at number crunching), but a nippy budget machine for the purely Linux user that isn't into heavy 3D gaming.

Back to contents...

gnu
|
- +

Last munkified: October 31 2008 09:20

Valid HTML 4.01!