ottaky@ottaky.com
 
HTML OK
CSS OK
 
SuSE
 
ottaky.com supports..
ORG
no2id

SuSE Linux 7.1 on the Advent 5493

Author: sjb (Steve Brown) - ottaky@ottaky.com
Date: 30th March 2001
See also: Linux on Laptops
Tuxmobil

What is an Advent 5493?

Advent appears to be the badge that PC World (UK) stick on their own brand laptops and I've seen the same machine offered for sale by Time Computers with a Time Computers sticker on it. You can get an idea of what's inside the box by reading the description below. I must admit that I have been very pleasantly surprised by the performance of the laptop - it's very quick, has plenty of RAM and the Lithium Ion battery means that it doesn't run out of steam too quickly. I use it as a replacement for my old 667MHz desktop that went kaput and, apart from the relatively lower resolution, it's much better ;-) If I have one small grumble, it's that the LCD display is very slightly unevenly lit in that it is marginally brighter at the bottom than it is at the top. But hey - you have to look hard to notice, and at 1500 quid for a (nearly) 1GHz laptop, you can't whack it.

CPU 933MHz Intel Pentium III
RAM 128MB
HDD 20GB Toshiba MK2016GAP PCI EIDE
DVD Toshiba DVD-ROM SD-C2502
Chipset VIA (see below)
Graphics card Trident Cyberblade i1 AGP
- XGA 1024 x 768
- SVGA 800 x 600
Display 14.1" TFT
Audio 16 bit stereo, Sound Blaster compatible
PCMCIA 32 bit CardBus PCI Local Bus, 2 x type II or 1 x type III slot(s)
OS Windows ME
 
Linux SuSE 7.1 Professional Upgrade

OK, first off I'll say that the only real problem (in so much as I wasted a lot of time on it) I had during the installation was with the graphics card. Before I bought the machine I did some research on the web and discovered that the Cyberblade i1 chipset was supported by XFree86 4.0.2 (which ships with SuSE 7.1), however I was never able to get a display better than 800 x 600 x 24 bit running on my machine using the supplied Trident driver. There is a way to get around this, so don't despair!

NB:
My laptop didn't come with a Windows ME disc - in typical OEM fashion the ME CAB files have been copied to the C:\WINDOWS\OPTIONS directory. So, re-installing ME could be a bit of a trick if things go wrong. If you can back up your HDD in any way, I would suggest you do it ASAP. If you can't back up the HD, at least use ME to create a "rescue floppy" or whatever they call them these days. My machine came with a CD which, according to the documentation, can restore the machine in the event that a Bad Thing happens - how much faith you put into something like that is up to the individual.

So, let's start at the beginning. The first thing you need to do is start the machine and hit F2 during the boot up sequence to get into the BIOS. Go to the "Advanced" section and find the "LCD Panel View Expansion", this should be enabled by default, and you want to disable it. Apparently there was a problem with XFree86 and the Cyberblade chipset in the past that caused the display to glow white and could cause permanent damage to the LCD display. The problem may be fixed in XFree86 4.0.2, but it's probably best not to take any chances - the only side effect of turning the expansion off is that text modes will probably appear sized at less than full screen. While you're in the BIOS, check to make sure that the machine can boot from the DVD (in the Boot section). Insert the SuSE DVD (or CD) into the DVD drive, save your changes in the BIOS, exit and restart the machine

(Oh, I should mention that I also inserted my PCMCIA modem (Megahertz 3CCM156B) and ethernet (D-Link DE660) cards into machine at this point. I don't know if this is necessary during setup, but they were automatically detected and worked flawlessly after installation, so maybe it helped although I suspect that's probably down to the excellent cardmgr program)

Rather than talk you through the entire installation process, I'll just make a couple of points:

HDD: I wanted to keep Windows ME on the machine for DVD playback and for my wife to use, so I partitioned the hard disc into 10GB for Windows and 10GB for Linux and then let the install take care of the details for the Linux partition. I also accepted the default option of putting LiLo onto a floppy disc because I didn't want to be unable to boot Windows should anything go wrong.

Graphics: The Cyberblade chipset wasn't automatically detected so the install GUI was presented in 640 x 480 (??) x 4 bits, also the SVGA drivers weren't selected for installation by default. My suggestion here is to select a custom package install and manually select the SVGA drivers. I wouldn't get involved with trying to specify the correct display driver at this point - just let the install run its course and you can fix the graphics later.

Run through the installation process. At this point I'm assuming you have installed SuSE and that you have some kind of GUI running, probably at a low resolution and a terrible colour depth. From here you have two options. One is a pain and (for me) never worked entirely properly. the other is far easier and worked like a charm ;-)

