仮想ちゅうかCOMちゅうか

amelia2007-09-07

開発中USBデバイス製品での測定にて、意味不明な測定値が取得される問題を目の当たりにして阿鼻叫喚の日々が始まるのかと思いきや、再現性を検証する限りかなりの低確率であるため、開発アプリケーションのバグちゅうか環境じゃね?とかになって、そもそも、その測定環境が極悪で、5デバイス接続しつつも、仮想COM接続やハブかました接続も混ぜこぜで、更に仮想COMでの232C通信はOCX利用で、一体全体何が悪いのかの切り分けだけで反吐が出た。
まず、Windows2000(SP4+最新パッチ)の環境で不具合は発生し、それもタイムアウトやDCB取得エラーがランダムに発生。作業者が言うには、Windows2000(SP4)の時は全く症状が発生していなかったとのこと。また、XP(SP2+最新パッチ)では一切発生していないとのこと。
そうなると、セキュアパッチで何かが変わったと考えたいところだが、散々枯れているserial.sysとserenum.sysが今更ねぇ。。と勝手に却下(バージョンさえ確認してない)。な訳で、OCXのバージョンを調べてみると、最新バージョンであるため、何かしら不具合があればネット上でレポートが挙がるはずと調べど何も出てこない。ここで仮想COMドライバを疑えば良いものの、素通りしてXPでの動作が安定しているとのことだから、OCXのバージョンを比べてみると同じ。かと言って、XPとW2Kの違いだけ片付けるちゅうのは道理に反しているちゅうか、何の解決にもならないから、とりあえずXPで作業を進めてもらって、こちらはこちらで色々と調べていたんだけど、USB通信で不安定になるちゅうのが実際にあるらしくて、バスパワー利用時はよくある現象なんだと。個人的には「不安定」とか「相性が悪い」ちゅう表現が大嫌いで、だってデジタル機器のくせに、そんなファジーなこと言っていいの?てなる訳じゃないですか。物理層で言えば、確かに電圧はアナログだからそういうこともあるんだろうけど、何かモヤモヤしつつ、最近、ノートPCユーザが増えているから、仮想COMやらハブとかブチかます環境て平気であり得るよなぁ。。て末恐ろしいものを感じてたりして。とりあえず、232C通信時はCOM接続、USBは直結ちゅうところで検証してみないと、本当何が悪いのか全然分かりませんね。
したら、作業者から「XPでもDCB取得エラーが発生しました」て。うははは。もうお祭りだな。んで、最終的には仮想COMやめてCOM接続にしたら超安定状態だって。
インストしてるFTDIのVCPドライバのバージョンみたら超古いし。まぁ、これが諸悪の根源ちゅう確定はしていないんだけど、WindowsUpdateでドライバレベルがおかしくなることもあるんだなぁと体感。そのくせ、SP4だけだと、SQLServerインストがまともに出来ないんだよな。落ちたりするし。最新状態にすると涼しい顔してインスト完了。全く下層に振り回されるのは嫌なものです。