usb_ret = usb_bulk_write(
                pHDev,
                USB_EP1OUT_ADDR,
-               usb_buffer, sizeof(usb_buffer),
+               (char *)usb_buffer, sizeof(usb_buffer),
                USB_TIMEOUT_MS
        );
 
 
                usb_ret = usb_bulk_write(
                        pHDev, USB_EP1OUT_ADDR,
-                       usb_buffer, sizeof(usb_buffer),
+                       (char *)usb_buffer, sizeof(usb_buffer),
                        USB_TIMEOUT_MS
                );
 
 
                        case DTCLOAD_ENTRY:
                                /* store entry addresses somewhere */
-                               if(!strncmp("download", buffer + 1, 8)) {
+                               if(!strncmp("download", (char *)buffer + 1, 8)) {
                                        dtc_entry_download = buffer[0];
                                }
                                break;
        /* read back ep2txr */
        usb_err = usb_bulk_read(
                pHDev, USB_EP1IN_ADDR,
-               &ep2txr, 1,
+               (char *)&ep2txr, 1,
                USB_TIMEOUT_MS
        );
        if(usb_err < 0) return(usb_err);
        /* wait for completion */
        usb_err = usb_bulk_read(
                pHDev, USB_EP1IN_ADDR,
-               &ep2txr, 1,
+               (char *)&ep2txr, 1,
                USB_TIMEOUT_MS
        );
 
        usb_err = usb_bulk_write(
                pHDev,
                USB_EP2OUT_ADDR,
-               command_buffer, USB_EP2BANK_SIZE,
+               (char *)command_buffer, USB_EP2BANK_SIZE,
                USB_TIMEOUT_MS
        );
        if(usb_err < 0) return(usb_err);
                usb_err = usb_bulk_read(
                        pHDev,
                        USB_EP1IN_ADDR,
-                       ep2_buffer, 1,
+                       (char *)ep2_buffer, 1,
                        USB_TIMEOUT_MS
                );
                if(usb_err < 0) return(usb_err);
                usb_err = usb_bulk_read(
                        pHDev,
                        USB_EP2IN_ADDR,
-                       ep2_buffer, sizeof(ep2_buffer),
+                       (char *)ep2_buffer, sizeof(ep2_buffer),
                        USB_TIMEOUT_MS
                );
 
                }
                j = usb_bulk_read(
                        pHDev, USB_EP1IN_ADDR,
-                       reply_buffer, sizeof(reply_buffer),
+                       (char *)reply_buffer, sizeof(reply_buffer),
                        200
                );
                if(j != -ETIMEDOUT) break;
 
        usb_bulk_read(
                pHDev, USB_EP1IN_ADDR,
-               reply_buffer, 1,
+               (char *)reply_buffer, 1,
                USB_TIMEOUT_MS
        );
 
 
        usb_bulk_read(
                pHDev, USB_EP1IN_ADDR,
-               reply_buffer, 1,
+               (char *)reply_buffer, 1,
                USB_TIMEOUT_MS
        );