This page is optimized for viewing with Lynx ;-)


Linux on Sceptre 7300 notebook

How to run Linux on Sceptre SoundX 7300 Super Slim, also known as N20U, also known as Amethyst 20U, also known as PowerPro IV:7.

The latest version lives at http://www.math.sunysb.edu/~comech/tools/sceptre7300.html


Contents


Short summary

Sceptre SoundX 7300 is a nice, lightweight (4lb), and thin (1'') notebook, with the resolution 1024x768 on its 13.3'' monitor. I bought this notebook from ImperialDirect, for around $1800 (see the link SystemID=106), with the slowest available processor (PIII 600MHz) and with 128MB of memory. It came with an external floppy drive, external CD-ROM, and without an operating system. (Also available from PowerNotebooks, West-Tech, and overpriced but "RedHat-friendly" TuxTops.)

I am happy with the notebook (I am very unexperienced with notebooks, though).


Booting

It seems that most shipments of Sceptre 7300 by default would include a floppy drive, but I could not install Linux from floppies: the notebook would suspend and eventually reboot during the procedure.

To boot from the external CD-ROM, one needs to attach a CD-ROM to the computer before powering it up. In the BIOS, in "System Devices" menu, set "Local bus IDE adapter" to "both" (this is the default value), so that the computer could access both the internal hard drive and the external CD-ROM. In the "Boot" menu, move ATAPI CD-ROM drive to the top of the list.


Changing CapsLock to Control

It might be a good idea to remap CapsLock key to behave as a Control key right away. For the console mode, one needs to modify the file default.kmap.gz (which could be in /etc/console/, /etc/console-tools/, or /etc/kbd/): gunzip the file and add the line

keycode  58 = Control
right after the line keycode 58 = Caps_Lock and gzip the file again. The changes will take effect after you reboot; alternatively, you can try
/bin/loadkeys default.kmap.gz

For the X mode, one would need to add the following lines at the end the file /etc/X11/Xmodmap (or your individual copy of Xmodmap):

remove Lock = Caps_Lock
remove Control = Control_L
keysym Caps_Lock = Control_L
add Control = Control_L
Make sure the system reads this file: xmodmap /etc/X11/Xmodmap


X11

From the specifications:

I used XFree86 version 3.3.6. The appropriate xserver is mach64. If you use xf86config, you may select "ATI Rage Mobility" in the card database. The touchpad behaves as a PS/2 mouse (/dev/psaux) and could be used simultaneously with an external PS/2 mouse. Or, one can use an external serial mouse. The keyboard could be set to "Standard 101-key, US encoding".
Here are the relevant sections from /etc/X11/XF86Config, with a few comments:

Section "Keyboard"
    Protocol    "Standard"
EndSection

Section "Pointer"
# Touchpad and/or external PS/2 mouse:
    Protocol    "PS/2"
    Device      "/dev/psaux"
# To use an external serial mouse on COM1, uncomment the following:
#    Protocol "MouseSystems"
#    Device "/dev/ttyS0"
EndSection

Section "Monitor"
    Identifier  "My Monitor"
    VendorName  "Unknown"
    ModelName   "Unknown"
# I do not know what would be the right values to put here:
    HorizSync   31.5 - 81
    VertRefresh 50-100
# With the above values, any of the following modelines would work:

# 1024x768 @ 60 Hz, 48.4 kHz hsync
Modeline "1024x768"    65    1024 1032 1176 1344   768  771  777  806 -hsync -vsync

# 1024x768 @ 70 Hz, 56.5 kHz hsync
Modeline "1024x768"    75    1024 1048 1184 1328   768  771  777  806 -hsync -vsync

# 1024x768 @ 76 Hz, 62.5 kHz hsync
Modeline "1024x768"    85    1024 1032 1152 1360   768  784  787  823

# 1024x768 @ 85 Hz, 70.24 kHz hsync
Modeline "1024x768"   98.9  1024 1056 1216 1408   768 782 788 822 -HSync -VSync

# 1024x768 @ 100Hz, 80.21 kHz hsync
Modeline "1024x768"   115.5  1024 1056 1248 1440  768  771  781  802 -HSync -VSync

EndSection

Section "Device"
    identifier  "ATI Rage Mobility"
    VendorName  "Unknown"
    BoardName   "Unknown"
    #VideoRam    8192
EndSection

Section "Screen"
    Driver      "accel"
    Device      "ATI Rage Mobility"
    Monitor     "My Monitor"
    DefaultColorDepth 32
    Subsection "Display"
        Depth       8
        Modes       "1024x768"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       32
        Modes       "1024x768"
        ViewPort    0 0
    EndSubsection
EndSection


Ethernet

The on-board ethernet controller (Intel EtherExpress Pro100) is supported by the eepro100 driver in 2.2.x and 2.4.x kernels. The file /proc/pci contains:


    Ethernet controller: Intel Corporation 82557 [Ethernet Pro 100] (rev 8).
      IRQ 5.

If eepro100 driver is already compiled into the kernel, the output of dmesg contains something like

eth0: OEM i82557/i82558 10/100 Ethernet, 00:D0:59:18:08:F6, IRQ 5.

If there is no eepro100 driver present, you need to recompile the kernel: in Section Network Device Support, select "Ethernet (10 or 100Mbit)", "EISA, VLB, PCI and on board controllers", and "EtherExpressPro/100 support" (these are usually defaults).


Modem

