Linux on the Digital HiNote Ultra 2000 Notebook
30th April 2001
This document is designed to help you get Linux running on the Digital HiNote Ultra 2000 notebook. The latest version can always be found at http://inauspicious.org/hinote/.
Table of Contents
2. General
Information
3. Preparing to
install
- 5.1 Memory
- 5.2 X Configuration
- 5.3 Modem and Ethernet Configuration
- 5.4 Sound Configuration
- 5.5 APM setup
- 5.6 Synaptics Touchpad driver
- 5.7 Hot swapping the CD and Floppy
6. Kernel
Recompilation
7. Resources
Disclaimer
The authors take no responsiblity for any damage or data loss due to suggestions provided herein. When reading this document, please take into consideration that the Linux operating system is NOT supported by Compaq.
1. Introduction
This document is designed to help you get Linux running on the Digital HiNote Ultra 2000 notebook. I’ve got a GTX5233M, and the previous maintainer had a GTX5166M, so between us we probably have most things covered. Nevertheless, there are several different models out there and there may be problems with different configurations.
Robert Brown wrote the original version of this document and most of it is his work. He got rid of his HiNote at roughly the same time as I got mine, so I’ve taken over the maintainence of this document with his blessing. Send any comments, additions or corrections to gary@inauspicious.org.
The picture of a HiNote is © Copyright Compaq.
1.1 Related documents
Nothing exists in isolation; this document is a guide to installing and configuring Linux on one specific computer. If you don’t know how to install and configure Linux anyway, then you are going to need to do a bit more reading:
- The Installation HOWTO should be your first read if you are unfamiliar with the idea of installing Linux.
- The Distribution HOWTO should be read if you are unsure of what distribution of Linux to install. Unfortunatly it seems to have been removed from the web temporarily.
- The Laptop HOWTO addresses issues which are generic to installing Linux on laptops. If you are having a problem which isn’t addressed in this document then the Laptop HOWTO would probably be a good place to start looking for help.
Once your Linux machine is up and running, you would be well advised to read the Battery Powered mini-HOWTO, which will help you extend your battery life.
1.2 Contributors
The following people contributed information to this webpage:
- Till Straumann contributed the lilo.conf paramaters for disabling auto-detect of the CD-ROM. This allows the CD and Floppy drives to be swapped.
- Greg Kulosa suggested compiling the floppy drive support as a module. This is also essential for hot-swapping of the CD and Floppy.
- Bill Cattey sent a lot of helpful information on making the Xircom ethernet/modem work.
- Paulo Ney de Souza suggested numerous new URLs, corrections to broken URLs, and an added section on installing from floppy disk. He also contributed the entire section on 24-bit Xwindows for the 233 and 266MHz models.
- Nelson Minar suggested a different console font and a few options for the XF86Config file.
- Julian Bradfield informed me that the HiNote does not suspend to disk.
- Michael Temkin of Compaq kindly notified me when they moved their pages and broke all my links.
2. General Information
The Digital HiNotes shipped with various hardware configurations, but the only major difference between the models as far as we are concerned is the modem and ethernet card used. The 166MHz models come with built-in US Robotics 56k Winmodems. The 233MHz and 266MHz models come with a Xircom 10/100 Ethernet + 56k modem combination.
I have a 233MHz one; here is my exact configuration:
- Digital HiNote Ultra 2000 GTX5233M
- 233MHz Intel Pentium MMX processor
- 64Mb RAM
- 14.1” XGA TFT LCD screen (1024x768, 64k colours)
- Chips and Technologies CT65554 Graphics Card, 4mb RAM
- ESS ES1688 Audiodrive sound card (100% SoundBlaster Pro compatible)
- Integrated Xircom 10/100 Ethernet + 56k modem
A lot of the information in this document was written by Robert Brown; his configuration was:
- Digital HiNote Ultra 2000 GTX5166M
- 166MHz Intel Pentium MMX processor
- 96Mb RAM (32Mb + 64Mb RAM module)
- 14.1” XGA TFT LCD screen (1024x768, 64k colours)
- Chips and Technologies CT65554 Graphics Card, 2mb RAM
- ESS ES1688 Audiodrive sound card (100% SoundBlaster Pro compatible)
- Integrated USR Sportster Winmodem
- 3com 3C589D-Combo 10bT PC Card Ethernet Adapter (not built-in)
Both myself and the previous maintainer chose to install Red Hat Linux, and much of the information in this document is given in that context. The general principles should be pretty much the same regardless of whatever distribution you choose. If you install something else then please let me know how it went.
3. Preparing to install
3.1 BIOS upgrade
Probably the easiest way to install Linux is from a bootable CD and this is particularly true of HiNote’s since the CD-ROM and floppy drives cannot be used at the same time: you can’t boot from a floppy and then insert the CD. Older versions of the HiNote’s BIOS did not have the capability to boot from the CD-ROM drive, and if this is the case with yours then you will have to perform a BIOS upgrade to install in this manner.
It’s pretty easy to install, but there is one pitfall to be aware of:
The supervisor password feature of older BIOSes was broken—if a password was entered then it was stored but not enabled. In newer versions of the BIOS this bug has been fixed. To quote http://www.compaq.com/legacysupport/digital/zips/000000AK.DOC:
“In the… BIOS the supervisor password was broken. If a user tried to put a password on the password would go into the machine but the bit to force entry of the password had no effect. Now that the problem has been corrected in 1.07 that ‘old’ password has resurfaced.”
I bought my HiNote from a dealer in ex-corporate stock, and found this out the hard way! Please pay serious attention to the next paragraph from the above document:
“If the user does not remember the password the unit must be sent for service.”
Proceed with caution or you could end up with a bill!
Assuming that you are happy to proceed, you can find the upgrade at
http://www.compaq.com/legacysupport/digital/epid75.html.
At the time of writing, 1.07 is the latest BIOS. It’s pretty easy to
install. Format a blank floppy, run the exe and extract to the
floppy, and then “sys a:
” under DOS or Win95. Boot with
the floppy in the drive and hit enter on the “Run_Me_First”
option. It will take a minute or so to load the initial BIOS. When
it gets done, lift up the keyboard and look to the left side near
the hard drive. There should be a little white strip of
plastic. Lift it up and you’ll see a green button. That’s the reset
button. Hit it. Wait a few seconds and turn the PC back on (with the
BIOS disk still in the drive.) When it comes up, hit enter on the
“Run_Me_Second” option. It will now re-flash the BIOS to the new
version and power down the laptop. Turn it back on normally, hit
FN-F3 to go into the CMOS, load the initial settings, and enable the
check box next to “CD-ROM boot”.
3.2 Repartitioning
The chances are that you will have Windows installed and, assuming you want to keep it, you will have to resize its partition. The Hinote does not have suspend-to-disk in BIOS—suspending it keeps power to the RAM—so you do not need a DOS partition on there at all.
A comprehensive guide to repartitioning your drives can be found in the Installation HOWTO, under ‘Repartitioning your DOS/Windows drives’. Most people use Partition Magic, a commercial package: check out http://www.powerquest.com/. Alternatively there is FIPS, a free utility that does the same thing. It doesn’t seem to have a homepage, but you can find the latest version in ftp://sunsite.unc.edu/pub/Linux/system/install/. It has a readme and a FAQ describing how to use it. Note that FIPS does not have FAT32 support. You can get a FAT32-friendly version of FIPS from the FAT32 kernel patch website.
4. Installation
The distribution that you choose is very much a personal choice; experienced Linux users will have a distribution that they prefer and will probably stick with that. Those who have never used Linux before should refer to the Distribution HOWTO (if they can find a copy—it seems to have disappeared).
Both myself and the previous maintainer of this document chose to install Red Hat Linux, and much of the information in this document is given in that context. The general principles should be pretty much the same regardless of whatever distribution you choose. If you install something else then please let me know how it went.
Since the CD-ROM and floppy drives cannot be used at the same time, some people may have problems with installation. Most modern distributions come with bootable CDs, so this is not a problem assuming that you are able to upgrade the BIOS (see section 3.1—BIOS upgrade). Other installation options include:
- Installation via an existing network: If your HiNote has a built-in Ethernet adaptor or if you have a PC Card Ethernet adapter then you can install from another computer or over the internet—refer to your distribution’s manual for details.
- Multi-stage installation: Some distributions, for example Debian, install in two stages. With Debian you can install the base system from seven or eight floppies and then reboot and install the rest of the software from the CDs.
Finally, if you haven’t installed Linux before, it helps to have someone on hand who has.
4.1 Red Hat Linux
Versions tried: 6.2, 7.2; versions also known to work: 7.1.
The installation should proceed (almost) normally. In our case it did not detect the Ethernet card and thus did not ask for network information. No problem there, you can enter the information after the first reboot using linuxconf and it will work fine.
When it asks for X setup choose a “Generic LCD” and the resolution of 1024x768 in 16-bits (not 32). If you ask it to test the configuration it should work fine, and you can select the box that says “Enable graphical logins” (or similar) which will start X at bootup. If for some reason X isn’t working properly, you can skip the X configuration section and do it later. Section 5.2 of this document shows you how to fine-tune your X configuration.
With Red Hat Linux 6.2, it will hang on the last leg before the
final reboot—the problem here has been diagnosed by others as
being the mouse not being recognized by Kudzu. I understand if you
have an external mouse attached from the very beginning all will
work fine—but that is not necessary. When the machine hangs, just
reboot it by turning it OFF (Fn-Power) and then back ON and bring it
up single user mode by entering “linux single
” at the
boot prompt. When it loads, enter “rpm -e kudzu
”. If
this doesn’t work, entering “rm -f
/etc/rc.d/rc[1-6].d/???kudzu
” will =). Then reboot again to a
working machine.
With Red Hat Linux 7.1 and 7.2 (and other distributions using the 2.4 kernel), the Xircom ethernet+modem card will not be working at this point: Section 5.3 details how to get it up and running.
5. Configuration
This section deals with configuring your peripherals. At this point, you should have a machine that boots correctly, hopefully with a working X setup. If you aren’t using Red Hat Linux, then you may have to refer to this section during the installation—Debian, for example, will allow you to configure the sound and network cards from the base system.
5.1 Memory
If you have more than 64Mb of RAM then Linux will, by default, only
see the first 64Mb: you can check this by catting the file
/proc/meminfo
. The results of this are shown below for
my machine—I have 64Mb which is (roughly) the figure in bold:
total: used: free: shared: buffers: cached: Mem: 64581632 63053824 1527808 22573056 1425408 16187392 Swap: 136208384 23220224 112988160 MemTotal: 63068 kB MemFree: 1492 kB MemShared: 22044 kB Buffers: 1392 kB Cached: 15808 kB BigTotal: 0 kB BigFree: 0 kB SwapTotal: 133016 kB SwapFree: 110340 kB
If you have more than 64Mb then you will only see 64Mb in your
/proc/meminfo
. To fix this you must add a line to the
file /etc/lilo.conf
: here is a generic
/etc/lilo.conf
file with the added line emboldened:
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 default=linux image=/boot/vmlinuz-2.2.14-5.0 label=linux root=/dev/hda5 append="mem=96M" read-only other=/dev/hda1 label=dos
Obviously, change the “96M
” to the amount of memory you
have! After you have edited and saved the file, run
“lilo
” and reboot. When the system has rebooted you
should be able to see the correct amount if you cat your
/proc/meminfo
again.
5.2 X Configuration
Now the important stuff: how to get X working. Hopefully you managed to get X working at the installation stage and can thus skip the bulk of this section. Nevertheless, there are one or two tweaks that you can perform to get the best out of it.
I’ve got an intermittent problem with my 233MHz one in that X often doesn’t initialise the card properly when it starts up and the screen goes solid green. I never worked out why it does this, but pressing CTRL-ALT-F1 to switch to a console and then CTRL-ALT-F7 to switch back to X seems to do the trick.
5.2.1 Performance Tweaks
The only free server with support for C&T video cards is the XFree SVGA server. If you want a commercial X server, the folks at X Inside have a patch for their Accelerated X product (v4.1) that will work with the CT65554 chip: if you have $200 to spend, this isn’t a bad investment. X Inside makes a great product. Rob tested both the XFree server and the X Inside server at 1024x768 at 65,000 colors. They both work. Paulo tested the XFree server at 1024x768 at 16million colors. It works.
You can use CTRL-ALT-FN-[ to cycle through modes on the fly, although the LCD makes a mess of trying to scale to anything other than its natural size. Nelson Minar noted that you may want to add the lines:
Option "no_stretch" Option "lcd_center"
to your XF86Config’s Device section. This will tell the X server to tell the LCD to not do ugly pixel doubling to fill the whole panel, and instead center a smaller display. He also found:
Option "sw_cursor"
to be useful because the battery display on FN-F5 was clobbering the hardware cursor for some reason.
Although not really on the subject of X configuration, Nelson Minar
also mentioned that 1024x768 is a somewhat odd resolution for
console fonts. The default font for 80x25 display look quite ugly
because of pixel doubling. However, the console font lat1-10.psf
looks quite decent and gives you an 80x40 text screen. On Red Hat
Linux, you can get this to be set at boot time by creating the file
/etc/sysconfig/i18n
with this line in it:
SYSFONT=/usr/lib/kbd/consolefonts/lat1-10.psf
5.2.2 Troubleshooting
Red Hat Linux 6.2 comes with XFree86 3.3.6 and that is the version that I use; I haven’t tried XFree86 4 on the HiNote, but I’ve heard reports that it works. The Hinote Ultra 2000 uses a C&T 65554 chipset. Here’s an excerpt from Jens Maurer’s Linux on the Toshiba Tecra—they also use a C&T 6555X series chipset, so the information should be applicable:
The memory clock limits the graphics modes which the chip can display. Computation according to Chips & Technologies’ documentation is as follows: The video engine needs to read the video data from the display memory. This is 1, 2, or 3 bytes for each pixel, depending on the color depth of 8, 16, and 24 bpp, respectively. Using a DSTN display requires one additional byte per pixel, independent of the color depth, for the double-buffering. The required memory bandwidth is the product of the number of bytes accessed per pixel times the dotclock. On the other hand, every MClk cycle accesses 4 bytes. About 70% of the thus computed memory bandwidth is available for consumption by the video engine. The bandwidth provided by the memory subsystem must always exceed the bandwidth required by the video engine.
For example, the popular 1024x768 mode at 65 MHz with 16 bpp requires a memory bandwidth of 130 Mbyte/sec, while on an old ct65550, there is only about 4 byte/Hz * 38 MHz * 70% = 106 Mbyte/sec available.
5.2.3 166MHz Models (GTX5166M)
The 166MHz Hinote Ultra 2000 model comes with 2mb of video memory and a maximum resolution of 1024x768 at 64k colors. Here are the specs:
Graphics Card: Chips & Technologies CT65554 Video Ram: 2mb Dot Clock: 94.5MHz Memory Clock: 55MHz LCD: 1024x768, 64k colors on the LCD
Here is Rob’s working /etc/X11/XF86Config
.
5.2.4 233MHz and 266MHz Models (GTX5233M and GTX5266M)
Note: The following section contributed by Paulo Ney de Souza
The 233MHz and 266MHz Hinote models come with 4mb of video memory and a maximum resolution of 1024x768 at 16million colors on the LCD, and 1280x1024 at 16million colors on an external monitor.
The relevant information here is to open the Horizontal and Vertical frequencies, since they don’t matter for this type of display, with something like:
HorizSync 20 - 100 VertRefresh 40 - 100
and the Modeline:
# 1024x768 @ 42.4 Hz, 34.2 kHz hsync for 24-bit display Modeline "1024x768" 46 1024 1032 1176 1344 768 771 777 806
and the option “DefaultColorDepth 24” in the Section “Screen” of the
/etc/X11/XF86Config
file. Mine looks like:
Section "Screen" Driver "svga" Device "My Video Card" Monitor "My Monitor" DefaultColorDepth 24 Subsection "Display" Depth 8 Modes "1024x768" "800x600" "640x480" ViewPort 0 0 Virtual 1024 768 EndSubsection Subsection "Display" Depth 16 Modes "1024x768" "800x600" "640x480" ViewPort 0 0 Virtual 1024 768 EndSubsection Subsection "Display" Depth 24 Modes "1024x768" "800x600" "640x480" ViewPort 0 0 Virtual 1024 768 EndSubsection EndSection
Observe that if you use a restrictive set of frequencies the Modelines will be dropped by the server and it won’t work. Use the values described above, or something similar.
The display looks great, specially with graphics programs like POV-Ray that I use a lot, but it is not running completely without problems. There are bugs in Netscape, Xanim and some other clients that make the button of these clients to default to black and white. The problem is described in the XFree86 FAQ, more specifically http://www.xfree86.org/FAQ/#bw24bpp where they even mention that patches are available for Netscape, but I have not been able to locate any.
Here is Paulo’s working /etc/X11/XF86Config
for the 4mb
Hinote laptops.
5.3 Modem and Ethernet Configuration
5.3.1 Making them work with 2.4.x
The embedded modems and network cards in HiNotes are actually PCMCIA cards. The machines have two sets of PCMCIA slots: one on the left that you can put cards in, and one on the right, which contains the modem/modem+ethernet card. If you are installing a distribution with Linux 2.2.x then you can skip this section. Those of you with a Linux 2.4.x-based distribution aren’t so lucky ;-).
It transpires that the HiNote has two separate PCMCIA bridges from two different hardware suppliers; one is a Texas Instruments 1131 and one is a Cirrus PD672x. In Linux 2.2.x these were both handled by the i82365 module, but in 2.4.x some of the older drivers were moved into a driver called yenta_socket.
The PCMCIA startup script will only load one driver module. With Linux 2.2.x machines this was no problem—one module loads, two bridges detected. In 2.4.x it loads only the i82365 module—the external PCMCIA interface—the internal one is not detected and thus neither is the NIC/modem.
I don’t have a ‘nice’ fix for this (contributions welcome :-)), but to get started you should be able to type:
service pcmcia stop modprobe i82365 modprobe yenta_socket service pcmcia start
Typing ‘cardctl ident
’ should let you know if it has
worked or not, and alse the card should start to get warm if it is
initialised; it is just under your right hand when you are typing.
5.3.2 USR Winmodem
Winmodems are now supported under Linux and in general you can get the drivers from the manufacturer or from the LinModems web site.
5.3.3 Xircom Ethernet+Modem
The Xircom card is fully supported under the Red Hat Linux installation: it should work straight out of the box with 6.2, and with a little tweaking on 7.x. If you are having problems then the main webpage for the modem+ethernet card is at Xircom 10/100 Ethernet+Modem Web Page. Be careful with downloads from the Xircom website, since not all of them apply to the Ultra 2000 machine. Read the Note to Digital Ultra 2000 Owners.
5.3.4 Removing them
You can also remove your modem/NIC from the system: it’s a standard PCMCIA card! First, remove your CD-ROM/floppy drive and look in the hole, to the top. You’ll see a little bit of white. That’s the card. You need to carefully remove the little strip of plastic covering the card (don’t worry—it comes right off without breaking.) You can then eject the card from that slot and have a free PCMCIA slot.
5.4 Sound Configuration
Getting sound to work should be fairly painless. If you are using
Red Hat’s stock kernel then the modules in question will have been
installed for you and all you need to do is add the following lines
to your /etc/modules.conf
:
alias sound sb options sb io=0x220 irq=5 dma=1 dma16=-1
The values for the io, irq and dma options will probably be the same
as for my machine; you can check by looking in the BIOS. Now enter
“modprobe sound
”, and if there are no errors then grab
a .au file from somewhere (like here) and
cat it to /dev/audio
to test.
If you are compiling your own kernel then the relevant module is “Sound Blaster (SB, SBPro, SB16, clones) support”.
Some people have had problems getting sound to work. Here’s the
output of dmesg
and cat /dev/sndstat
on Rob’s 166MHz HiNote.
5.5 APM setup
The power management features work for some people, but others have reported problems. Specifically, some users have reported kernel lockups and panics when returning from a suspend. I have not had problems with my setup, and neither did Rob, although he did not suspend on a regular basis and had part of the APM disabled in the BIOS. If you are using Red Hat Linux then all the power management software will have been installed for you; your mileage may vary with other distributions.
Paulo Ney de Souza noted that if you suspend then you might be
experiencing the fact that the ethernet card never comes back up
afterwards. In order to have the card functional when the machine
comes back up, execute a “cardctl eject
” before the
sleep command. The card will be redetected when the machine wakes up
and everything works fine: even my telnet sessions are preserved as
is.
With Red Hat Linux 7.2, this will happen automatically if you edit
the file /etc/sysconfig/apmd
and set
PCMCIARESTART
to yes. Make sure that
PCMCIABIOSBUG
is also set to yes. With Red Hat Linux
6.2, you have to edit the file
/etc/sysconfig/apm-scripts/apmscript
and add a
“/sbin/cardctl eject
” on the line after the bit that
says:
case "$PROG" in suspend)
If you aren’t using a modern distribution (why?) then you may have to enable APM in the kernel and get the Power Management Utilities and install them yourself. If this is the case then the Battery Powered mini-HOWTO explains this in great detail. It is a worthwhile read at any rate, since it covers a lot of excellent battery saving techniques.
I’ve had problems with the CD-ROM locking up after suspends; I could probably fix this by compiling the kernel with the CD-ROM driver as a module and unloading and reloading it at suspend/resume time. I rarely use the CD-ROM drive, however, so I just leave the floppy in all the time instead =).
One final thing to note is that if you are using a screensaver then it will come on immediately after a resume, and you’ll have to press a key to get rid of it!
5.6 Synaptics Touchpad driver
Linux will detect the touchpad as a PS/2 mouse, which will work fine with X and gpm. If you want to have additional control over it, grab the Synaptics Touchpad Driver. It will allow you to enable/disable corner taps, set the edge mode, simulate 3 buttons, change or disable tap mode, and do other cool stuff. Installation directions are available at the above URL.
5.7 Hot swapping the CD and Floppy
It is possible to hot swap the CD and Floppy drives, but it takes a
bit of customization to pull it off. You’ll have to recompile the
kernel with the floppy driver as a module; if you go from
Floppy->CD->Floppy, you’ll have to remove and reload the
floppy module. To list your modules, use the lsmod
command. To remove the floppy, use rmmod floppy
. If you
have kerneld compiled (you will if you used my kernel config), it
will reload the device automatically when you mount the floppy
disk. If you aren’t using kerneld, use insmod
to
manually load the module. It lives in /lib/modules/<KERNEL
VERSION>/block/
.
Before you reboot with your new kernel, you must add the line:
append="hdb=cdrom onlycd=none"
to your /etc/lilo.conf
. This prevents the kernel from
auto-detecting the CD-ROM device and forces it to think a CD-ROM
exists on hdb regardless of whether it can see it or not. You can
then start with either drive in the system and swap them as needed.
Rob only tested this quickly, and I’ve not tested it at all so there may be issues with doing this. Email me if you have problems.
6. Kernel Recompilation
To get a couple of the things mentioned here to work you have to recompile the kernel. If you are unfamilliar with this, then refer to the Kernel HOWTO. As a guide, this file contains the options that Rob used on his 166MHz HiNote, and this one is the saved kernel configuration from that run.
7. Resources
For general information you may find Compaq’s HiNote Ultra 2000 index, technical specifications, configurations list and drivers and notes pages come in handy. There are also various manuals (for older and newer HiNotes)—the service quick reference guides in particular are invaluable if you plan on taking your HiNote apart.