Home » Docs » Linux on the Digital HiNote Ultra 2000 Notebook

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

Disclaimer
1. Introduction

2. General Information
3. Preparing to install

4. Installation

5. Configuration

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:

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:

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:

A lot of the information in this document was written by Robert Brown; his configuration was:

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:

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.

[Gratituous photo of a HiNote]