Lab failure

Search this archive.

From: alexwen@21cn.com
Date: Wed 30 Aug 2000 - 09:32:40 IDT


Matan, please help me with this: 

Lab report, by Alex Wen 

1) result of vbios.vm86 ( CONFIG_ACTIVE_DEVICE is 0 now )
initializing PCI bus: 1 dev: 0 func: 0
done !
2) result of lspci 
00:00.0 Host bridge: VIA Technologies, Inc. VT82C597 [Apollo VP3] (rev 04)
00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598 [Apollo MVP3 AGP]
00:07.0 ISA bridge: VIA Technologies, Inc. VT82C586 ISA [Apollo VP] (rev 47)
00:07.1 IDE interface: VIA Technologies, Inc. VT82C586 IDE [Apollo] (rev 06)
00:08.0 VGA compatible controller: S3 Inc. 86C764_1 [Trio 32/64 vers 1]
00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. 8029
01:00.0 VGA compatible controller: NVidia / SGS Thomson (Joint Venture) Riva128 (rev 22)

3)  primary: 0:8.0, S3Trio32 
   secondary: 1:0.0 Riva128 ZX (AGP)
4) After login, I  load the module by: insmod svgalib_helper 

5) result of lsmod 
Module                  Size  Used by
svgalib_helper          3036   0  (unused)

6) content of /etc/vga/libvga.config.1, note that it's the SECONDARY card. 
    And I found that "PCIStart" should be in low cases. 
  
pcistart 1 0  
include /etc/vga/libvga.config.common
7) setpci -s 1:0.0 command=3 
  then I check with setpci -s 1:0.0 command
   the result is 0003 

8) export SVGALIB_CARD=1
 
9) ./vgatest 
   I test mode 1 and 5. For both modes, the 2nd monitor flashes and changes to    graphics mode, but the screen is filled with points in all colors. It seems     the mode  is not properly set.  
10) Then I modify libvga.config.1: 

pcistart 0 8.0   
include /etc/vga/livbga.config.common

11) ./vgatest 
   I tested mode 1 and 5. Results are shown in primary monitor correctly. 

12) See libvga.config.0 

pcistart 1 0 
novccontrol
secondary 
include /etc/vga/libvga.config.common

13) export SVGALIB_CARD=0 

14) ./vgatest 
    I test with mode 1 or mode 5 . Then an error occurs
   svgalib: mmap error rrr

15) Then I modified libvga.config.0    
novccontrol
secondary 
include /etc/vga/libvga.config.common

16) ./vgatest 
     The 2nd monitor is filled with colorful points in some modes. :-(
     In some other modes, a message is displayed: 
  Error: Video mode not supported by driver. 


17) Appendix: /etc/libvga.config.common   file content 


# Configuration file for svgalib. Default location is /etc/vga.
# Other config file locations:	~/.svgalibrc
# 				where SVGALIB_CONFIG_FILE points
# Lines starting with '#' are ignored.

# Have a deep look at README.config to see what can do here (especially
# for mach32).

# Mouse type:

# mouse Microsoft	# Microsoft
# mouse MouseSystems	# Mouse Systems
# mouse MMSeries	# Logitech MM Series
# mouse Logitech	# Logitech protocol (old, newer mice use Microsoft protocol)
# mouse Busmouse	# Bus mouse
# mouse PS2		# PS/2 mouse
# mouse MouseMan	# Logitech MouseMan
# mouse Spaceball	# Spacetec Spaceball
# mouse IntelliMouse	# Microsoft IntelliMouse or Logitech MouseMan+ on serial port
# mouse IMPS2		# Microsoft IntelliMouse or Logitech MouseMan+ on PS/2 port
# mouse none		# None

mouse none 

# Mouse/keyboard customisation by 101 (Attila Lendvai). If you have any good
# ideas you can reach me at 101@kempelen.inf.bme.hu