Option 1: Use SaX or SaX2. According to the XFree86 documentation the Cyberblade chipset is supported in both XFree86 versions 3 and 4. Frankly, I had no joy whatsoever with SaX (which configures version 3) and only limited success with SaX2 (which configures version 4). Using SaX I was completely unable to get any kind of X server running, with SaX2 I was able to get 800 x 600 x 24 bit by messing around with the custom settings for both the graphics card and the monitor. I was only ever able to get a corrupted 1024 x 768 resolution. Frankly, it's not worth the effort because Option 2 if far easier. (If you really want to try using SaX2, you have to manually specify the monitor, chipset etc. using the "expert" buttons - set the card using the Trident driver package and the Cyberblade i1 driver, set the monitor to LCD 1024 x 768, go back to the resolution settings and select 800 x 600 x 24 bit, then test the setup. Be warned .. I found SaX2 to be very buggy - unknown cards and monitors kept appearing from nowhere if I went backwards and forwards through the various options and some options (like multiple monitors) would appear and disappear unpredictably. Like I said, you can go this route and end up with something resembling a half decent display, but I was never able to get a usable resolution going. Different revisions of the same chipset may give you different results, so it may be worth messing about.

Option 2: Shutdown the machine and reboot with the boot floppy in the disc drive. When you get the LiLo screen, hit escape to go into text mode and then type "suse vga=792" and hit return. SuSE then loads and runs using the VESA display mode number 792 (1024 x 768 x 24 bit). If X starts, just exit it and go to the command line. Start SaX2 and you *should* find that it automatically detects the VESA mode and will now run 1024 x 768 perfectly *8-) Go through the SaX2 configuration and save your settings. I have included my XF86Config file at the end of this page if SaX2 won't work for you. Now that I was happy with the SuSE installation I decided to put LiLo onto the boot sector of the HDD. The LiLo config file (/etc/lilo.conf) that had been created during installation had the boot section set to "boot=/dev/hda5", so I changed that to read "boot = /dev/hda" and changed the "vga=" line to read "vga=792". I also put "suse" at the top of the list so that it gets booted by default instead of Windows. Running /sbin/lilo wrote LiLo to the boot sector. My lilo.conf file appears below.


Sound

After some messing around I've finally persuaded the sound to start working. I was never able to get YaST2 to do this, but running alsaconf from the command line worked a treat - it detected the soundcard (as a via686a chipset card) and set it up for me with no problems whatsoever. My /etc/asound.conf and the soundcard section from /etc/modules.conf can be found below.


PCMCIA Memory

I have a Philips Nino 510 (a Pocket PC device running Windows CE) that takes Compact Flash memory cards, and a Sony DSC-F505 Cybershot Digital Camera which takes the Sony Memory Sticks. I have PCMCIA adpators for both types of memory. The CF card was originally formatted by Windows CE and is a 32MB device manufactured by Hitachi as follows ..

Compact Flash 32MB
/sbin/cardctl ident
Socket 0:
product info: "HITACHI", "FLASH", "2.0"
manfid: 0x0007, 0x0000
function: 4 (fixed disk)
/sbin/cardctl config
Socket 0:
Vcc 3.3V Vpp1 0.0V Vpp2 0.0V
interface type is "memory and I/O"
irq 9 [exclusive] [level]
function 0:
config base 0x0200
option 0x41 status 0x00 pin 0x00 copy 0x00
io 0x0100-0x010f [auto]

The card can be mounted manually using

mount -v -t msdos /dev/hde1 /memstick

The Sony Memory Sticks are 4MB and 32MB ..

Memory Sticks 4MB 32MB
/sbin/cardctl ident
Socket 0:
product info: "SONY", "MEMORYSTICK( 4M)", "1.0"
manfid: 0x00f1, 0x0000
function: 4 (fixed disk)
Socket 0:
product info: "SONY", "MEMORYSTICK( 32M)", "1.0"
manfid: 0x00f1, 0x0000
function: 4 (fixed disk)
/sbin/cardctl config
Socket 0:
Vcc 3.3V Vpp1 0.0V Vpp2 0.0V
interface type is "memory and I/O"
irq 9 [exclusive] [level]
function 0:
config base 0x0200
option 0x41 status 0x00 pin 0x00 copy 0x00
io 0x0100-0x010f [auto]
Socket 0:
Vcc 3.3V Vpp1 0.0V Vpp2 0.0V
interface type is "memory and I/O"
irq 11 [exclusive] [level]
function 0:
config base 0x0200
option 0x41 status 0x00 pin 0x00 copy 0x00
io 0x0110-0x011f [auto] 

