Eu finalmente encontrei o problema no meu fórum .....
No programa C, havia uma declaração que não era verdadeira e fazia com que a placa falhasse.
No arquivo libk8055.c, a declaração "if ((read_status == PACKET_LEN) & amp;; (CurrDev- > data_in [1] == CurrDev- > DevNo))" era falsa ....
static int ReadK8055Data (void) { int read_status = 0, i = 0;
if (CurrDev->DevNo == 0) return K8055_ERROR;
for(i=0; i < 3; i++)
{
read_status = usb_interrupt_read(CurrDev->device_handle, USB_INP_EP, (char *)CurrDev->data_in, PACKET_LEN, USB_TIMEOUT);
if ((read_status == PACKET_LEN) && (CurrDev->data_in[1] == 11 )) //not sure why it must be 11
return 0;
if (DEBUG)
fprintf(stderr, "Read retry\n");
}
return K8055_ERROR;
}