I would like to exchange data/commands between a camera and an Android tablet device using the bulkTransfer function. I wrote this Activity, but the method bulkTransfer returns -1 (error status). Why does it return the error?

public class MainActivity extends Activity {

    private TextView text;
    private int TIMEOUT = 1000;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        text = (TextView) findViewById(R.id.txt);
        usbTest();
    }

    private void usbTest() {
        UsbDevice device = (UsbDevice) getIntent().getParcelableExtra(
                                                                      UsbManager.EXTRA_DEVICE);
        if (device == null)
            text.setText("device null");
        else
            text.setText("device not null");

        UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
        HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
        text.setText(text.getText() + "\nDevices connected: "
                     + deviceList.values().size());
        Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();

        while (deviceIterator.hasNext()) {
            device = deviceIterator.next();
            text.setText(text.getText() + "\nDevice name: "
                         + device.getDeviceName());
            text.setText(text.getText() + "\nDevice protocol: "
                         + device.getDeviceProtocol());
            text.setText(text.getText() + "\nDevice id: "
                         + device.getDeviceId());
            text.setText(text.getText() + "\nDevice product id: "
                         + device.getProductId());
            text.setText(text.getText() + "\nDevice vendor id: "
                         + device.getVendorId());
            text.setText(text.
Edit
Report