Linux on the NEC Versa SX

First, a bit of humor to put you in the right frame of mind....
      sx


System specs

This is model SX/440: For more information, see the Versa SX Data Sheet and the Versa LX/SX Product Guide.


Preliminary disk partitioning within Windows

I set up the SX to dual-boot Windows 95 and Linux. I used Partition Magic under Windows (provided on the NEC utilities CD) to reduce the size of the Windows partition (drive C:) to 500Mb, leaving the remaining space on the disk as "unused". Everything probably would have gone fine if I had done all of the repartitioning during the Linux installation process, but this way I could verify that Windows worked fine on the repartitioned disk prior to doing anything with Linux.

The choice of 500Mb for Windows is relevant as the Linux kernel has to reside below the 1024th cylinder (about 504Mb) so that the Master Boot Record (MBR) can access it (see the Large Disk and Partition mini-HOWTOs). If you need more room for Windows, the best thing to do is create a separate, small (5Mb?) partition for /boot (which contains the kernel) as the first partition on the disk, then Windows, then the Linux partition(s).


Installing Linux

I then installed Redhat Linux 5.1 (Manhattan) by using the CD reader in the VersaBay and booting off the Linux installation disk. I had to use "text" mode as the standard video driver (under XFree86 3.3.2) doesn't work (see below). During the installation, I used Disk Druid to repartition the unused disk space into four partitions: It is often also recommended to create a separate partition for /var (and link /tmp to /var/tmp).

Another, more minimalist approach that might be preferable on a single-user machine is just to create a single partitions for / (in addition to the swap partition and, if necessary, the small /boot partition).

The Linux installation was entirely straightforward, although a few minor changes were required (see below).


X windows

The Trident Cyber 9388 video chipset is listed as supported under XFree86 3.3.2 but I (and a number of others) couldn't get it to work using Xconfigurator. There are at least two alternatives.

XFreee86

This XF86Config file, created by Keith Goldman with help from Przemek Klosowki, works under XFree86 3.3.2 by using the cyber9397 driver. This works fine for me, but as it is at least theoretically possible to damage your display by overdriving it (see the XFree86 Video Timings HOWTO), use at your own risk.

The cyber9388 driver seems to work in more recent versions of XFree86 (e.g., 3.3.5) but you still need the additional options (under Section "Driver") in the above XF68Config file.

Another user reported having a problem with X "breaking up" for an instant fairly often when both the LCD and external monitor output was enabled. The problem disapeared with only the LCD enabled.

Accelerated-X

Xi Graphics' Laptop Accelerated-X (LX) 4.1.2 works on the SX but it requires an update for the cyber9388 chipset. Download L4102.009 from here and see these instructions for how to install the update. To get full resolution, you have to modify
   /usr/X11R6/lib/X11/AcceleratedX/boards/trident/cy9388-2.xqa
to include 1024x768 under [LCD_RESOLUTIONS] for the [VISUAL] entries for 8 and 16 BitsPerPixel.

The most recent version, 5.0, may work straight out of the box but I haven't tested it.

The drawback is that LX costs $200. You can download a demo version of the server (only runs for 10 minutes at a time), apply the update, and verify that everything works before laying out the cash.

This is what I'm currently running and it works great---much better than the XFree86 3.3.2 version (which is unaccelerated; note, however, that the 9388 and 9397 drivers in XFree86 3.3.3 are both supposed to be accelerated but I haven't been able to get acceleration to work). I'd suggest trying out both XFree86 and the XiG demo and decide for yourself.


Card Services (PCMCIA cards)

I have a 3Com Fast Etherlink XL Cardbus PC card (Model 3C575TX) and a 3Com/Megahertz 56K Cellular Modem PC Card (Model 3CXM556) which I purchased as a 2-card set (3C575/XJ56).

The SX uses RICOH478 PCMCIA controllers, which are not recognized by the version of Card Services (3.0.0) that came with RH5.1. The thing to do is download the latest version of pcmcia-cs (3.1.3 as of 3 Nov 99), untar it in /usr/src/, and follow the instructions in PCMCIA-HOWTO for compiling and installing it.

The only IRQs that seem to work for me are 3 and 11. One way to ensure that these are the ones used is to modify /etc/sysconfig/pcmcia to include

PCIC_OPTS="irq_list=3,11"
    
The NEC Versa SX support page has various bits of useful technical information, including the memory map and interrupt assignment.


Sound

Version 0.13 of the beta version of a maestro sound module now works under OSS/Free.


Save-to-File (Hibernation)

I found that Save-to-File (hibernation) didn't work from Linux. The solution, suggested by Andreas Doescher, is to set the ide-harddisk to block-write-mode with
	hdparm -m 16 /dev/hda
This is working fine for me and I've added this to /etc/rc.d/rc.local. Note, however, that the manpage for hdparm states (under -m):
...Some drives claim to support multiple mode, but lose data at some settings. Under rare circumstances, such failures can result in massive filesystem corruption...
so, needless to say, do this at your own risk.

If the screen is blank when returning from hibernation, it can be restored simply by cycling through the X display modes (with Ctrl-Alt-Num+) where "Num+" is the plus-sign in the embedded numeric keypad (;-key with Num Lock). You can also switch to the console and back with Ctrl-Alt-F1, Ctrl-Alt-F7.


Hot-Swapping the CD Reader

I found that the CD reader is not recognized unless the machine is booted with it in the VersaBay. On the other hand, if the CD reader is present at boot time but not when the machine is put into Save-to-File mode, the machine locks up.

One solution that seems to work is to boot without the CD reader in the VersaBay but to specify hdc=cdrom as a boot option. This can be done by adding

append="hdc=cdrom"
to the Linux entry in /etc/lilo.conf and re-running lilo. Note that this will cause an IRQ warning during the boot process (when the CD reader is not actually found), but it seems to cause the kernel to load the relevant driver (ide-cd), which is all that is needed.

One drawback of this solution is that Save-to-File mode no longer works from the keyboard (Fn-Power). It does, however, work if initiated by the apm command (see below). The command apm -s will put the machine in "suspend" mode, which will run Save-to-File if "Suspend Mode" is set to STF in the BIOS (under "Advanced Power Management").

n.b. Both the floppy drive and the secondary battery seem to hot-swap successfully regardless of what (if anything) is in the VersaBay at boot time.


Good Things to Do


David Plaut
Last modified: Tue Jul 24 12:55:02 EDT 2001