[Armadillo:05627] Armadillo-220でのUSB、HID通信について

os prod email@hidden
2010年 8月 16日 (月) 23:22:56 JST


溝渕様

すみません。再度質問させて下さい。
カーネルのUPデートはうまくいったのですが
肝心のUSB,HIDへアクセスがうまくいきません
(キーボードのサンプルは正常に動いてます)

内容としましては4byteの命令コードを送信して18byteが返ってくる仕様です。
それで送信、受信のresultの数はともに4byte,18byteと正しいのですが
バッファに入ってくる値が正しくないのです。

アクセス方法は
dev->config->interface->altsetting->bInterfaceClass=3
からHIDと判断して
送信時:
char msg1[]={0x00,0x13,0x01,0x00};
result=usb_interrupt_write(dh, 1,msg1, sizeof(msg1), l_Timeout);
if(result<0){printf ("_Control message error. (%s)\n", usb_strerror());}
printf("Sresult1=%d \n",result);//4

受信時:
char readbuf[18];
memset( readbuf, 0, 18 );
printf("ep=%d \n",ep);//129
result=usb_interrupt_read(dh, ep, readbuf, sizeof(readbuf), l_Timeout);
printf("result=%d \n",result);//18
if(result<0){printf ("interrupt read error. (%s)\n", usb_strerror());}
l_RBLen = (int)sizeof(readbuf);
for(i=0;i<l_RBLen;i++)
{
printf("_readbuf[%d]=%d \n",i,readbuf[i]);
}

です。
その他でバルクでの読書やusb_get_string_simple等々色々試してはいるのですが。。。

Windowsでの
Private Declare Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" (pTo As Any, uFrom As Any, ByVal lSize As Long)
Private Declare Function RtlMoveMemory Lib "kernel32" (dest As Any, src As Any, ByVal Count As Long) As Long
での方法うまくいくようです。

あと下記の箇所もご教授頂けると助かります。
libusbのバージョンが古いのかと思いlibusb-0.1-4_0.1.12-5_arm.debから
libusb-0.1-4_0.1.12-13_arm.debへバージョンアップを
行いたいのですが下記のエラーでうまくUpDateができません

実行コマンド:
dpkg-cross -a arm -b libusb-0.1-4_0.1.12-13_arm.deb libusb-dev_0.1.12-13_arm.deb
dpkg -i libusb-0.1-4-arm-cross_0.1.12-13_all.deb libusb-dev-arm-cross_0.1.12-13_all.deb

結果:
//----------------------------------------------------------------------------------------
email@hidden:/home/atmark# dpkg -i libusb-0.1-4-arm-cross_0.1.12-13_all.deb libusb-dev-arm-cross_0.1.12-13_all.deb
(データベースを読み込んでいます ... 現在 80661 個のファイルとディレクトリがインストールされています。)
libusb-0.1-4-arm-cross 2:0.1.12-5 を (libusb-0.1-4-arm-cross_0.1.12-13_all.deb で) 置換するための準備をしています ...
libusb-0.1-4-arm-cross を展開し、置換しています...
libusb-dev-arm-cross 2:0.1.12-5 を (libusb-dev-arm-cross_0.1.12-13_all.deb で) 置換するための準備をしています ...
libusb-dev-arm-cross を展開し、置換しています...
dpkg: 依存関係の問題により libusb-0.1-4-arm-cross の設定ができません:
 libusb-0.1-4-arm-cross は以下に依存 (depends) します: libc6-arm-cross (>= 2.7-1) ...しかし:
システム上の libc6-arm-cross のバージョン は 2.3.6.ds1-13etch2 です。
dpkg: libusb-0.1-4-arm-cross の処理中にエラーが発生しました (--install):
 依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により libusb-dev-arm-cross の設定ができません:
 libusb-dev-arm-cross は以下に依存 (depends) します: libusb-0.1-4-arm-cross (= 2:0.1.12-13) ...しかし:
  パッケージ libusb-0.1-4-arm-cross はまだ設定されていません。
 libusb-dev-arm-cross は以下に依存 (depends) します: libusb-0.1-4-arm-dcv1 ...しかし:
  パッケージ libusb-0.1-4-arm-dcv1 はまだインストールされていません。
  パッケージ libusb-0.1-4-arm-cross は libusb-0.1-4-arm-dcv1 を提供していますが、まだ設定されていません。
dpkg: libusb-dev-arm-cross の処理中にエラーが発生しました (--install):
 依存関係の問題 - 設定を見送ります
以下のパッケージの処理中にエラーが発生しました:
 libusb-0.1-4-arm-cross
 libusb-dev-arm-cross
//----------------------------------------------------------------------------------------


ATDEのバージョンはatde2-20090403です。
dmegとUSBの情報はファイルに添付しています。

ベンダーID,プロダクトIDは
idVendor=1234, idProduct=0001
です。


ヒントや、予想とかでもよいので宜しくお願い致します。

/島袋

 
 		 	   		  
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://lists.atmark-techno.com/pipermail/armadillo/attachments/20100816/560a3fa9/attachment.html>
-------------- next part --------------
文字コード指定の無い添付文書を保管しました...
名前: USB情報.txt
URL:  <http://lists.atmark-techno.com/pipermail/armadillo/attachments/20100816/560a3fa9/attachment.txt>


armadillo メーリングリストの案内