# mouse_accel_type	normal	# No acceleration while delta is less then
				# threshold but delta is multiplied by
				# mouse_accel_mult if more. Originally done by
				# Mike Chapman mike@paranoia.com

mouse_accel_type	power	# The acceleration factor is a power function
				# of delta until it reaches m_accel_mult. It
				# starts from the coordinate 
				# [1, 1 + m_accel_offset] and goes to
				# [m_accel_thresh, m_accel_mult]. If delta
				# is bigger then m_accel_thresh it is a plain
				# constant (m_accel_mult). It is the f(delta)
				# function with which the delta itself will be
				# multiplied. m_accel_offset is 1 by default,
				# so for delta = 1 the accelerated delta will
				# remain 1 (You don't lose resolution). The
				# starting point of the f(delta) function
				# might be moved along the Y axis up/down with
				# m_accel_offset thus defining the initial
				# minimum acceleration (for delta = 1).
				# Basically it's like the normal mode but the
				# acceleration factor grows as you move your
				# mouse faster and faster, not just turns in
				# and out. Threshold is the point from where
				# the f(delta) function gets linear.
				# This is the one I use for *uaking... =)

# mouse_accel_type	off	# No comment...


mouse_accel_mult	60	# This is the number with which delta will
				# be multiplied. Basically it's the number
				# that defines how big the acceleration will
				# be

mouse_accel_thresh	4	# This is the threshold. See description by
				# power

mouse_accel_power	0.8	# This is the second parameter of the power
				# function used in power mode. Used only by
				# the power mode

mouse_accel_offset	30	# This is the offset of the starting point
				# on the Y axis. With this you can define the
				# number that will multiply delta = 1 so it's
				# the initial acceleration.

# mouse_accel_maxdelta	600	# This is an upper limit for delta after
				# the acceleration was applied

# mouse_maxdelta	30	# This is an upper limit for the delta
				# before the acceleration. With this one you
				# can limit the biggest valid delta that
				# comes from the mouse.

# mouse_force			# Force parameters even if they seem strange
				# By default svgalib prints an error if any
				# of the numbers are somhow out of the
				# reasonable limit, (Like a negative mult :)
				# and uses the default that's in vgamouse.h

# Usually /dev/mouse will be a link to the mouse device.
# However, esp. with the Spacetec Spaceball you may
# want to specify a different device for svgalib to use

# mdev /dev/ttyS0 # mouse is at /dev/ttyS0

# Some multiprotocol mice will need one of the following:

# setRTS   # set the RTS wire.
# clearRTS # clear the RTS wire.
# leaveRTS # leave the RTS wire alone (default) (Wire is usually set)
# setDTR   # set the DTR wire.
# clearDTR # clear the DTR wire.
# leaveDTR # leave the DTR wire alone (default) (Wire is usually set)

# mouse_fake_kbd_event sends a fake keyboard event to the program when the
# wheel on a Microsoft IntelliMouse, Logitech MouseMan+, or similar wheel
# mouse is turned. The format is:
#
#   mouse_fake_kbd_event upscancode downscancode
#
# The up and down scancodes are the scancodes of the keys to simulate when
# the wheel is turned up and down, respectively.
#
# The following can be specified for the scancodes: letters (A-Z), numbers
# (0-9), function keys (F1-F12), or any of the following - ESCAPE, MINUS,
# EQUAL, BACKSPACE, TAB, BRACKET_LEFT, BRACKET_RIGHT, ENTER, LEFTCONTROL,
# SEMICOLON, APOSTROPHE, GRAVE, LEFTSHIFT, BACKSLASH, COMMA, PERIOD, SLASH,
# RIGHTSHIFT, KEYPADMULTIPLY, LEFTALT, SPACE, CAPSLOCK, NUMLOCK, SCROLLLOCK,
# KEYPAD7, CURSORUPLEFT, KEYPAD8, CURSORUP, KEYPAD9, CURSORUPRIGHT, KEYPADMINUS,
# KEYPAD4, CURSORLEFT, KEYPAD5, KEYPAD6, CURSORRIGHT, KEYPADPLUS, KEYPAD1,
# CURSORDOWNLEFT, KEYPAD2, CURSORDOWN, KEYPAD3, CURSORDOWNRIGHT, KEYPAD0,
# KEYPADPERIOD, KEYPADCENTER, RIGHTCONTROL, CONTROL, KEYPADDIVIDE,
# PRINTSCREEN, RIGHTALT, BREAK, BREAK_ALTERNATIVE, HOME, CURSORBLOCKUP,
# PAGEUP, CURSORBLOCKLEFT, CURSORBLOCKRIGHT, END, CURSORBLOCKDOWN, PAGEDOWN,
# INSERT
#
# Note that this option has no effect unless the IntelliMouse or IMPS2 mouse
# type is used (see above). Also note that the simulated keypresses are
# instantaneous, so they cannot be used for functions that require a key to
# be held down for a certain length of time.

