バルク転送を送信していますが、デバイスで停止しています(ケーブルの両端にコードを書き込んでいます)。私は自家製のコントロール転送をSET_FEATURE ENDPOINT_HALTをエンドポイントに送信しています。アボートが完了すると、CLEAR_FEATURE ENDPOINT_HALTをフォローしてエンドポイントを回復し、再度使用します。埋め込みデバッガでは、デバイスでクリアされていることを確認できます。しかし、ブラウザでは、エンドポイントでのその後の転送には、非常に役に立たない「転送に失敗しました」というメッセージ(コード1)が表示されます。私は、インターネット上で見つけたものからchrome.usbの停止からの復旧方法は?
if (errorCode == 4) {
var ENDPOINT_HALT = 0;
var CLEAR_FEATURE = 0x01;
controlTransfer(currentDevice, {direction: 'out', recipient: 'endpoint', requestType: 'standard',
request: CLEAR_FEATURE, value: ENDPOINT_HALT, index: 1, data: new ArrayBuffer(0)}, genericErrorFilter());
}
、libusbは、エンドポイントが回復されたカーネルを伝えるために、ホスト側のストールをクリアするための特別な機能を持っており、それは、その内部構造でそれを反映すべきです。この関数はchrome.usbには表示されません。
Chromeの停止から復旧する方法はありますか?または、進行中のバルク転送を停止するためにデバイスから別の回復可能な方法がありますか?
私はMac OS XとChrome Canaryを使用しています。
私は、デバイスの完全な再取得が続く)chrome.usb.resetDeviceを(実行して失速した後に実行するために管理を考えます。 – nraynaud
編集率は屋根の上にありますが、すぐにシェイクスピアの質には未回答の質問があります。 – nraynaud