This page is optimized for viewing with Lynx ;-)
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
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.)
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.
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 = Controlright 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_LMake sure the system reads this file: xmodmap /etc/X11/Xmodmap
From the specifications:
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
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).
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.hConfigure 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.
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.
The following is borrowed from specifications at Sceptre's site.
Andrew Comech
Mathematics Department
SUNY at Stony Brook
Stony Brook, NY 11794