# This example simulates a press of the left bracket ([) when the wheel is
# turned up and a press of the right bracket (]) when the wheel is turned
# down (good for selecting items in Quake II):
#mouse_fake_kbd_event BRACKET_LEFT BRACKET_RIGHT

# Keyboard config:

# kbd_fake_mouse_event, as it says, sends a fake mouse event to the program.
# The format is: kbd_fake_mouse_event scancode [flag(s)] command [argument]
#   Scancode is a raw scancode. You can find them in src/keyboard/vgakeyboard.h.
#   Flags:   down   - trigger event when the key is pressed (default)
#	     up     - the opposite
#	     both   - trigger in both case, if pressed/released
#	     repeat - repeat events if the key is kept pressed (off by default)
#   commands: delta[xyz]  - send a fake delta event as if you have moved your
#	 		    mouse. If the parameter is 'off' / 'on' it will turn
#			    off/on the respective mouse axis (requires a
#			    parameter, of course)
#	      button[123] - send a fake event that the mouse button is pressed
#			    or released that's given by the parameter.
# 			    ('pressed' or 'released')
# Here are some examples:

#  This is one I use in *uake: it turns around, looks down a bit and when the
#  key is released it does the opposite, so it gets back to the starting state.
#  With this one and the help of a rocket you can fly though the whole map :)
#  (Scancode 28 is enter)
# kbd_fake_mouse_event 28 both deltax 8182 down deltay -1500 up deltay 1500

#  This one will switch off the y axis of the mouse while the key (right ctrl)
#  is kept pressed.
# kbd_fake_mouse_event 97 down deltay off  up deltay on

#  This one is the same as if you were pressing the left mouse button. (But
#  if you move your mouse then the button state will reset even if you keep
#  right ctrl down...)
# kbd_fake_mouse_event 97 down button1 pressed up button1 released


# Monitor type:

# Only one range can be specified for the moment.  Format:
# HorizSync min_kHz max_kHz
# VertRefresh min_Hz max_Hz

# Typical Horizontal sync ranges
# (Consult your monitor manual for Vertical sync ranges)
#
# 31.5 - 31.5 kHz (Standard VGA monitor, 640x480 @ 60 Hz)
# 31.5 - 35.1 kHz (Old SVGA monitor, 800x600 @ 56 Hz)
# 31.5 - 35.5 kHz (Low-end SVGA, 8514, 1024x768 @ 43 Hz interlaced)
# 31.5 - 37.9 kHz (SVGA monitor, 800x600 @ 60 Hz, 640x480 @ 72 Hz)
# 31.5 - 48.3 kHz (SVGA non-interlaced, 800x600 @ 72 Hz, 1024x768 @ 60 Hz)
# 31.5 - 56.0 kHz (high frequency, 1024x768 @ 70 Hz)
# 31.5 - ???? kHz (1024x768 @ 72 Hz)
# 31.5 - 64.3 kHz (1280x1024 @ 60 Hz)

