Finally, this is the same usb_modeswitch, but now on the USB2 (without udev, for comparison): * usb_modeswitch: handle USB devices with multiple modes * Version 1.2.3 (C) Josua Dietze 2012 * Based on libusb0 (0.1.12 and above) ! PLEASE REPORT NEW CONFIGURATIONS ! DefaultVendor= 0x19d2 DefaultProduct= 0x2000 TargetVendor= 0x19d2 TargetProduct= not set TargetClass= not set TargetProductList="0001,0002,0015,0016,0017,0031,0037,0052,0055,0063,0064,0066,0091,0108,0117,0128,0157,1402,2002,2003" DetachStorageOnly=0 HuaweiMode=0 SierraMode=0 SonyMode=0 QisdaMode=0 GCTMode=0 KobilMode=0 SequansMode=0 MobileActionMode=0 CiscoMode=0 MessageEndpoint= not set MessageContent="5553424312345678000000000000061e000000000000000000000000000000" MessageContent2="5553424312345679000000000000061b000000020000000000000000000000" MessageContent3="55534243123456702000000080000c85010101180101010101000000000000" NeedResponse=1 ResponseEndpoint= not set InquireDevice disabled Success check enabled, max. wait time 10 seconds System integration mode disabled usb_set_debug: Setting debugging level to 15 (on) usb_os_find_busses: Found 004 usb_os_find_busses: Found 003 usb_os_find_busses: Found 002 usb_os_find_busses: Found 001 usb_os_find_devices: Found 001 on 004 skipping descriptor 0x30 skipped 1 class/vendor specific endpoint descriptors usb_os_find_devices: Found 002 on 003 skipped 1 class/vendor specific interface descriptors usb_os_find_devices: Found 001 on 003 error obtaining child information: Inappropriate ioctl for device usb_os_find_devices: Found 019 on 002 usb_os_find_devices: Found 004 on 002 usb_os_find_devices: Found 002 on 002 usb_os_find_devices: Found 001 on 002 error obtaining child information: Inappropriate ioctl for device error obtaining child information: Inappropriate ioctl for device usb_os_find_devices: Found 003 on 001 skipping descriptor 0xFF skipping descriptor 0xB skipped 2 class/vendor specific endpoint descriptors skipped 7 class/vendor specific interface descriptors skipping descriptor 0x25 skipped 1 class/vendor specific endpoint descriptors skipped 28 class/vendor specific interface descriptors skipped 2 class/vendor specific interface descriptors usb_os_find_devices: Found 002 on 001 usb_os_find_devices: Found 001 on 001 error obtaining child information: Inappropriate ioctl for device Looking for target devices ... searching devices, found USB ID 1d6b:0003 searching devices, found USB ID 045e:074f searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 19d2:2000 found matching vendor ID searching devices, found USB ID 8086:0189 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 0408:2fb1 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 No devices in target mode or class found Looking for default devices ... searching devices, found USB ID 1d6b:0003 searching devices, found USB ID 045e:074f searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 19d2:2000 found matching vendor ID found matching product ID adding device searching devices, found USB ID 8086:0189 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 0408:2fb1 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 Found device in default mode, class or configuration (1) Accessing device 019 on bus 002 ... Getting the current device configuration ... OK, got current device configuration (1) Using first interface: 0x00 Using endpoints 0x01 (out) and 0x81 (in) USB description data (for identification) ------------------------- Manufacturer: ONDA,Incorporated Product: ONDA CDMA Technologies MSM Serial No.: 1234567890ABCDEF ------------------------- Looking for active driver ... OK, driver found ("usb-storage") OK, driver "usb-storage" detached Setting up communication with interface 0 Using endpoint 0x01 for message sending ... Trying to send message 1 to endpoint 0x01 ... OK, message successfully sent Reading the response to message 1 (CSW) ... OK, response successfully read (13 bytes). Trying to send message 2 to endpoint 0x01 ... OK, message successfully sent Reading the response to message 2 (CSW) ... OK, response successfully read (13 bytes). Trying to send message 3 to endpoint 0x01 ... OK, message successfully sent Reading the response to message 3 (CSW) ... OK, response successfully read (0 bytes). Resetting response endpoint 0x81 USB error: could not clear/halt ep 129: Protocol error Could not reset endpoint (probably harmless): -71 Resetting message endpoint 0x01 USB error: could not clear/halt ep 1: Protocol error Could not reset endpoint (probably harmless): -71 USB error: could not release intf 0: No such device Device is gone, skipping any further commands Checking for mode switch (max. 10 times, once per second) ... Searching for target devices ... usb_os_find_busses: Found 004 usb_os_find_busses: Found 003 usb_os_find_busses: Found 002 usb_os_find_busses: Found 001 usb_os_find_devices: Found 001 on 004 skipping descriptor 0x30 skipped 1 class/vendor specific endpoint descriptors usb_os_find_devices: Found 002 on 003 skipped 1 class/vendor specific interface descriptors usb_os_find_devices: Found 001 on 003 error obtaining child information: Inappropriate ioctl for device usb_os_find_devices: Found 004 on 002 usb_os_find_devices: Found 002 on 002 usb_os_find_devices: Found 001 on 002 error obtaining child information: Inappropriate ioctl for device usb_os_find_devices: Found 003 on 001 skipping descriptor 0xFF skipping descriptor 0xB skipped 2 class/vendor specific endpoint descriptors skipped 7 class/vendor specific interface descriptors skipping descriptor 0x25 skipped 1 class/vendor specific endpoint descriptors skipped 28 class/vendor specific interface descriptors skipped 2 class/vendor specific interface descriptors usb_os_find_devices: Found 002 on 001 usb_os_find_devices: Found 001 on 001 error obtaining child information: Inappropriate ioctl for device searching devices, found USB ID 1d6b:0003 searching devices, found USB ID 045e:074f searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 8086:0189 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 0408:2fb1 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 Searching for target devices ... usb_os_find_busses: Found 004 usb_os_find_busses: Found 003 usb_os_find_busses: Found 002 usb_os_find_busses: Found 001 usb_os_find_devices: Found 001 on 004 skipping descriptor 0x30 skipped 1 class/vendor specific endpoint descriptors usb_os_find_devices: Found 002 on 003 skipped 1 class/vendor specific interface descriptors usb_os_find_devices: Found 001 on 003 error obtaining child information: Inappropriate ioctl for device usb_os_find_devices: Found 004 on 002 usb_os_find_devices: Found 002 on 002 usb_os_find_devices: Found 001 on 002 error obtaining child information: Inappropriate ioctl for device usb_os_find_devices: Found 003 on 001 skipping descriptor 0xFF skipping descriptor 0xB skipped 2 class/vendor specific endpoint descriptors skipped 7 class/vendor specific interface descriptors skipping descriptor 0x25 skipped 1 class/vendor specific endpoint descriptors skipped 28 class/vendor specific interface descriptors skipped 2 class/vendor specific interface descriptors usb_os_find_devices: Found 002 on 001 usb_os_find_devices: Found 001 on 001 error obtaining child information: Inappropriate ioctl for device searching devices, found USB ID 1d6b:0003 searching devices, found USB ID 045e:074f searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 8086:0189 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 0408:2fb1 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 Searching for target devices ... usb_os_find_busses: Found 004 usb_os_find_busses: Found 003 usb_os_find_busses: Found 002 usb_os_find_busses: Found 001 usb_os_find_devices: Found 001 on 004 skipping descriptor 0x30 skipped 1 class/vendor specific endpoint descriptors usb_os_find_devices: Found 002 on 003 skipped 1 class/vendor specific interface descriptors usb_os_find_devices: Found 001 on 003 error obtaining child information: Inappropriate ioctl for device usb_os_find_devices: Found 004 on 002 usb_os_find_devices: Found 002 on 002 usb_os_find_devices: Found 001 on 002 error obtaining child information: Inappropriate ioctl for device usb_os_find_devices: Found 003 on 001 skipping descriptor 0xFF skipping descriptor 0xB skipped 2 class/vendor specific endpoint descriptors skipped 7 class/vendor specific interface descriptors skipping descriptor 0x25 skipped 1 class/vendor specific endpoint descriptors skipped 28 class/vendor specific interface descriptors skipped 2 class/vendor specific interface descriptors usb_os_find_devices: Found 002 on 001 usb_os_find_devices: Found 001 on 001 error obtaining child information: Inappropriate ioctl for device searching devices, found USB ID 1d6b:0003 searching devices, found USB ID 045e:074f searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 8086:0189 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 0408:2fb1 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 Searching for target devices ... usb_os_find_busses: Found 004 usb_os_find_busses: Found 003 usb_os_find_busses: Found 002 usb_os_find_busses: Found 001 usb_os_find_devices: Found 001 on 004 skipping descriptor 0x30 skipped 1 class/vendor specific endpoint descriptors usb_os_find_devices: Found 002 on 003 skipped 1 class/vendor specific interface descriptors usb_os_find_devices: Found 001 on 003 error obtaining child information: Inappropriate ioctl for device usb_os_find_devices: Found 004 on 002 usb_os_find_devices: Found 002 on 002 usb_os_find_devices: Found 001 on 002 error obtaining child information: Inappropriate ioctl for device usb_os_find_devices: Found 003 on 001 skipping descriptor 0xFF skipping descriptor 0xB skipped 2 class/vendor specific endpoint descriptors skipped 7 class/vendor specific interface descriptors skipping descriptor 0x25 skipped 1 class/vendor specific endpoint descriptors skipped 28 class/vendor specific interface descriptors skipped 2 class/vendor specific interface descriptors usb_os_find_devices: Found 002 on 001 usb_os_find_devices: Found 001 on 001 error obtaining child information: Inappropriate ioctl for device searching devices, found USB ID 1d6b:0003 searching devices, found USB ID 045e:074f searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 8086:0189 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 0408:2fb1 searching devices, found USB ID 8087:0024 searching devices, found USB ID 0408:2fb1 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 Searching for target devices ... usb_os_find_busses: Found 004 usb_os_find_busses: Found 003 usb_os_find_busses: Found 002 usb_os_find_busses: Found 001 usb_os_find_devices: Found 001 on 004 skipping descriptor 0x30 skipped 1 class/vendor specific endpoint descriptors usb_os_find_devices: Found 002 on 003 skipped 1 class/vendor specific interface descriptors usb_os_find_devices: Found 001 on 003 error obtaining child information: Inappropriate ioctl for device usb_os_find_devices: Found 004 on 002 usb_os_find_devices: Found 002 on 002 usb_os_find_devices: Found 001 on 002 error obtaining child information: Inappropriate ioctl for device usb_os_find_devices: Found 003 on 001 skipping descriptor 0xFF skipping descriptor 0xB skipped 2 class/vendor specific endpoint descriptors skipped 7 class/vendor specific interface descriptors skipping descriptor 0x25 skipped 1 class/vendor specific endpoint descriptors skipped 28 class/vendor specific interface descriptors skipped 2 class/vendor specific interface descriptors usb_os_find_devices: Found 002 on 001 usb_os_find_devices: Found 001 on 001 error obtaining child information: Inappropriate ioctl for device searching devices, found USB ID 1d6b:0003 searching devices, found USB ID 045e:074f searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 8086:0189 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 0408:2fb1 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 Searching for target devices ... usb_os_find_busses: Found 004 usb_os_find_busses: Found 003 usb_os_find_busses: Found 002 usb_os_find_busses: Found 001 usb_os_find_devices: Found 001 on 004 skipping descriptor 0x30 skipped 1 class/vendor specific endpoint descriptors usb_os_find_devices: Found 002 on 003 skipped 1 class/vendor specific interface descriptors usb_os_find_devices: Found 001 on 003 error obtaining child information: Inappropriate ioctl for device usb_os_find_devices: Found 020 on 002 usb_os_find_devices: Found 004 on 002 usb_os_find_devices: Found 002 on 002 usb_os_find_devices: Found 001 on 002 error obtaining child information: Inappropriate ioctl for device error obtaining child information: Inappropriate ioctl for device usb_os_find_devices: Found 003 on 001 skipping descriptor 0xFF skipping descriptor 0xB skipped 2 class/vendor specific endpoint descriptors skipped 7 class/vendor specific interface descriptors skipping descriptor 0x25 skipped 1 class/vendor specific endpoint descriptors skipped 28 class/vendor specific interface descriptors skipped 2 class/vendor specific interface descriptors usb_os_find_devices: Found 002 on 001 usb_os_find_devices: Found 001 on 001 error obtaining child information: Inappropriate ioctl for device searching devices, found USB ID 1d6b:0003 searching devices, found USB ID 045e:074f searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 19d2:0037 found matching vendor ID found matching product ID from list searching devices, found USB ID 8086:0189 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 searching devices, found USB ID 0408:2fb1 searching devices, found USB ID 8087:0024 searching devices, found USB ID 1d6b:0002 Found target device, now opening Found target device 020 on bus 002 Target device description data ------------------------- Manufacturer: ONDA,Incorporated Product: ONDA CDMA Technologies MSM Serial No.: 1234567890ABCDEF ------------------------- Found correct target device Mode switch succeeded. Bye.