diff options
| author | Henrik Ginstmark | 2022-02-07 21:30:40 +0000 |
|---|---|---|
| committer | Petr Štetiar | 2022-02-24 20:40:51 +0000 |
| commit | 3c8595a4e75510f58fa231b145d5506768dcafc9 (patch) | |
| tree | 9e61672e3c257f0819ebfec61aa994c5bd81c62b | |
| parent | f40f84c27534159066c94dadc0c08e0b255c3e26 (diff) | |
| download | usbmode-3c8595a4e75510f58fa231b145d5506768dcafc9.tar.gz | |
usbmode: add config #0 and delay before actual config
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]
| -rw-r--r-- | switch.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -520,8 +520,11 @@ void handle_switch(struct usbdev_data *data) 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]) { |