PCIe接続のUSRP-2954でInvalid Parameter??

こんにちは。今週はドルフィンシステム福島の担当です。

3月も今月で終わって来週から新年度ですね。

ドルフィンシステムは9月決算なので「4月から新年度」という気分は薄いのですが、桜が咲いたり子供の学年が変わると、新年度という気分になります。

2018/04/09 問題解決しました。→USRP-RIOのInvalid Parameterエラーが解決

USRP-RIOの使い方と接続方式

最近、ドルフィンシステムで開発するSDR機器といえば、USRP-RIO一色です。

比較的手軽な価格と最大160MHzBWとFPGA搭載などスペックも十分なので、お客様からの型番指名で開発を行うことも多くなってきました。

またUSRP-RIOは接続方式が多様な点も魅力です。

USRP-RIOの接続方式の主力はPCIe接続で、PXIシャーシ、デスクトップPC、ノートPCの3種類のPCと接続できます。

複数台高速大容量ならPXIシャーシ

PXIeインタフェースカード

複数台や組み込みならPC

PCIeインタフェースカード

ノードとして使用するならノートPC

ExpressCardインタフェース

と使い方に合わせて接続方式を柔軟に選択できるのがSDR機器のいい点ですね。

PCIe接続のUSRP-2954でInvalid Parameter??

最近USRP-RIOをPCIeインタフェースカードを使ってデスクトップPCと接続していることが多いのですが、その中で不可解なエラーに遭遇しました。

Invalid parameter. The offset to start reading from or writing to is out-of-ranage or too high for the subsystem.

ちょっと意味が分かりませんが、LabVIEWのソフトがおかしいというよりも、PCIe Subsystemのエラーのようです。

clip_image001

原因を探る

このエラーは突然発生しました。

エラーが発生したPCには、複数枚のPCIeインタフェースカードを接続していて、そのうち1枚にUSRR-RIOを接続しています。

昨日まで問題なく使っていて、特にソフトウェアは何も変えていません。

USRP-RIOのサンプルを動作させてもこのエラーが発生しますので、PCIe接続がおかしくなった?のでしょうか。

デバイスマネージャを見てもNI-MAXで接続状態を見ても、全く問題なく認識しています。

他にこのエラーに遭遇している人はいないかと

"-1074100545" invalid parameter"

で検索してみると、発見。

Error -1074100545 occurred at niusrprio_read.gvi.5240001

https://forums.ni.com/t5/LabVIEW-Communications-System/Error-1074100545-occurred-at-niusrprio-read-gvi-5240001/td-p/3612059

NIのフォーラムに投稿されていました。投稿されている内容は、私と違いLabVIEW Communications上で発生していますが、エラーの内容は全く同じです。

ですが、解決に結びつく情報は何もなし。

この方はどうやって解決したのでしょうか?

clip_image002

いろいろと試してみる

仕方ないので自分でどうにかします。

まずはシャットダウンの。PCもUSRP-RIOも一度電源断して再投入します。

ですが、何も変わらず。

次は接続しているPCIeインタフェースカードを変えてみます。

ですが、何も変わらず。同じエラーが発生します。

さらに隣のPCIeインタフェースカードに変えてみます。

すると、エラーは発生せず!

一体何が悪いのでしょうか?その後は何度電源断からの再起動を繰り返しても問題ありません。

まとめ

今回は不可解な現象が発生し、

接続しているPCIeインタフェースカードを変えることで現象が発生しなくなりました。

ですが、原因が分からず発生しなくなっただけなので、解決したとは言い切れません。

今回複数枚のPCIeインタフェースカードがあったからよいものの、1枚だけの場合解決したかどうか不明です。

USRP-RIOを使用して"Invalid Error"が発生したら、以下の手順で動作確認をしてください。

  1. 別のPCIeインタフェースカードに挿入して動作確認する。
  2. PCIeインタフェースカードが1枚だけの場合以下の手順で動作確認します(私だったら)。
  3. PCIeインタフェースカードをデバイスマネージャでドライバごと削除し電源断。
  4. 次にPCIeインタフェースカードを抜いた状態でWindowsを起動し電源断。
  5. 再度PCIeインタフェースカードを挿入してWindowsを起動してドライバをインストールされたことを確認して、動作確認する。

というわけで、原因不明な不可解な現象も発生しますので、開発は気を抜いてはいけないですね。

私たちドルフィンシステムは、今回ご紹介したような不可解な現象も乗り越えてSDRシステムの開発を行っており、お客様の要望に応じた最適な無線システムを提案しています。

SDRを用いた無線システムのご要望はドルフィンシステムへ。

以上、ドルフィンシステム福島でした。

コメント