HorizSync 31.5 35.1
VertRefresh 50 60

# Montitor timings
#
# These are prefered over the default timings (if monitor and chipset
# can handle them). Not all drivers use them at the moment, and Mach32
# has its own syntax (see below).
# The format is identical to the one used by XFree86, but the label
# following the modeline keyword is ignored by svgalib.
#
# Here some examples:

# modeline "640x480@100"  43  640  664  780  848   480  483  490  504
# modeline "800x600@73"   50  800  856  976 1024   600  637  643  666
# modeline "1024x768@75"  85 1024 1048 1376 1400   768  771  780  806

# It seems there is a need for a 512x384 mode, this timing was donated
# by Simon Hosie <gumboot@clear.net.nz>: (it is 39kHz horz by 79Hz vert)

# Modeline "512x384@79"     25.175 512  522  598  646   384  428  436  494

# Mach32 timings:

# e.g. Setup a 320x200 mode for the mach32:

define 320x200x32K 320x200x64K 320x200x16M 320x200x16M32
                     16 320 392 464 552 200 245 265 310

# These are REQUIRED for above mode, please edit to suit your monitor.
# (No, I won't pay for a new one)
# HorizSync 29 65
# VertRefresh 42 93.5

# Chipset type:
#
# Use one of the following force chipset type.
# Autodetects if no chipset is specified.
# If a chipset driver gives trouble, try forcing VGA.

#chipset VGA		# Standard VGA
# chipset EGA		# EGA
# chipset ET3000	# Tseng ET3000
# chipset ET4000	# Tseng ET4000
# chipset Cirrus	# Cirrus Logic GD542x
# chipset TVGA		# Trident TVGA8900/9000
# chipset Oak		# Oak Technologies 037/067/077
# chipset S3		# S3 chipsets
# chipset GVGA6400	# Genoa 6400
# chipset ARK		# ARK Logic
# chipset ATI		# old ATI VGA
# chipset Mach32	# ATI Mach32
# chipset ALI		# ALI2301
# chipset Mach64	# ATI Mach64
# chipset ET6000        # Tseng ET6000
# chipset VESA           # Very nicely behaved Vesa Bioses
chipset VGA 

# EGA Color/mono mode:
# Required if chipset is EGA.
#
# Use one of the following digits to force color/mono:

# monotext  # Card is in monochrome emulation mode
# colortext # Card is in color emulation mode
colortext

# RAMDAC support:
# Some chipsets (e.g. S3 and ARK) allows specifying a RAMDAC type.
# If your RAMDAC is not autodetected, you can try specifying it.
# Do NOT specify a RAMDAC if you card uses the S3 Trio chipset
# (the RAMDAC is built in).

# Ramdac Sierra32K
# Ramdac SC15025
# Ramdac SDAC         # S3 SDAC
# Ramdac GenDAC       # S3 GenDAC
# Ramdac ATT20C490    # AT&T 20C490, 491, 492 (and compatibles)
# Ramdac ATT20C498    # AT&T 20C498
# Ramdac IBMRGB52x    # IBM RGB524, 526, 528 (and compatibles)

# Dotclocks:
# Some chipsets needs a list of dot clocks for optimum operation.  Some
# includes or supports a programmable clock chip.  You'll need to specify
# them here.

# Fixed clocks example:
# (The following is just an example, get the values for your card from
#  you XF86Config)

# Clocks 25.175 28.3 40 70 50 75 36 44.9 0 118 77 31.5 110 65 72 93.5

# Programmable clockchip example:

#Clockchip ICD2061A  # The only one supported right now
 
----------------------------------------------
欢迎使用 21CN 电子邮件系统 http://www.21cn.com
Thank you for using 21cn.com Email system


This archive was generated by hypermail 2.1.4 : Wed 21 Jan 2004 - 22:10:23 IST