VGA-USB/RGB

玄人志向 VGA-USB/RGB をゲット。DisplayLink チップを使った USB2.0 接続グラフィックアダプタ。やることは決まっている。


とりあえず OpenBSD-4.6/i386 なマシンにつないでみる。ugen と認識されて udl とならないのはこのデバイス ID(0x17e9,0x0140)が udl として登録されていないから。src/sys/dev/usb 以下の usbdevs.h, usbdevs_data.h, udl.c に追加して kernel を作成する。こうしておいてからつなぐとこんな風になる。メッセージが多いのはデバッグオプションを有効にしているため。

udl0 at uhub4 port 1 "DisplayLink USB Display Adapter" rev 2.00/0.02 addr 2
udl0: udl_init_chip: poll=0xf0005000
udl0: udl_init_chip: read 0x8c from 0xc484
udl0: udl_init_chip: write 0x01 to 0xc41f
udl0: udl_init_chip: read EDID=
    0: 0000f001 0101c000 09040000 02ff0000
   16: 00070501 02000200 07058203 08000470
   32: 00740065 00720053 a50c7b7d cd1d0642
   48: 820cfb24 fef88514 5e204ac8 8a66df00
   64: 00f00101 01c00009 04000002 ff000000
   80: 07050102 00020007 05820308 00047000
   96: 74006500 720053a5 0c7b7dcd 1d064282
  112: 0cfb24fe f885145e 204ac88a 66df0000
udl0: udl_init_chip: set encryption key
udl0: udl_init_chip: write 0x00 to 0xc40b
udl0: udl_cmd_send: sent 4620 of 4620 bytes
udl0: udl_init_chip: set decompression table
udl0: udl_cmd_send: sent 182 of 182 bytes
udl0: udl_cmd_send: sent 974402 of 974402 bytes
udl0: udl_cmd_send: sent 10 of 10 bytes
wsdisplay1 at udl0 mux 1
udl0: udl_alloc_screen
udl0: udl_alloc_screen: using font Boldface.iso1 (100x37)
udl0: udl_show_screen
udl0: udl_alloc_screen
wsdisplay1: screen 0 added (std, vt100 emulation)

cd /dev; ./MAKEDEV ttyD0; dmesg > /dev/ttyD0 としてテキスト表示の確認まで。