There is nothing orderly about the whole mode-switching business. From the system's view it's no different than a physical unplug and reinsert of a device. The word "API" does not come to my mind at all.
For usb_modeswitch as such, timing is not important - in theory. The tipping point *should* be the driver detachement that is done by libusb. In my simple thinking, I expect to have full control over the device from then on. I can obviously send and receive data and control messages. So how can the system keep a hold of the device? There is one more idea to check. What if the system is grabbing the device again *after* the switching message was issued and the device handle is released? Can it be that the 3.0 driver is just so fast (or "clever") that it re-owns the device immediately? To test this, there is a parameter called "ReleaseDelay" that will cause usb_modeswitch to hold the device under its control for any number of milliseconds. One modem family (BandLuxe) actually requires this to complete the mode switch. BTW, I just tried my whole modem collection (9 sticks!) on Ubuntu 12.04 x64, up to date, in the only USB 3.0 port that I have. Neither a delay_use of "1" nor one of "0" caused any disruption at all. So I'm still sure there is some hardware involved in this. See the xHCI errors in the logs above, even when using the standard "eject" tool. Unfortunately, this means that I have no way to help with testing ... -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to usb-modeswitch in Ubuntu. https://bugs.launchpad.net/bugs/979697 Title: Modeswitching modem not working with some USB 3.0 host controllers Status in The Linux Kernel: Invalid Status in Usb Modeswitch: New Status in “libusb” package in Ubuntu: Invalid Status in “linux” package in Ubuntu: Invalid Status in “usb-modeswitch” package in Ubuntu: Confirmed Bug description: Modem switches fine in USB2 ports, but when connected to USB3 port, it does not work. The log says it is switching: Apr 12 10:42:11 marius-T1005 usb_modeswitch: switching device 19d2:0166 on 006/0 02 but the USB device ID does not change: Bus 006 Device 002: ID 19d2:0166 ZTE WCDMA Technologies MSM When connected to a USB2/combined USB2/eSata, it gives: Bus 001 Device 036: ID 19d2:0167 ZTE WCDMA Technologies MSM and working modem. ProblemType: Bug DistroRelease: Ubuntu 12.04 Package: usb-modeswitch 1.2.3+repack0-1ubuntu2 ProcVersionSignature: Ubuntu 3.2.0-23.36-generic-pae 3.2.14 Uname: Linux 3.2.0-23-generic-pae i686 ApportVersion: 2.0.1-0ubuntu2 Architecture: i386 Date: Thu Apr 12 10:43:59 2012 EcryptfsInUse: Yes ProcEnviron: LANGUAGE=nb_NO:nb:no_NO:no:nn_NO:nn:en TERM=xterm PATH=(custom, user) LANG=nb_NO.UTF-8 SHELL=/bin/bash SourcePackage: usb-modeswitch UpgradeStatus: No upgrade log present (probably fresh install) --- AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24. AplayDevices: **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC269VB Analog [ALC269VB Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 ApportVersion: 2.0.1-0ubuntu2 Architecture: i386 ArecordDevices: **** List of CAPTURE Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC269VB Analog [ALC269VB Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 AudioDevicesInUse: USER PID ACCESS COMMAND /dev/snd/controlC0: marius 2044 F.... pulseaudio CRDA: country NO: (2402 - 2482 @ 40), (N/A, 20) (5170 - 5250 @ 40), (N/A, 20) (5250 - 5330 @ 40), (N/A, 20), DFS (5490 - 5710 @ 40), (N/A, 27), DFS Card0.Amixer.info: Card hw:0 'Intel'/'HDA Intel at 0x98200000 irq 52' Mixer name : 'Realtek ALC269VB' Components : 'HDA:10ec0269,1458b100,00100100' Controls : 16 Simple ctrls : 9 DistroRelease: Ubuntu 12.04 EcryptfsInUse: Yes HibernationDevice: RESUME=UUID=49e028f9-7435-4850-8244-8523020782de KnownReport: https://bugs.launchpad.net/bugs/452814 MachineType: GIGABYTE T1005 Package: usb-modeswitch 1.2.3+repack0-1ubuntu2 PackageArchitecture: i386 ProcEnviron: LANGUAGE=nb_NO:nb:no_NO:no:nn_NO:nn:en TERM=xterm PATH=(custom, user) LANG=nb_NO.UTF-8 SHELL=/bin/bash ProcFB: 0 inteldrmfb ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-23-generic-pae root=UUID=f1d0446d-3ea3-46a7-9842-8773acca78e6 ro quiet splash i8042.noloop=1 vt.handoff=7 ProcVersionSignature: Ubuntu 3.2.0-23.36-generic-pae 3.2.14 RelatedPackageVersions: linux-restricted-modules-3.2.0-23-generic-pae N/A linux-backports-modules-3.2.0-23-generic-pae N/A linux-firmware 1.78 RfKill: 0: phy0: Wireless LAN Soft blocked: no Hard blocked: no Tags: precise precise Uname: Linux 3.2.0-23-generic-pae i686 UpgradeStatus: No upgrade log present (probably fresh install) UserGroups: adm cdrom dialout dip lpadmin plugdev sambashare sudo dmi.bios.date: 08/30/2010 dmi.bios.vendor: GIGABYTE dmi.bios.version: GSBF05 dmi.board.asset.tag: Base Board Asset Tag dmi.board.name: T1005 dmi.board.vendor: GIGABYTE dmi.board.version: Base Board Version dmi.chassis.asset.tag: Chassis Asset Tag dmi.chassis.type: 1 dmi.chassis.vendor: Chassis Manufacturer dmi.chassis.version: Chassis Version dmi.modalias: dmi:bvnGIGABYTE:bvrGSBF05:bd08/30/2010:svnGIGABYTE:pnT1005:pvrGSBF05:rvnGIGABYTE:rnT1005:rvrBaseBoardVersion:cvnChassisManufacturer:ct1:cvrChassisVersion: dmi.product.name: T1005 dmi.product.version: GSBF05 dmi.sys.vendor: GIGABYTE mtime.conffile..etc.usb.modeswitch.conf: 2012-04-12T10:51:06.199846 --- AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24. AplayDevices: **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC269VB Analog [ALC269VB Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 ApportVersion: 2.0.1-0ubuntu7 Architecture: i386 ArecordDevices: **** List of CAPTURE Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC269VB Analog [ALC269VB Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 AudioDevicesInUse: USER PID ACCESS COMMAND /dev/snd/controlC0: marius 2046 F.... pulseaudio Card0.Amixer.info: Card hw:0 'Intel'/'HDA Intel at 0x98200000 irq 52' Mixer name : 'Realtek ALC269VB' Components : 'HDA:10ec0269,1458b100,00100100' Controls : 16 Simple ctrls : 9 DistroRelease: Ubuntu 12.04 EcryptfsInUse: Yes HibernationDevice: RESUME=UUID=49e028f9-7435-4850-8244-8523020782de MachineType: GIGABYTE T1005 Package: usb-modeswitch 1.2.3+repack0-1ubuntu2 PackageArchitecture: i386 ProcEnviron: LANGUAGE=nb_NO:nb:no_NO:no:nn_NO:nn:en TERM=xterm PATH=(custom, user) LANG=nb_NO.UTF-8 SHELL=/bin/bash ProcFB: 0 inteldrmfb ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-24-generic-pae root=UUID=f1d0446d-3ea3-46a7-9842-8773acca78e6 ro quiet splash i8042.noloop=1 vt.handoff=7 ProcVersionSignature: Ubuntu 3.2.0-24.38-generic-pae 3.2.16 RelatedPackageVersions: linux-restricted-modules-3.2.0-24-generic-pae N/A linux-backports-modules-3.2.0-24-generic-pae N/A linux-firmware 1.79 RfKill: 0: phy0: Wireless LAN Soft blocked: no Hard blocked: no Tags: precise precise Uname: Linux 3.2.0-24-generic-pae i686 UpgradeStatus: No upgrade log present (probably fresh install) UserGroups: adm cdrom dialout dip lpadmin plugdev sambashare sudo dmi.bios.date: 08/30/2010 dmi.bios.vendor: GIGABYTE dmi.bios.version: GSBF05 dmi.board.asset.tag: Base Board Asset Tag dmi.board.name: T1005 dmi.board.vendor: GIGABYTE dmi.board.version: Base Board Version dmi.chassis.asset.tag: Chassis Asset Tag dmi.chassis.type: 1 dmi.chassis.vendor: Chassis Manufacturer dmi.chassis.version: Chassis Version dmi.modalias: dmi:bvnGIGABYTE:bvrGSBF05:bd08/30/2010:svnGIGABYTE:pnT1005:pvrGSBF05:rvnGIGABYTE:rnT1005:rvrBaseBoardVersion:cvnChassisManufacturer:ct1:cvrChassisVersion: dmi.product.name: T1005 dmi.product.version: GSBF05 dmi.sys.vendor: GIGABYTE modified.conffile..etc.usb.modeswitch.conf: [modified] mtime.conffile..etc.usb.modeswitch.conf: 2012-04-12T10:51:06.199846 --- AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24. AplayDevices: **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC269VB Analog [ALC269VB Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 ApportVersion: 2.0.1-0ubuntu7 Architecture: i386 ArecordDevices: **** List of CAPTURE Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC269VB Analog [ALC269VB Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 AudioDevicesInUse: USER PID ACCESS COMMAND /dev/snd/controlC0: marius 2046 F.... pulseaudio Card0.Amixer.info: Card hw:0 'Intel'/'HDA Intel at 0x98200000 irq 52' Mixer name : 'Realtek ALC269VB' Components : 'HDA:10ec0269,1458b100,00100100' Controls : 16 Simple ctrls : 9 DistroRelease: Ubuntu 12.04 EcryptfsInUse: Yes HibernationDevice: RESUME=UUID=49e028f9-7435-4850-8244-8523020782de MachineType: GIGABYTE T1005 Package: usb-modeswitch 1.2.3+repack0-1ubuntu2 PackageArchitecture: i386 ProcEnviron: LANGUAGE=nb_NO:nb:no_NO:no:nn_NO:nn:en TERM=xterm PATH=(custom, user) LANG=nb_NO.UTF-8 SHELL=/bin/bash ProcFB: 0 inteldrmfb ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-24-generic-pae root=UUID=f1d0446d-3ea3-46a7-9842-8773acca78e6 ro quiet splash i8042.noloop=1 vt.handoff=7 ProcVersionSignature: Ubuntu 3.2.0-24.38-generic-pae 3.2.16 RelatedPackageVersions: linux-restricted-modules-3.2.0-24-generic-pae N/A linux-backports-modules-3.2.0-24-generic-pae N/A linux-firmware 1.79 RfKill: 0: phy0: Wireless LAN Soft blocked: no Hard blocked: no Tags: precise precise Uname: Linux 3.2.0-24-generic-pae i686 UpgradeStatus: No upgrade log present (probably fresh install) UserGroups: adm cdrom dialout dip lpadmin plugdev sambashare sudo dmi.bios.date: 08/30/2010 dmi.bios.vendor: GIGABYTE dmi.bios.version: GSBF05 dmi.board.asset.tag: Base Board Asset Tag dmi.board.name: T1005 dmi.board.vendor: GIGABYTE dmi.board.version: Base Board Version dmi.chassis.asset.tag: Chassis Asset Tag dmi.chassis.type: 1 dmi.chassis.vendor: Chassis Manufacturer dmi.chassis.version: Chassis Version dmi.modalias: dmi:bvnGIGABYTE:bvrGSBF05:bd08/30/2010:svnGIGABYTE:pnT1005:pvrGSBF05:rvnGIGABYTE:rnT1005:rvrBaseBoardVersion:cvnChassisManufacturer:ct1:cvrChassisVersion: dmi.product.name: T1005 dmi.product.version: GSBF05 dmi.sys.vendor: GIGABYTE mtime.conffile..etc.usb.modeswitch.conf: 2012-04-12T10:51:06.199846 --- ApportVersion: 2.5.1-0ubuntu7 Architecture: i386 DistroRelease: Ubuntu 12.10 EcryptfsInUse: Yes Package: usb-modeswitch 1.2.3+repack0-1ubuntu2 PackageArchitecture: i386 ProcEnviron: LANGUAGE=nb_NO:nb:no_NO:no:nn_NO:nn:en TERM=xterm PATH=(custom, no user) LANG=nb_NO.UTF-8 SHELL=/bin/bash Tags: quantal running-unity quantal running-unity Uname: Linux 3.6.0-030600rc4-generic i686 UnreportableReason: The running kernel is not an Ubuntu kernel UpgradeStatus: Upgraded to quantal on 2012-08-31 (7 days ago) UserGroups: adm cdrom dialout dip lpadmin plugdev sambashare sudo mtime.conffile..etc.usb.modeswitch.conf: 2012-04-12T10:51:06.199846 To manage notifications about this bug go to: https://bugs.launchpad.net/linux/+bug/979697/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp