I have a Huawei ME909s-120. When I switch directly from configuration
to go via configuration #0, and a short delay, and then to configuration
well. So in order to fix it, add config #0 and a 100milliseconds
delay before switching to actual config, like in USB_ModeSwitch.
References: https://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?f=4&t=2710&sid=
505ed44b4064fef7009f0c26aac085e2&start=15
Signed-off-by: Henrik Ginstmark <henrik@ginstmark.se>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [rebased, commit description facelift]
config_new = blobmsg_get_u32(tb[DATA_CONFIG]);
if (libusb_get_configuration(data->devh, &config) ||
- config != config_new)
+ config != config_new) {
+ libusb_set_configuration(data->devh, 0);
+ usleep(100000);
libusb_set_configuration(data->devh, config_new);
+ }
}
if (tb[DATA_ALT]) {