The Memory Sticks can be mounted using

mount -v -t vfat /dev/hde1 /memstick

I have had occasions when, for some unknown reason, the Memory Sticks refuse to mount - generally after ejecting one and inserting the other - but they're pretty well behaved on the whole.

NB:
Don't forget to use /sbin/cardctl eject 0 (assuming the card is in slot 0) before removing memory as this should notify the client drivers that the card is going to be removed and (hopefully) encourage them to make any outstanding writes before the power gets cut ;-)


Oddities

If I start messing around with YaST2 or the KDE Control Centre I occasionally find that the mouse cursor suddenly appears 1/2" to the right of where it actually is - this means that the cursor can't move all the way to the left hand side of the screen, but can happily go off the right hand edge and that it takes a bit of fiddling to work some menus. Restarting the X server doesn't help and I have to power the machine all the way off and then back on again to cure it. There may be an option that needs to be added to XF86Config to fix that.

Logging out of SuSE using the Restart option and then selecting Windows in LiLo causes Windows to hang during it's own boot up sequence. I have no idea why >8-( Using the Shutdown option from SuSE and then restarting the machine and selecting Windows never causes any problems, so I do that instead.

Using Fn + F3 on my machine lets you switch between LCD + CRT, LCD only or CRT only for the display. Works fine with Windows, doesn't work at all with SuSE - in fact I end up with 2 blank screens if I try it. I assume the switching is carried out by the driver under Windows.


/etc/lilo.conf

boot = /dev/hda
vga = 792
read-only
menu-scheme = Wg:kw:Wg:Wg
lba32
prompt
timeout = 80
message = /boot/message

image = /boot/vmlinuz.suse
label = suse
root = /dev/hda7
initrd = /boot/initrd.suse
optional

image = /boot/vmlinuz
label = linux
root = /dev/hda7
initrd = /boot/initrd

other = /dev/hda1
label = windows

image = /boot/memtest.bin
label = memtest86

/etc/X11/XF86Config

#--------#
#  SaX generated XFree86 config file 
# Copyright (c) 2000 SuSE GmbH Nuernberg, All rights reserved.
#
# Version: 4.1
# Contact: Marcus Schaefer , 2000
#
# this file has been created from SaX version 4.1
# Please do not edit this file, changes may be lost the
# next time using SaX

Section "Files"
  FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
  FontPath "/usr/X11R6/lib/X11/fonts/local"
  FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
  FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
  FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
  FontPath "/usr/X11R6/lib/X11/fonts/Type1"
  FontPath "/usr/X11R6/lib/X11/fonts/URW"
  FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
  FontPath "/usr/X11R6/lib/X11/fonts/misc"
  FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
  FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
  FontPath "/usr/X11R6/lib/X11/fonts/PEX"
  FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
  FontPath "/usr/X11R6/lib/X11/fonts/latin2/misc"
  FontPath "/usr/X11R6/lib/X11/fonts/latin2/75dpi"
  FontPath "/usr/X11R6/lib/X11/fonts/latin2/100dpi"
  FontPath "/usr/X11R6/lib/X11/fonts/latin2/Type1"
  FontPath "/usr/X11R6/lib/X11/fonts/latin7/75dpi"
  FontPath "/usr/X11R6/lib/X11/fonts/kwintv"
  FontPath "/usr/X11R6/lib/X11/fonts/truetype"
  FontPath "/usr/X11R6/lib/X11/fonts/uni"
  FontPath "/usr/X11R6/lib/X11/fonts/CID"
  FontPath "/usr/X11R6/lib/X11/fonts/baekmuk"
  FontPath "/usr/X11R6/lib/X11/fonts/japanese"
  FontPath "/usr/X11R6/lib/X11/fonts/ucs/misc"
  FontPath "/usr/X11R6/lib/X11/fonts/ucs/75dpi"
  FontPath "/usr/X11R6/lib/X11/fonts/ucs/100dpi"
  FontPath "/usr/X11R6/lib/X11/fonts/hellas/misc"
  FontPath "/usr/X11R6/lib/X11/fonts/hellas/75dpi"
  FontPath "/usr/X11R6/lib/X11/fonts/hellas/100dpi"
  FontPath "/usr/X11R6/lib/X11/fonts/hellas/Type1"
  FontPath "/usr/X11R6/lib/X11/fonts/xtest"
  ModulePath "/usr/X11R6/lib/modules"
  RgbPath "/usr/X11R6/lib/X11/rgb"
EndSection

