2011年11月1日火曜日

REX-USB60用ドライバ

これを書いているノートPC(Let's note S9)にはシリアルポートがついていません。というか、いまどきシリアルポートがついているPCの方が少なくなってしまったのではないか?と思えるくらいです。特にノートPCでは。人によっては“シリアルポートってなぁに?”という声すら聞こえてきそうですが、やはり組み込みをやってる人種としてはいくら通信速度が遅いといえども捨てがたいインターフェースなのです。

で、USB-シリアル変換器の出番。

今ではあまり気にする必要はないのかもしれませんが、その昔(と言っても数年前ですが)はとりあえず動くもののちょっと動作がおかしかったり、シリアル接続モデム以外の用途で使うと動かないUSB-シリアル変換器がありましたので、そのメーカと品番選定には注意していたものです。そのなかでも、なかなかマジメな作りと安定した品質で好きだったメーカはRATOCシステムさんで、USB-シリアル変換器もREX-USB60というモデルを愛用していました。
しかし、ノートPCをLet's note W2からS9に新調したときにOSがXPからWin7 x64に変えてしまったので、このREX-USB60が使えないという事態が発生していました。どうもRATOCさんは後継モデルのREX-USB60F(おそらくFTDIの石を使っていると思われる)に移行してしまったようで、旧版のF無しREX-USB60用のx64対応ドライバは用意してくれそうになく、この変換器はほとんど死蔵状態でした。

しかし、ひょんなことからblogとかの情報で「REX-USB60はPL2303というチップを使っているらしいので、そのPL2303用のドライバを使い回せる」ということを聞き、さっそくProlificのHPからダウンロードしてinfファイルを書き換えて試してみるも撃沈!infとドライバは読み込んでくれるものの、「ドライバを開始できません(エラー10)」というエラーでドライバが開始されないということになってしまった。HPの情報から総合して考えると、おそらくProlificとは異なるVID/PIDに書き換えられたサードパーティのUSB-シリアル変換器では同じPL2303チップを使っていてもドライバが撥ねてしまうように作っているのだろう。なんて意地悪な・・・。

更に調べてみると、ATENというメーカのUSB-シリアル変換器UC-232AもこのPL2303を使っているらしく、更にすばらしいことに自社で専用ドライバを用意していて、infを書き換えればこれが利用できるというのだ。で、やってみると・・・

なるほど、Win7 x64でもちゃんとドライバが読み込まれた。ありがたいですね~。

ちなみにinfファイル変更のポイントは・・・

[PRO.NT]セクションに“%DeviceDesc% = ComPort, USB\VID_0584&PID_B000”を、

[PRO.NTAMD64]セクションに“%DeviceDesc% = ComPort, USB\VID_0584&PID_B000”を付け加えるだけ。
本当にありがたい。

4 件のコメント:

  1. 職場のpc(win7 64bit)でREX-USB60を使っているのですが記事のとおりやってるつもりですがCOMポートにはアクセスできなくて使えません。
    できれば詳しい手順を教えていただけると幸いです。

    返信削除
  2. ルイヴィトン14性さん。

    当時はWin7で使っていたPCはもう手元になく、現在は別のPCでWin8を使っていますので、ちょっと確認がとれないです。申し訳ありません。

    記憶している範囲では、ATENのドライバからinfファイルを変更するだけだったと思います。もしかすると、ドライバ署名の問題を避けるために、特別なモードでブートし直してからインストールしたかもしれません。あとは、同じREX-USB60でも製造時期によって内部構成やプロダクトIDが違うとか・・・。スミマセン、お役に立てなくて。

    ちなみにWin8(64bit)で試してみると・・・、やっぱりだめですね。

    返信削除
  3. 下記URLからダウンロードしたv1.6.1にて、動作確認できました。
    PC機種は、Sony VAIO-Z SVZ1311AJ Win7 Pro 64Bits
    http://www.waltech.com/ARCHIVE/PL2303/index.html
    ATENのドライバは、バージョンがあがっていました。その他に、秋月のものもためしましたが、動作しませんでした。
    ご報告まで。

    返信削除
    返信
    1. 重要なことを忘れていました。
      インストーラではエラーでsysファイルがインストールできなかったので、
      Cドライブの\Windows\System32\Driver\StoreFileRepositoryの中に
      ser2pl.inf_amd64_neutral_xxxxxxxというフォルダ名で展開されたDriverが保管されていたのをみつけ、このフォルダにあったinfファイルを本説明に従い修正し、デバイスマネージャーから、このフォルダを指定しドライバーの更新操作をしました。これにより、sysファイルがインストールされました。
      確か、この更新操作は、なかなか終了しなかったような...記憶があいまいですみません。
      追加情報です。デバイスマネージャには、通常ポート名が(comxx)形式で付加されますが、「Prolfic USB-to-Serial Comm Port」と表示されるだけで「(com5)」という表記(小生の環境ではCOM5が空いていました)は、ポート名に付加されませんでした。表記の問題だけのようです。動作のほうは、TeratermやHtermで正常です。

      削除