Transferencia de datos USB

Estoy intentando enviar y recibir datos a través de USB, mi dispositivo, el Acer Iconia A500 tiene todo lo necesario para conectarme al dispositivo y todo, está bien y funciona correctamente, pero cuando intento enviar y recibir datos, no se comporta como esperado. Este es mi codigo

<code>for( ; ; ) { //this is the main loop for transferring   
    String get = "$getPos";
    byte[] getBytes = get.getBytes();
    conn.bulkTransfer( epOUT, getBytes, getBytes.length, 500 );

    try {
        Thread.sleep( 500 );
        byte[] buffer = new byte[4096];
        conn.bulkTransfer( epIN, buffer, 4096, 500 );
        StringBuilder byStr = new StringBuilder();

        for( int i = 0; i < buffer.length; i++ ) {
            if( buffer[i] != 0 ) {
                byStr.append( buffer[i] + ", " );
            }
        }

        l( byStr );
    }
    catch( InterruptedException e ) {
        e.printStackTrace();
    }

    if( mStop ) {
        mStopped = true;
        return;
    }

    l( "sent " + counter );
    counter++;
    counter = (byte)( counter % 16 );
}
</code>

Su objetivo es devolver una matriz de bytes de aproximadamente 80 caracteres, pero solo devuelve dos bytes de vuelta, que son 1 y 96, si hubiera un error en el extremo de los dispositivos USB, todavía devolvería unos pocos más que dos. ¿Está mi código incluso cerca de corregir? Lo basé del USB al artículo serial por serverbox.

Respuestas a la pregunta(1)

Su respuesta a la pregunta