Last Updated 6-17-02
The Chembook 2020 is a VAR rebranding of the Compal N20U. The Chem USA people just install the CPU & hard drive, and do the tech support. This is the right page for you to check out if you have these (identical) laptops:
The N20U comes with an ATI Rage Mobility M1 AGP2X (8 MB
RAM), Crystal SoundFusion CS4281 and an LT Winmodem. Natural resolution of
1024x768. My particular laptop is equipped with 192 MB RAM, 20GB HD, and a
700MHz PIII.
Update: I recently upgraded to a 40GB hard drive. Specifically, I got
the IBM
40GB. The bios reacted fine, no hard drive problems to speak of. And the
hard drive is pretty quiet. After I got it I started noticing the
"latent" noise of the laptop. To save you some trouble when upgrading
hard drives, I suggest you look into getting a copy of Norton Ghost. I tried
Powerquest Partion Magic, and Powerquest DriveImage. End result: A great deal
pain and frustration, nothing worked. Tech support from Powerquest was of no
help to me either.
Update: Details of a failed experiment
installing a 60 GB disk.
Disclaimer: I am not a linux guru. I'm a coder, and I
really like having a UNIX style development environment around. I've been using
Linux for years now, but still consider myself a relative newbie. Case in point
- setting up this laptop was the first time I've recompiled a Linux kernel
without handholding. So, this guide is aimed to helping someone like me. But,
also, be warned - I don't really know what I'm doing. I think I'm pretty good
at using the Linux environment - I just don't know much about
administering one. I'll try to be as candid as possible so you know
when I know what I'm talking about, and when I'm talking out of my ass. :)
If you find any errors/ommissions, please don't
hesitate to contact me. Same goes if you figure out any of my problems, or
how to set up something that I didn't. I can be found at
francis@francischang.com.
Kick ass laptop. Can't do any better in this price
class. (Jan '01) The casing is pretty sturdy, the dimensions and weight are
about right.
My search criteria: small, fullsize keyboards,
internal ethernet/modem. I figured that, in 3 years, this laptop is gonna be
bigtime obsolete. I might as well have a light obsolete laptop, instead
of a heavy one. And it doesn't hurt to have an obsolete laptop that plays MP3s
and DVDs :) I'm also a big fan of the all in one solution in a box. Plus, it's
pretty sexy as far as laptops go ;)
Winning Features: light, thin, ultrabay, 13.3"
display, mouse buttons directly below the keyboard, VGA out, USB port, PS/2
port, serial port, parallel port (all built into the notebook), internal modem
& ethernet. Also, it's pretty quiet as far as laptops go.
Losing Features: Outboard CD-ROM, keyboard isn't so
good. The thing that bugs me the most is the tilde (~) key being in the top
right hand side of the keyboard. Other than that, the layout is pretty
reasonable, although it doesn't compare to a DELL or IBM keyboard. The
keyboard DOES have a little flex to it, but it's not bad at all. Not as bad as
the reviews would have you believe, anyways. I don't mind the CD-ROM not being
internal - I just wish I could slot two batteries into my laptop.
Recomendations: Make SURE you go for the 192 MB
option. I can't underscore this point enough. With this amount of memory,
I almost never have to swap, and price/performance drops off very quickly with
more memory. (If you run VMWare, get as much memory as you can afford.)
As far as design goes, I think the idea behind this
laptop was great. The manufacturing seems to leave a little to be desired,
though. 1 year later, almost all the little rubber feet seem to have fallen
off. The biggest problem with my laptop is that there's a cold solder joint in
my laptop, where the A/C power comes on. Can't accept A/C power, unless
connected through the ultrabase. (Both of the N20U's that I have exhibit this
problem). One of the N20U's I have seems to crash a lot when it gets hot.
I'm a coder, so I want environments that are conductive
to programming, but are easy to install. I chose Win2K and Linux-Mandrake 7.2. I
also tried Debian (Mega not
friendly - couldn't figure out how to set up X Win) and RedHat 6.2, but I settled on Mandrake because
of it's simple installation, and manageability. I didn't try RH7.0, because of
bug issues, and the general rule of never using a Redhat *.0 release.
After this experience, I'm a sworn Mandrake user for
life. All the bells and whistles, with a minimum of hassle. (as far as Linux
goes)
Handy tip: Give Mandrake a 2GB root partition to install
to. Mandrake, by default is a very very FAT install. Mine came to a total of
about 1.1GB. [sigh] I remember my first Linux install. 300MB filesystem,
including all X, swap, /usr and /home partititions + data. And that was
considered a fat install. Now, just my KDE desktop is 300 MB. Yeesh. I should
really trim the fat.
For Redhat, the graphical install goofs up. Type
"text" at the boot prompt to get the text mode install. This seems
to be a trait common to all ATI M1 video cards.
UPDATE: matthewcraig@atari.net wrote me to let me know that this is no
longer a problem with Redhat 7.3.
If you're installing Windows, install that first,
because Windows will always clobber the bootloader on the Master Boot Record
(MBR). If you're installing WinNT/Win2k make sure you edit the c:\boot.ini
before you install linux. Add in something like this to the bottom:
multi(0)disk(0)rdisk(0)partition(0)\WINNT="win partition 0" /fastdetect multi(0)disk(0)rdisk(0)partition(1)\WINNT="win partition 1" /fastdetect multi(0)disk(0)rdisk(0)partition(2)\WINNT="win partition 2" /fastdetect ... (and so on)because you never know where your windows partition is gonna go after you install linux.
fixmbr \Device\HardDisk0\Partition1 fixboot c:To get the graphics card going well ("well" is used rather loosely around here) under Win2K (and probably all other Windoze operating systems) grab the ATI Mobility-M/M1 video driver for IBM X-20 series laptops from IBM's website. The Compal drivers provided with the laptop are notoriously out of date. The drivers provided at IBM's website will give you (buggy, but working) implementations of OpenGL and Direct X. (They're not perfect, but they'll be good enough to play Quake 3 or Counter-strike(!) and do a little graphics development. (Incidentally, if anyone ever gets Half-Life/Counter-Strike working in OpenGL mode, please let me know)
These are the goals I had in mind when I did this install. Decreasing order of importance:
Well, the Mandrake installer detects the card just
fine. (Mach64 server) You can choose either XFree 3.3.6 (using 3D
acceleration), or XFree 4.0.1. I recommend the latter. Something is kinda funny
with the 3D hardware on the M-1 card. Some things don't behave correctly, and
it doesn't seem to want to do lighting at all. (This is the behaviour on Win2K,
also) More importantly, XFree 3.3.6 doesn't seem to take too kindly to being
suspended. (Fn-Suspend, or apm --suspend) All is well with XFree 4.0.1. 3D in
software is a bit slow, but it works reasonably well.
I've been able to get some OpenGL code working on this
machine, but I haven't been able to do anything terribly non-trivial going.
ie. glTron works, but no tuxracer or quake3. I've messed around with the UTAH
GLX crap, and so on, but to no avail. If ANYONE figures out how to get Quake3
working on this thing, PLEASE drop me a line. :)
The other half of getting the graphics card up and
running is setting up the console mode. The goal is to run the default console
in the display's natural resolution (1024x768). Mandrake, by default, sets up
the console to run in 640x480 raster graphics mode, which is kind of ugly on
our display. The solution: (incidentally, this makes the assumption you're
using LILO, not GRUB)
Go to DrakConf->LinuxConf->boot mode->LILO linux
configurations->linux and set the VGA mode to blank. This tells the linux
profile to accept the default VGA mode. Then, go to the LILO defaults setting,
and set the VGA mode to 791 (1024x768, 16-bit colour). How I figured out this
number, I don't know. If you know how to calculate these VGA mode numbers,
please tell me :)
Make sure you reboot after doing this, 'cuz it can
screw up LILO if you try and modify it without rebooting.
Mandrake detects the card just fine. No problems.
Just for the record, I'm using the EtherExpressPro/100 (eepro100.o) device
driver. You're left to your own devices to configure your network though.
If anyone's figure out how to set up and use profiles,
let me know.
The soundcard in the chembook is the Cirrus Logic
Crystal CS4281. Lucky for me, this card is first supported on Kernel 2.2.17,
which ships with Mandrake 7.2. Unfortunately, all the regular tools (HardDrake,
sndconf) don't support this card yet. No problem, though. We can load the
driver (cs4281.o) with insmod, or modprobe.
To have the sound driver loaded at boot time, put
this in your /etc/modules.conf:
alias sound cs4281And for your convenience, you may want to put this in your .bashrc:
alias startsound='insmod cs4281 ; aumix -L' alias stopsound='rmmod cs4281'Caveats:
Worked by default. I have no idea how to get hibernate
support working. There's one screwy thing though. I like my laptop to do
nothing (just turn off LCD) when you close the lid. This behaviour can be
toggled in the BIOS. If you suspend the computer, and then close the lid,
Linux gets woken up by this event. This isn't a problem in Windows, because
Windows doesn't respect the BIOS settings. It has its own defined behaviour
when reacting to lid-closed events.
The two (lousy) workarounds:
Suspend the computer and quickly close the
lid.
Close the lid almost all the way (so the LCD turns off)
and then apm --suspend.
(Make sure you use XFree 4.0.1, as mentioned above.)
Update: I got an email from Ariel Salomon, who explained how he got
hibernate working with Linux. You can read our brief discussion.
Update 2: I did it, worked like a charm. I used the phdisk.exe tool
provided on the drivers disk. If you don't have a DOS lying around, like me,
it'll save you a lot of pain to use this floppy drive image. (Use unix' "dd"
dd utility to dump this thing to a floppy). If you don't have a floppy drive,
like me, check out the Linux bootdisk
HOWTO to burn that sucker onto a bootable CD-ROM.
Note: I've heard that phdisk.exe is not a reliable tool. It's been
described as "playing russian roulette with your partition table". I
took the plunge because I had an empty (no data) hard drive. It worked for
me. If you dislike the idea of having your hard drive wiped, you may want to
look into the lphdisk utility.
The LT winmodem install was actually surprisingly easy.
Check out the Linmodem
HOWTO. They do a better job of explaining things than I could ever do. Make
sure to get the modified partial open-source
driver, though.
Linux Newbie tip: You need the PPP kernel driver
(ppp.o) and the PPP daemon (pppd) to set up a PPP connection for the
modem. It took me a few hours of head-scratching to figure that one out :)
Just to note: I used kppp to configure my dial-up. Another
tip: If things don't work, try again, as root. Also, make sure you "install" the
driver module with ltinst2. I've been able to get download speeds of up to 8KB/s.
I wanted to use Kernel 2.2.18 instead of 2.2.17mdk,
because .18 has a few bugfixes to the cs4281 driver. Other than that, there's
no really good reason to upgrade kernels. If you're new to this whole
compiling a kernel thing, like me, then you might want try out "make
xconfig " instead of "make config" like the Kernel
HOWTO suggests. Here's the config file for my
kernel. It's a bit leaner than the default MDK kernel, too.
Don't quote me on this, but I think the 2.2.18 code
has more mature USB stuffs, too. My understanding is that Mandrake did a
backport of the USB stuffs for the 2.2.17MDK kernel, and the 2.2.18 has the
"official" backport of the USB stuffs.
Hint: Use DrakeLogo to configure the startup image.
Update: I recently decided I needed kernel 2.4.18, so I just upgraded to
that. The kicker is now I have PCMCIA working. Here's the config file.
/dev/hda6 /mnt/winshare vfat user,exec,umask=0007,gid=506 0 0 /dev/hda1 /mnt/ntfs1 ntfs ro,umask=0007,gid=506 0 0 /dev/hda5 /mnt/ntfs2 ntfs ro,umask=0007,gid=506 0 0Tip: Check out the cfdisk command to get a look at your hard drives. (be careful! Don't use the cursor keys - they seem to act unpredictably in certain terminals)
Updated: I got PCMCIA working when I upgraded to the 2.4.18 kernel. I
needed it for my Orinoco/Lucent Wavelan card. In summary, I used the pcmcia-cs toolkit,
which run mostly in user space.
The documentation available in their website is
more detailed/accurate than mine, so I'll just quickly summarize what I
did. First, I compiled my kernel using the 2.4.18 configuration listed
above. Second, I installed the pcmcia-cs toolkit. Everything else after that
was magic - it just worked. ifconfig to pring up eth1, dhcpcd and I'm on the
WaveLAN.
The key thing seems to be to *not* compile PCMCIA into
the kernel. (As crazy as this sounds) There's a longer, and more convoluted
explanation that I could get into, but if you want the goods, just check out the
pcmcia-cs website.
Thanks to Buck for figuring this out for me.
Basically, at this point, I ran out of ambition. I
have no idea if USB/IR/DVD/CD Burning works, I've never tried. I have
no reason to believe that it does or doesn't work at this point. Heck, I don't
even know if my CD-ROM still works after all this finangling that
I did. If you figure any of this stuff out, drop me a line.
Well, that's it. Good luck with your Linux install :) Be
sure to check out the Laptop
HOWTO and the Linux on
Laptops survey. If you're hoping to try out USB, (if it doesn't already
work) be sure to check out the Linux USB guide. Oh,
yeah, and before I forget, I heard somewhere that if you want to get the IR
port working, you have to go into the BIOS and change it to IrDA. (BIOS
defaults to FIR.)