Section "Module"
  Load "freetype"
  Load "speedo"
  Load "type1"
  Load "extmod"
  Load "dbe"
EndSection

Section "ServerFlags"
  Option "AllowMouseOpenFail"
EndSection

Section "InputDevice"
  Driver "Keyboard"
  Identifier "Keyboard[0]"
  Option "Protocol" "Standard"
  Option "XkbLayout" "gb"
  Option "XkbModel" "pc101"
  Option "XkbRules" "xfree86"
EndSection

Section "InputDevice"
  Driver "mouse" Identifier "Mouse[1]"
  Option "Device" "/dev/pointer0"
  Option "Name" "Autodetection"
  Option "Protocol" "ps/2"
  Option "Vendor" "Sysp"
EndSection

Section "Monitor"
  HorizSync 15-62
  Identifier "Monitor[0]"
  ModelName "DDC-Probed"
  VendorName "DDC-Probed"
  VertRefresh 30-70
  UseModes "Modes[0]"
EndSection

Section "Modes"
  Identifier "Modes[0]"
  Modeline "1024x768" 71.39 1024 1040 1216 1400 768 768 777 802
EndSection

Section "Device"
  BoardName "unknown"
  BusID "1:0:0"
  Driver "trident"
  Identifier "Device[0]"
  VendorName "unknown"
EndSection

Section "Screen"
 DefaultDepth 16
 SubSection "Display"
   Depth 15
   Modes "1024x768"
 EndSubSection
 SubSection "Display"
   Depth 16 Modes "1024x768"
 EndSubSection
 SubSection "Display"
   Depth 24 Modes "1024x768"
 EndSubSection
 SubSection "Display"
   Depth 32 Modes "1024x768"
 EndSubSection
 SubSection "Display"
   Depth 8 Modes "1024x768"
 EndSubSection
 Device "Device[0]"
 Identifier "Screen[0]"
 Monitor "Monitor[0]"
EndSection

Section "ServerLayout"
  Identifier "Layout[all]"
  InputDevice "Keyboard[0]" "CoreKeyboard"
  InputDevice "Mouse[1]" "CorePointer"
  Screen "Screen[0]"
EndSection

Section "DRI"
  Group "video"
  Mode 0660
EndSection

Output from lspci -a

00:00.0 Host bridge: VIA Technologies, Inc. VT8601 [Apollo ProMedia] (rev 05)
Flags: bus master, medium devsel, latency 0
Memory at f8000000 (32-bit, prefetchable)
Capabilities: [a0] AGP version 2.0

00:01.0 PCI bridge: VIA Technologies, Inc. VT8601 [Apollo ProMedia AGP] (prog-if 00 [Normal decode])
Flags: bus master, 66Mhz, medium devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
Memory behind bridge: f4100000-f57fffff

00:06.0 Communication controller: Lucent Microelectronics LT WinModem
Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 1374
Flags: bus master, medium devsel, latency 64, IRQ 5
Memory at f4000000 (32-bit, non-prefetchable)
I/O ports at 1010
I/O ports at 1400
Capabilities: [f8] Power Management version 2

00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 22)
Subsystem: VIA Technologies, Inc. VT82C686/A PCI to ISA Bridge
Flags: bus master, stepping, medium devsel, latency 0

00:07.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 10) (prog-if 8a [Master SecP PriP])
Flags: bus master, medium devsel, latency 64
I/O ports at 1000
Capabilities: [c0] Power Management version 2

00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 10) (prog-if 00 [UHCI])
Subsystem: Unknown device 0925:1234
Flags: bus master, medium devsel, latency 64, IRQ 5
I/O ports at 1020
Capabilities: [80] Power Management version 2

00:07.4 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 30)
Flags: medium devsel
Capabilities: [68] Power Management version 2

00:07.5 Multimedia audio controller: VIA Technologies, Inc. AC97 Audio Controller (rev 20)
Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 1340
Flags: medium devsel, IRQ 5
I/O ports at 1800
I/O ports at 101c
I/O ports at 1018
Capabilities: [c0] Power Management version 2

00:0a.0 CardBus bridge: Texas Instruments PCI1225 (rev 01)
Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 4460
Flags: bus master, medium devsel, latency 168, IRQ 10
Memory at 68000000 (32-bit, non-prefetchable)
Bus: primary=00, secondary=20, subordinate=22, sec-latency=176
I/O window 0: 00000000-00000003
I/O window 1: 00000000-00000003
16-bit legacy interface ports at 0001