Currently I can use the built-in winmodem, with both minicom and PPP working. The transfer rate is optimal for 56K connection. I just hate winmodems, but I ain't need an extra PCMCIA card.

Under 2.2.x kernels, /proc/pci contains:


    Serial controller: Lucent (ex-AT&T) Microelectronics Unknown device (rev 0).
      Vendor id=11c1. Device id=447.
Under 2.4.0 kernels, /proc/pci contains:

    Serial controller: Lucent Microelectronics LT WinModem (rev 0).
      IRQ 5.
This is a non-flashable controllerless modem, with Lucent Mars chipset.

The best solution which I found was a binary-only driver ltmodem.o, version 5.68, under Linux kernel 2.2.18 (could be either 2.2.17 or 2.2.18, but 2.2.18 also supports the built-in audio controller, Crystal Sound CS4281). The driver is available in the archive linux568.zip That module is compiled for 2.2.12 kernels. For other Linux kernels, one could either use insmod -f or one could forge the module's kernel version using the script fixscript. The module ltmodem.o will need the device /dev/ttyS14; read the script ltinst supplied in linux568.zip, but keep in mind that that script is distribution-specific (for example, in Debian, there would be no directory /etc/rc.d, and also one would use the group dialout instead of uucp). With this module inserted, I could use minicom, but could not run PPP. Under 2.2.17, pppd crashed; under 2.2.18, it took the kernel with it.

To fix this, I recompiled the kernels (2.2.17 and 2.2.18) and their modules using the slightly patched version of /usr/src/linux/include/linux/tty.h available from tty.tar.gz. The file tty.h is the same for the kernels 2.2.17 and 2.2.18; all one needs to do is to move the line struct wait_queue *poll_wait; (line no. 280) several lines down, to the very end of struct tty_struct. As far as I understood, one does not need this patch for earlier 2.2.x kernels.
Since the audio controller, the ethernet controller, and the lucent modem all use the same interrupt (IRQ 5), when I recompiled the kernel, I enabled "Extended dumb serial driver options" and "Support for sharing serial inerrupts" in the Character devices section. (I did not check whether I would indeed get the IRQ conflict without this.)
In spite of the IRQ sharing, I did have an apparent IRQ conflict on one occasion: At some point, the modem became terribly slow. After I compiled the drivers for the ethernet and sound controllers as modules, to be able to download them if problems arise, there were no more IRQ conflicts. I did not investigate this further.

Perhaps, the following is the distribution-independent script (it is partially adapted from ltinst), which does all the required work for kernels 2.2.17 and 2.2.18. It will not work with 2.4.x kernels; If it ruins everything -- blame yourself!!!


#!/bin/sh
mkdir $HOME/ltmodem568  
cd $HOME/ltmodem568 
wget http://linmodems.org/linux568.zip
unzip linux568.zip
wget http://216.243.177.83/sean/linux/stodolsk/fixscript
chmod a+x fixscript
mv ltmodem.o ltmodem.orig.o && ./fixscript ltmodem.orig.o ltmodem.o
rm -f /dev/ttyS14
mknod /dev/ttyS14 c 62 78
chmod 666 /dev/ttyS14
ln -sf /dev/ttyS14 /dev/modem
test -d /lib/modules/`uname -r`/misc || mkdir /lib/modules/`uname -r`/misc
cp ltmodem.o /lib/modules/`uname -r`/misc/
depmod -a 
# Trying the module ltmodem.o:
modprobe -v ltmodem
dmesg | tail -2
# If there were no errors, by this point you can probably use minicom.
# For PPP, we need to recompile the kernel with a patched version of tty.h
wget http://walbran.org/sean/linux/stodolsk/tty.tar.gz
tar xfpz tty.tar.gz  # Directory pt is created
cp /usr/src/linux/include/linux/tty.h /usr/src/linux/include/linux/tty.h.orig
cp pt/tty.h.mark /usr/src/linux/include/linux/tty.h

Configure the kernel; in "Character devices", enable "Support for sharing serial inerrupts". Other settings as usual.

Recompile the kernel and the modules, install the modules and the new kernel, rerun lilo (or simply change the symlink if you use grub), and reboot. When the system is up, execute modprobe -v ltmodem This is a delicate moment; if you execute modprobe twice, the computer may lock up. Once it locked up after I executed modprobe just once (on another model of sceptre). Keep your old kernel ready!!

The above is a short summary of the sites Linmodem-HOWTO and Resources for compiling the Lucent ltmodem.o driver. I tried several other things mentioned there:

The list of AT commands (PDF format) for this modem is available from Lucent's modem site.


Sound

2.2.x kernels do not recognize the audio controller, reporting


    Multimedia audio controller: Cirrus Logic Unknown device (rev 1).
      Vendor id=1013. Device id=6005. 
Under 2.4.x kernels, /proc/pci contains:

    Multimedia audio controller: Cirrus Logic Crystal CS4281 PCI Audio (rev 1).
      IRQ 5.
The driver for this controller is available in the kernels 2.2.18 and 2.4.0-test12. Kernel 2.2.18 allows to use PPP over the built-in Lucent WinModem, at the optimal speed, and is thus a better choice. One needs to compile the kernel enabling support for "Crystal Sound CS4281" in the Sound section.

The built-in speakers are rather quiet, but still usable (what could one expect from a tiny notebook?.). The built-in microphone worked right away when I started xmix.


Specifications

The following is borrowed from specifications at Sceptre's site.


Disclaimer


Andrew Comech
Mathematics Department
SUNY at Stony Brook
Stony Brook, NY 11794