int readMbr()
{
int lba = 0; // este valor es donde se quiere comenzar a leer, cero por ser el master boot record.
int size = 512; // tamaño de paquete para mandar.
int reuturData;
char mbr[512];
memset(mbr, 0x0, 512); // variable para guardar el mbr retornado.
cbw.signature = 0x43425355;
cbw.tag = 1234;
cbw.dataTransferLenght = sendDataLen;
cbw.CBWFlags = 0x80;
cbw.lun = 0x0;
cbw.CBWCBLenght = 10;
cbw.CBWCommand[0] = 0x25; // este es el valor del comando scsi de lectura.
cbw.CBWCommand[2] = (zero & 0xFF000000) >> 24;
cbw.CBWCommand[3] = (zero & 0xFF0000) >> 16;
cbw.CBWCommand[4] = (zero & 0xFF00) >> 8;
cbw.CBWCommand[5] = (zero & 0xFF);
cbw.CBWCommand[7] = (size & 0xFF00) >> 8;
cbw.CBWCommand[8] = (size & 0xFF);
// enviando el comando cbw.
returnData = usb_bulk_write(devHandle, 0x02, (char *)&cbw, 31, 5000);
// recuperando el mbr.
returnData = usb_bulk_read(devHandle, 0x81, mbr, 512, 5000);
}