2012年7月17日火曜日

【.tested】RATOC REX-USBDVI2 ディスプレイアダプタ [AX3]



RATOC REX-USBDVI2は、USBディスプレイアダプタです。
OpenBlocks AX3との接続検証を行いました。




OBDN技術ブログによる動作検証は、該当するデバイスの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
OpenBlocks AX3/4 Debian 6.0 kernel: 3.0.6
REX-USBDVI2 USBディスプレイアダプタ
OKI Minikeyboard Pro ポインティングデバイス付きミニキーボード


1. 対応ドライバと事前準備(X環境のインストール他)

・X11パッケージの導入
まずは、X11の環境をインストールします。
Displaylink用Xserverの構築に必要な環境も合わせてインストールします。

# aptitude install xorg
# aptitude install xserver-xorg
# aptitude install xserver-xorg-dev

その他、ウィンドウマネージャ等、X11関連のパッケージリストは以下にありますので、環境整備に必要と思われるものをインストールしてください。

Debian リファレンス / 第7章 X Window システム


・ディスプレイドライバの準備
REX-USBDVI2は、Displaylink社DL-195を使用しており、FrameBuffer用のドライバとして、udlfbを、
Xorg用のドライバとして、
xf86-driver-displaylink ( udlfb-0.2.3_and_xf86-video-displaylink-0.3.tar.gz )
を使用します。

usb 1-1: new high speed USB device number 2 using ehci_marvell
usb 1-1: New USB device found, idVendor=17e9, idProduct=0129
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: REX-USBDVI2
usb 1-1: Manufacturer: DisplayLink
usb 1-1: SerialNumber: 111786

<udlfb>
udlfbに関しては、必要に応じてDisplaylink USB Framebuffer supportを有効にしたカーネルを作成する必要があります。
(今回テストした環境では再構築の必要はありませんでした)

dmesgでは、以下のメッセージが表示されます。

udlfb: DisplayLink REX-USBDVI2 - serial #111786
udlfb: vid_17e9&pid_0129&rev_0001 driver's dlfb_data struct at e8a44800
udlfb: console enable=0
udlfb: fb_defio enable=0
udlfb: vendor descriptor length:29 data:29 5f 01 0027 00 04 04 01 00 03
udlfb: DL chip limited to 2360000 pixel modes
udlfb: allocated 4 65024 byte urbs


udlfb: 1280x1024 valid mode
udlfb: 720x400 valid mode
udlfb: 640x480 valid mode
udlfb: 640x480 valid mode
udlfb: 640x480 valid mode
udlfb: 640x480 valid mode
udlfb: 800x600 valid mode
udlfb: 800x600 valid mode
udlfb: 800x600 valid mode
udlfb: 800x600 valid mode
udlfb: 832x624 valid mode
udlfb: 1024x768 valid mode
udlfb: 1024x768 valid mode
udlfb: 1024x768 valid mode
udlfb: 1280x1024 valid mode
udlfb: 1152x864 valid mode
udlfb: 1280x1024 valid mode
udlfb: 1280x960 valid mode
udlfb: 1152x864 valid mode
udlfb: Reallocating framebuffer. Addresses will change!
udlfb: 1280x1024 valid mode
udlfb: set_par mode 1280x1024
mousedev: PS/2 mouse device common for all mice
udlfb: DisplayLink USB device /dev/fb0 attached. 1280x1024 resolution. Using 512
0K framebuffer memory
usbcore: registered new interface driver udlfb

また、fbsetコマンドにより設定の確認が出来ます。

#fbset -i

udlfb: open /dev/fb0 user=1 fb_info=e70e5c00 count=1

mode "1280x1024-udlfb: released /dev/fb0 user=1 count=0
60"
    # D: 108.003 MHz, H: 63.983 kHz, V: 60.021 Hz
    geometry 1280 1024 1280 1024 16
    timings 9259 248 48 38 1 112 3
    hsync high
    vsync high
    rgba 5/11,6/5,5/0,0/0
endmode

Frame buffer device information:
    Name        : udlfb
    Address     : 0xfa001000
    Size        : 2621440
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 0
    YPanStep    : 0
    YWrapStep   : 0
    LineLength  : 2560
    Accelerator : No

<xf86-driver-displaylink>
wgetによりドライバの構築環境を取得します。

# wget http://projects.unbit.it/downloads/udlfb-0.2.3_and_xf86-video-displaylink-0.3.tar.gz

取得したソースコードを展開します。

# tar zxf udlfb-0.2.3_and_xf86-video-displaylink-0.3.tar.gz

makeの前に、今回使用した環境では、ソースコードの一部に修正を加える必要があります。
以下のページを参考にしてください。

DL + Ubuntu 10.04 working OK

以下の部分を修正してください。

diff -Nu displaylink.c.orig displaylink.c
--- displaylink.c.orig    2009-06-11 02:38:15.000000000 +1200
+++ displaylink.c    2010-05-02 16:16:56.000000000 +1200
@@ -46,9 +46,6 @@

 #include "fb.h"

-#include "xf86Resources.h"
-#include "xf86RAC.h"
-
 #include "fbdevhw.h"


@@ -282,10 +279,6 @@

     fPtr->pEnt = xf86GetEntityInfo(pScrn->entityList[0]);

-    pScrn->racMemFlags = RAC_FB | RAC_COLORMAP | RAC_CURSOR | RAC_VIEWPORT;
-    /* XXX Is this right?  Can probably remove RAC_FB */
-    pScrn->racIoFlags = RAC_FB | RAC_COLORMAP | RAC_CURSOR | RAC_VIEWPORT;
-
     /* open device */
     if (!fbdevHWInit(pScrn,NULL,xf86FindOptionValue(fPtr->pEnt->device->options,"fbdev")))
         return FALSE;
@@ -545,8 +538,6 @@

     xf86DPMSInit(pScreen, fbdevHWDPMSSetWeak(), 0);

-    xf86CrtcScreenInit (pScreen);
-
     pScreen->SaveScreen = fbdevHWSaveScreenWeak();

     /* Wrap the current CloseScreen function */

上記の修正の後、makeし、install します。

# cd displaylink/
# ./configure
# make

# sudo make install

・カーネルの再構築
リリースされている製品のカーネルでは、以下のオプションはすべて有効になっており、再構築の必要はありません。


Xの立ち上げのため、VT(Virtual Terminal)の組み込みと、Debian/squeezeパッケージでの入力デバイスのサポートへの対応のため、カーネルを再構築します。

<仮想ターミナルの組み込み>
以下のオプションを有効にして再構築して下さい。

CONFIG_VT=y
CONFIG_VT_CONSOLE=y

<USBキーボードおよびマウスへの対応>
以下のページを参考にしてください。

Debian リファレンス / 第5章 squeeze で知っておくべき問題点

5.7.3. 入力デバイスのホットプラグ対応
Debian 6.0 の Xorg X サーバは、入力デバイス (マウス、キーボード、タブレットなど) のホットプラグのサポートが改善されています。古い xserver-xorg-input-kbd および
xserver-xorg-input-mouse パッケージは、xserver-xorg-input-evdev によって置き換えられました。このパッケージは、CONFIG_INPUT_EVDEV オプションが有効になったカーネルを必要とします。さらに、このドライバが提供するキーコードの一部は、それまで同じキーが対応していたのとは異なるものがあります。xmodmap や xbindkeys などのプログラムのユーザは、新しいキーコードに設定を調整する必要があるでしょう。

上記の通り、CONFIG_INPUT_EVDEV=yとしてカーネルを再構築する必要があります。
再構築後のdmesgは以下の通りです。

input: HID 070a:0032 as /devices/platform/ehci_marvell.1/usb2/2-1/2-1.3/2-1.3:1.
1/input/input1
generic-usb 0003:070A:0032.0002: input,hidraw1: USB HID v1.10 Device [HID 070a:0
032] on usb-ehci_marvell.1-1.3/input1
input: HID 070a:0032 as /devices/platform/ehci_marvell.1/usb2/2-1/2-1.3/2-1.3:1.
2/input/input2
generic-usb 0003:070A:0032.0003: input,hidraw2: USB HID v1.10 Mouse [HID 070a:00
32] on usb-ehci_marvell.1-1.3/input2
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver

2. Xorgの設定

Debian/squeezeでは、xorg.confは出来るだけなくても立ち上がるように構成したほうがいいのですが、今回は、/etc/X11/xorg.confを以下の様に設定しました。

Section "Files"
ModulePath "/usr/lib/xorg/modules"
ModulePath "/usr/local/lib/xorg/modules"
EndSection

Section "Device"
        Identifier      "DisplayLinkDevice"
        driver          "displaylink"
        Option  "fbdev" "/dev/fb0"
EndSection

Section "Monitor"
        Identifier      "DisplayLinkMonitor"
EndSection

Section "Screen"
        Identifier      "DisplayLinkScreen"
        Device          "DisplayLinkDevice"
        Monitor         "DisplayLinkMonitor"
        SubSection "Display"
                Depth   16
                Modes   "1280x1024"
        EndSubSection
EndSection

3. Xの起動のテストと、ウィンドウマネージャの導入

# xinit

として、xを起動し、画面表示、入力デバイスの入力を確認してください。
ウィンドウマネージャは、

Debian リファレンス / 第7章 X Window システム

等を参考に、好みのものを導入してください。
今回のテストでは、以下の様にgnomeのパッケージをインストールしgdmによりログインが可能な状態としてみましたが、各種テストを繰り返す場合は、fluxboxなどの軽量かつ設定の単純なものをお勧めします。

# aptitude install gnome-desktop-environment


日本語環境およびchromiumブラウザなどはDebian/squeezeのパッケージを入れています。

以上、今回は、REX-USBDVI2およびOKI Minikeyboard ProによるX環境の構築をしてみました。
ちなみに、「ヘッドレス」がOpenBlocksのいい所だ、という方には不評です。



[PR]

0 件のコメント:

コメントを投稿