User:Samir/USB2VGA UVT-100 dev: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 13: Line 13:
== Download ==
== Download ==


* [[Media:Mcttrigger-orig.rar | The original source code driver ]]
* [[Media:Mcttrigger-orig.rar | The original source code driver (GPL)]]


* [[Media:Mcttrigger-alpha.zip | The alpha source code driver ]] : does compile with a 2.6.22 linux kernel but does not work
* [[Media:Mcttrigger-alpha.zip | The alpha source code driver ]] : does compile with a 2.6.22 linux kernel but does not work
Line 29: Line 29:


* go to include/linux directory and
* go to include/linux directory and
<pre>
type : ln -s autoconf.h config.h
cd /usr/src/linux/include/linux
ln -s autoconf.h config.h
</pre>


* Then on the linux source directory,
* Then on the linux source directory,
<pre>
make menuconfig
make menuconfig
</pre>
Device Support>>USB Support add the USB VGA MCT support as a module

and choose Device Support>>USB Support
add the USB VGA MCT support as a module

Exit and Save the new configuration
Exit and Save the new configuration


* compile:
* compile: make drivers/usb/misc/mcttrigger/triggerusbvga.ko
<pre>
cd /usr/src/linux
make drivers/usb/misc/mcttrigger/triggerusbvga.ko
</pre>


== Install ==
== Install ==

If there is no sisusbvga0 device file on /dev, type as root:

<pre>
mknod /dev/sisusbvga0 c 180 133
mknod /dev/sisusbvga1 c 180 134
mknod /dev/sisusbvga2 c 180 135
mknod /dev/sisusbvga3 c 180 136
mknod /dev/sisusbvga4 c 180 137
mknod /dev/sisusbvga5 c 180 138
mknod /dev/sisusbvga6 c 180 139
mknod /dev/sisusbvga7 c 180 140
chmod 660 /dev/sisusbvga*
</pre>


insmod the new driver, if your running kernel matches the linux source only, otherwise there will be
insmod the new driver, if your running kernel matches the linux source only, otherwise there will be
Line 46: Line 72:
package name: xserver-xorg-video-sisusb
package name: xserver-xorg-video-sisusb


then use this xorg.conf sample :
Configure the xorg.conf by modifying the device section:
<code>
# ----------- This stuff needs to be adapted to your machine ------------

Section "Files"
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
# FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/lib/X11/fonts/Speedo"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/lib/X11/fonts/75dpi"
EndSection

Section "Module"
Load "GLcore" # MUST be there if DRI is enabled
Load "dbe"
Load "extmod"
Load "record"
Load "bitmap"
Load "freetype"
Load "speedo"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc104"
Option "XkbLayout" "de"
Option "XkbVariant" "nodeadkeys"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/psaux"
Option "Protocol" "PS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
Identifier "USB Mouse"
Driver "mouse"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection

# ----------------- End of machine specific stuff ------------------------

# ----------------------------------------------------------
# MONITOR section
# ----------------------------------------------------------
# This section contains data for monitor configuration.

# The sisusb driver does not support DDC.

Section "Monitor"
Identifier "Generic"
VendorName "Monitor Vendor" # value does not matter
ModelName "Monitor Model" # value does not matter
VertRefresh 50-75
HorizSync 30-90
EndSection

# ----------------------------------------------------------
# DEVICE section
# ----------------------------------------------------------
# This section contains configuration data of the video card.


<pre>
Section "Device"
Section "Device"
Identifier "SiS USB2VGA"
Identifier "SiS USB2VGA"
VendorName "SiS" # Value does not matter
BoardName "SiS" # Value does not matter

Driver "sisusb"
Driver "sisusb"

# BusID: Does not matter if you have only one USB2VGA dongle.
# If you have more than one, you can specify the device node
# name or the device number here.
BusID "USB:/dev/sisusbvga0"


# Please see http://www.winischhofer.at/linuxsisusbvga.shtml for more
# Please see http://www.winischhofer.at/linuxsisusbvga.shtml for more
Line 138: Line 83:


EndSection
EndSection
</pre>


== Bugs ==
# ----------------------------------------------------------
# SCREEN section
# ----------------------------------------------------------
# This section defines the available resulutions and depths.


The alpha version does not work. Currently the Xorg.0.log would show this error :
Section "Screen"
<pre>
Identifier "screen1"
(II) SISUSB(0): SiSUSB driver (2005/09/28-1, compiled for X.org 7.2.0.0)
Device "SiS USB2VGA"
(II) SISUSB(0): Copyright (C) 2001-2005 Thomas Winischhofer <thomas@winischhofer.net>
Monitor "Generic"
(II) SISUSB(0): *** See http://www.winischhofer.at/linuxsisusbvga.shtml
DefaultDepth 8
(II) SISUSB(0): *** for documentation and updates.
SubSection "Display"
(--) SISUSB(0): Found USB dongle (device /dev/sisusbvga0, kernel driver 0.0.8)
Depth 16
(II) Loading sub module "ramdac"
Modes "1024x768" "800x600" "640x480"
(II) LoadModule: "ramdac"(II) Module already built-in
EndSubSection
(--) SISUSB(0): sisusbfb not found
SubSection "Display"
Depth 8
(**) SISUSB(0): Depth 8, (--) framebuffer bpp 8
(==) SISUSB(0): Default visual is PseudoColor
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection


Backtrace:
# ----------------------------------------------------------
0: X(xf86SigHandler+0x81) [0x80c95d1]
# Server layout: Combine Monitor, Screen and Device sections
1: [0xffffe420]
# ----------------------------------------------------------
2: X(ProcessInputEvents+0x5c) [0x80ca92c]

3: X(UpdateCurrentTime+0x50) [0x808f6d0]
Section "ServerLayout"
4: /usr/lib/xorg/modules/drivers//sisusb_drv.so [0xb71f22ce]
Identifier "Default Layout"
5: /usr/lib/xorg/modules/drivers//sisusb_drv.so(__inSISIDXREG+0x79) [0xb71f3189]
Screen "screen1"
6: /usr/lib/xorg/modules/drivers//sisusb_drv.so(sisusbSaveUnlockExtRegisterLock+0x5d) [0xb71f4b5d]
InputDevice "Generic Keyboard"
7: /usr/lib/xorg/modules/drivers//sisusb_drv.so [0xb71f7645]
InputDevice "Configured Mouse"
8: X(InitOutput+0x9a4) [0x80a8ea4]
InputDevice "USB Mouse"
9: X(main+0x27b) [0x8076ceb]
EndSection
10: /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0) [0xb7d83050]
11: X(FontFileCompleteXLFD+0x1e1) [0x8076241]
</pre>


The dongle is detected, but it seems that the sisusb_drv.c should be modified ?
</code>

Latest revision as of 17:06, 16 May 2008

Public domain This file has been released into the public domain by its copyright holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide.

Info

The unit is from MCT, the UVT-100 (see http://www.esysmall.com/detail_prod.asp?prod_Id=5544 ) one.

Download

Unpack

Go to your /linux source directory. Untar the mcttrigger archive in drivers/usb/misc

Compile

  • Add the line :

source "drivers/usb/misc/mcttrigger/Kconfig" in the file linux/drivers/usb/misc/Kconfig

  • go to include/linux directory and
cd /usr/src/linux/include/linux
ln -s autoconf.h config.h
  • Then on the linux source directory,
make menuconfig

and choose Device Support>>USB Support add the USB VGA MCT support as a module

Exit and Save the new configuration

  • compile:
cd /usr/src/linux
make drivers/usb/misc/mcttrigger/triggerusbvga.ko

Install

If there is no sisusbvga0 device file on /dev, type as root:

mknod /dev/sisusbvga0 c 180 133
mknod /dev/sisusbvga1 c 180 134
mknod /dev/sisusbvga2 c 180 135
mknod /dev/sisusbvga3 c 180 136
mknod /dev/sisusbvga4 c 180 137
mknod /dev/sisusbvga5 c 180 138
mknod /dev/sisusbvga6 c 180 139
mknod /dev/sisusbvga7 c 180 140
chmod 660 /dev/sisusbvga*

insmod the new driver, if your running kernel matches the linux source only, otherwise there will be a magic version issue.

You have to install the sisusb Xorg driver too, package name: xserver-xorg-video-sisusb

Configure the xorg.conf by modifying the device section:

Section "Device"
        Identifier "SiS USB2VGA"
        Driver     "sisusb"

# Please see http://www.winischhofer.at/linuxsisusbvga.shtml for more 
# information

EndSection

Bugs

The alpha version does not work. Currently the Xorg.0.log would show this error :

(II) SISUSB(0): SiSUSB driver (2005/09/28-1, compiled for X.org 7.2.0.0)
(II) SISUSB(0): Copyright (C) 2001-2005 Thomas Winischhofer <thomas@winischhofer.net>
(II) SISUSB(0): *** See http://www.winischhofer.at/linuxsisusbvga.shtml
(II) SISUSB(0): *** for documentation and updates.
(--) SISUSB(0): Found USB dongle (device /dev/sisusbvga0, kernel driver 0.0.8)
(II) Loading sub module "ramdac"
(II) LoadModule: "ramdac"(II) Module already built-in
(--) SISUSB(0): sisusbfb not found
(**) SISUSB(0): Depth 8, (--) framebuffer bpp 8
(==) SISUSB(0): Default visual is PseudoColor

Backtrace:
0: X(xf86SigHandler+0x81) [0x80c95d1]
1: [0xffffe420]
2: X(ProcessInputEvents+0x5c) [0x80ca92c]
3: X(UpdateCurrentTime+0x50) [0x808f6d0]
4: /usr/lib/xorg/modules/drivers//sisusb_drv.so [0xb71f22ce]
5: /usr/lib/xorg/modules/drivers//sisusb_drv.so(__inSISIDXREG+0x79) [0xb71f3189]
6: /usr/lib/xorg/modules/drivers//sisusb_drv.so(sisusbSaveUnlockExtRegisterLock+0x5d) [0xb71f4b5d]
7: /usr/lib/xorg/modules/drivers//sisusb_drv.so [0xb71f7645]
8: X(InitOutput+0x9a4) [0x80a8ea4]
9: X(main+0x27b) [0x8076ceb]
10: /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0) [0xb7d83050]
11: X(FontFileCompleteXLFD+0x1e1) [0x8076241]

The dongle is detected, but it seems that the sisusb_drv.c should be modified ?