00:0a.1 CardBus bridge: Texas Instruments PCI1225 (rev 01)
Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 4460
Flags: bus master, medium devsel, latency 168, IRQ 10
Memory at 68001000 (32-bit, non-prefetchable)
Bus: primary=00, secondary=23, subordinate=25, sec-latency=176
I/O window 0: 00000000-00000003
I/O window 1: 00000000-00000003
16-bit legacy interface ports at 0001

01:00.0 VGA compatible controller: Trident Microsystems CyberBlade i1 (rev 6a) (prog-if 00 [VGA])
Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 4430
Flags: fast Back2Back, 66Mhz, medium devsel, IRQ 5
Memory at f5000000 (32-bit, non-prefetchable)
Memory at f4100000 (32-bit, non-prefetchable)
Memory at f4800000 (32-bit, non-prefetchable)
Capabilities: [80] AGP version 1.0
Capabilities: [90] Power Management version 1

/etc/asound.conf

# ALSA driver configuration
# This configuration is generated with the alsactl program.

soundcard("card1") {
    mixer("Wolfson WM9703/9704") {
        ; The type is 'bool'.
        switch("AC97 PCM Output Path", false)
        ; The type is 'bool'.
        switch("AC97 Mono Output Select", false)
        ; The type is 'bool'.
        switch("AC97 Second MIC", false)
        ; The type is 'bool'.
        switch("ADC/DAC Loopback", false)
        element("Input Gain Switch",0,101,Switch2(off))
        ; Voice 0 : Min 0 Max 15
        ; Voice 1 : Min 0 Max 15
        element("Input Gain Volume",0,200,Volume1(0,0))
        element("Master Mono Switch",0,101,Switch2(off))
        ; Voice 0 : Min 0 Max 31
        element("Master Mono Volume",0,200,Volume1(0))
        element("Headphone Switch",0,101,Switch2(off))
        ; Voice 0 : Min 0 Max 31
        ; Voice 1 : Min 0 Max 31
        element("Headphone Volume",0,200,Volume1(0,0))
        element("Master Switch",0,101,Switch2(on))
        ; Voice 0 : Min 0 Max 31
        ; Voice 1 : Min 0 Max 31
        element("Master Volume",0,200,Volume1(31,23))
        ; The 3D effect has an on/off switch
         ; Center : Min 0 Max 15
        ; Depth : Min 0 Max 15
        element("Effect",0,600,_3D_Effect1(sw=off,center=0,depth=0))
        element("Aux Switch",0,101,Switch2(off))
        ; Voice 0 : Min 0 Max 31
        ; Voice 1 : Min 0 Max 31
        element("Aux Volume",0,200,Volume1(0,0))
        element("Video Switch",0,101,Switch2(off))
        ; Voice 0 : Min 0 Max 31
        ; Voice 1 : Min 0 Max 31
        element("Video Volume",0,200,Volume1(0,0))
        element("CD Switch",0,101,Switch2(on))
        ; Voice 0 : Min 0 Max 31
        ; Voice 1 : Min 0 Max 31
        element("CD Volume",0,200,Volume1(31,31))
        element("Line Switch",0,101,Switch2(off))
        ; Voice 0 : Min 0 Max 31
        ; Voice 1 : Min 0 Max 31
        element("Line Volume",0,200,Volume1(26,26))
        element("MIC Switch",0,101,Switch2(off))
        ; Voice 0 : Min 0 Max 31
        element("MIC Volume",0,200,Volume1(0))
        ; Voice 0 : Min 0 Max 1
        element("MIC Boost",0,200,Volume1(0))
        element("Phone Switch",0,101,Switch2(off))
        ; Voice 0 : Min 0 Max 31
        element("Phone Volume",0,200,Volume1(0))
        element("PC Speaker Switch",0,101,Switch2(off))
        ; Voice 0 : Min 0 Max 15
        element("PC Speaker Volume",0,200,Volume1(0))
        element("PCM Switch",0,101,Switch2(on))
        ; Voice 0 : Min 0 Max 31
        ; Voice 1 : Min 0 Max 31
        element("PCM Volume",0,200,Volume1(31,31))
        element("Mono Output MUX",0,401,Mux2(element("Mono-Out Accumulator",0,301)))
        element("Input MUX",0,400,Mux1(element("MIC Boost",0,200),element("MIC Boost",0,200)))
    }
}

Sound section from /etc/modules.conf

# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 0.5.9 ---
alias char-major-116 snd
alias snd-card-0 snd-card-via686a
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
options snd snd_major=116 snd_cards_limit=1 snd_device_mode=0660 snd_device_gid=17 snd_device_uid=0
# post-install snd alsactl restore

# --- END: Generated by ALSACONF, do not edit. ---