以前、ハードオフにてジャンクのUSBサブディスプレイ GREEN HOUSE の GH-USD7K をゲットしました。税込み880円でした。
購入前に型番をネットで検索したところ、Windows 7では使えたとのこと。
OEM元(DisplayLink)のサイトを見るとWindows 10やUbuntuのドライバがネットで公開されているみたいだし、Windows 10やLinuxでも使えるでしょうということで購入。
実は以前からUSBサブディスプレイってどんなもんだろうと思ってたんですよね。
かなり傷などが多くて動作未確認ですが勢いで買ってしまいました。
結局、Raspberry Pi 2で使えたのですが、そこに落ち着くまでに結構格闘しましたので顛末をご紹介します。
Windows 10での使用を試みる(NG)
まず下記のDisplayLink社のサイトからWindows用の最新ドライバ(DisplayLink USB Graphics Software for Windows Release: 9.3 M1)を入手し、インストールしてみました。
https://www.displaylink.com/downloads/windows
ドライバをインストールしてからGH-USD7Kを接続するとデバイスマネージャーで認識されているのですが、「!」マークがついてちゃんと使えません。
また、ドライバをインストールしないで接続するとUSBストレージとして認識されます。
過去バージョンのドライバも公開されているので色々試しましたがダメでした。
どうやらこの GH-USD7K は最初の接続時にUSBストレージとして認識され、ストレージ内のドライバが自動的にインストールされるようになっているようです。
しかし、Windows 10 はこの機構に対応しておらず使えないとのこと。残念ですが、Windows 10での使用は諦めました。
下記のサイトを参考にしました。
Windows 7でデバイスとして大丈夫か確認(OK)
Windows 10で使えないのはしょうがないのですが、よく考えるとそもそもディスプレイとして使えるのか?という疑念が湧いてきました。動作未確認ですし。
そこでまずはディスプレイとして使えるか確認するため、今さらですが、Windows 7のPCを用意しました。(Windows 7プリインストールのPCを工場出荷状態に初期化しました)
上記の最新ドライバではうまくいかないため、公開されているものの中で一番古い「DisplayLink USB Graphics Software for Windows Release: 6.2 M2」を使用したところ、エラー画面※を無視すれば使えることが分かりました。
ディスプレイとしては問題ないようです。ひとまず安心!
※「このバージョンのWindowsでは使えません」のような文言だったような気がしますが、メモし忘れたため間違っているかもしれません。
Raspberry Pi 2で使ってみる(OK)
Windows 7で使えることはわかりましたが、Windows 7を使い続けるつもりはないので、他のOSで使う方法を探ります。
そういえば今使っていないRaspberry Pi 2があり、これで使えないかなと思いつきました。
↓のようなRaspberry Piの小型ディスプレイって、GH-USD7Kと同じ 800x480だと4,000円近くしますし、もしRaspberry Piで使えたらラッキーかなと。
ま、↓のものはタッチ対応ですけどね。
いろいろ情報があるようですが、私は↓の方法を参考にさせていただいて設定したところ無事使えるようになりました。いやーありがたい!
https://sec.tky.esm.co.jp/2015/05/08/rpi2-displaylink/
OSはRaspbian Buster with desktop(Release date:2020-02-13)を使いました。
なお、上記のサイトで使用しているUSBサブディスプレイは ELECOMのLCD-USB10XB-T であり、GH-USD7K とはプロダクトIDが違うので一部変更する必要があります。
↓の赤字の部分は
sudo usb_modeswitch -v 17e9 -p 0156 -u 1
ATTRS{idVendor}=="17e9", ATTRS{idProduct}=="0156", ATTRS{bConfigurationValue}=="2", RUN+="/usr/local/sbin/usb_modeswitch -v 17e9 -p 0156 -u 1"
↓のようにしました。
sudo usb_modeswitch -v 17e9 -p 028b -u 1
ATTRS{idVendor}=="17e9", ATTRS{idProduct}=="028b", ATTRS{bConfigurationValue}=="2", RUN+="/usr/local/sbin/usb_modeswitch -v 17e9 -p 028b -u 1"
ちなみにプロダクトIDは lsusb -v コマンドで確認しました。↓の idProduct で分かります。
Bus 001 Device 006: ID 17e9:028b DisplayLink
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x17e9 DisplayLink
idProduct 0x028b<省略>
上記の設定以降、HDMIにディスプレイを接続せず、GH-USD7Kのみ接続しておけば起動時から GH-USD7K に Raspberry Pi の見慣れた画面が表示されるようになりました。やった!
あと、Raspberry Pi用のUSB電源アダプタは電力に余裕のあるものにした方が良いみたいです。USBサブディスプレイは結構電力を食うようですので。GH-USD7Kは500mAでした。
以上、Raspberry Pi でUSBサブディスプレイを使ってみたお話でした~