Switching of Samsung LTE modem does no longer work in Natty

Bug #769816 reported by Marius B. Kotsbak
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Usb Modeswitch
Fix Released
Undecided
Josua Dietze
usb-modeswitch (Ubuntu)
Fix Released
Medium
Unassigned
usb-modeswitch-data (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: usb-modeswitch

After upgrading to Ubuntu natty, it stopped working:

Turned on logging and it gives:

USB_ModeSwitch log from Sun Apr 24 11:53:14 CEST 2011

raw args from udev: /1-1.4:1.0

Using global config file: /etc/usb_modeswitch.conf
Bus ID for device not given by udev.
 Trying to determine it from kernel name (1-1.4:1.0) ...
USB dir exists: /sys/bus/usb/devices/1-1.4
Warning: USB attribute "product" not found.
Warning: USB attribute "serial" not found.
----------------
USB values from sysfs:
  manufacturer SAMSUNG ELECTRONICS Co.Ltd.
  product
  serial
----------------
Found packed config collection /usr/share/usb_modeswitch/configPack.tar.gz
Searching overriding entries named: /etc/usb_modeswitch.d/04e8:689a*
SCSI attributes not needed, moving on
checking config: 04e8:689a
Extracting config 04e8:689a from collection /usr/share/usb_modeswitch/configPack.tar.gz
! matched, now switching
 (running command: /usr/sbin/usb_modeswitch -I -W -c /var/lib/usb_modeswitch/current_cfg)

And running the command above:

$ sudo /usr/sbin/usb_modeswitch -I -W -c /var/lib/usb_modeswitch/current_cfg

Reading config file: /var/lib/usb_modeswitch/current_cfg

 * usb_modeswitch: handle USB devices with multiple modes
 * Version 1.1.6 (C) Josua Dietze 2010
 * Based on libusb0 (0.1.12 and above)

 ! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor= 0x04e8
DefaultProduct= 0x689a
TargetVendor= 0x04e8
TargetProduct= 0x6889
TargetClass= not set
TargetProductList=""

DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
GCTMode=0
KobilMode=0
MessageEndpoint= not set
MessageContent="55534243785634120100000080000601000000000000000000000000000000"
NeedResponse=0
ResponseEndpoint= not set
Interface=0x00

InquireDevice disabled
Success check enabled, max. wait time 20 seconds
System integration mode disabled

usb_set_debug: Setting debugging level to 15 (on)
usb_os_find_busses: Found 005
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 005
usb_os_find_devices: Found 001 on 004
usb_os_find_devices: Found 001 on 003
usb_os_find_devices: Found 001 on 002
usb_os_find_devices: Found 010 on 001
usb_os_find_devices: Found 006 on 001
usb_os_find_devices: Found 005 on 001
usb_os_find_devices: Found 004 on 001
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 003 on 001
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
error obtaining child information: Inappropriate ioctl for device
error obtaining child information: Inappropriate ioctl for device
error obtaining child information: Inappropriate ioctl for device

Looking for target devices ...
  searching devices, found USB ID 1d6b:0001
  searching devices, found USB ID 1d6b:0001
  searching devices, found USB ID 1d6b:0001
  searching devices, found USB ID 1d6b:0001
  searching devices, found USB ID 04e8:689a
   found matching vendor ID
  searching devices, found USB ID 0a5c:200a
  searching devices, found USB ID 041e:4036
  searching devices, found USB ID 046d:c00c
  searching devices, found USB ID 05e3:0606
  searching devices, found USB ID 0409:0058
  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:0001
  searching devices, found USB ID 1d6b:0001
  searching devices, found USB ID 1d6b:0001
  searching devices, found USB ID 1d6b:0001
  searching devices, found USB ID 04e8:689a
   found matching vendor ID
   found matching product ID
   adding device
  searching devices, found USB ID 0a5c:200a
  searching devices, found USB ID 041e:4036
  searching devices, found USB ID 046d:c00c
  searching devices, found USB ID 05e3:0606
  searching devices, found USB ID 0409:0058
  searching devices, found USB ID 1d6b:0002
 Found devices in default mode, class or configuration (1)
Accessing device 010 on bus 001 ...
Getting the current device configuration ...
USB error: error sending control message: Connection timed out
Error: getting the current configuration failed (error -110). Aborting.

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: usb-modeswitch 1.1.7-1
ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
Uname: Linux 2.6.38-8-generic x86_64
NonfreeKernelModules: nvidia
Architecture: amd64
Date: Sun Apr 24 12:00:34 2011
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100427.1)
ProcEnviron:
 LANGUAGE=nb_NO:en
 PATH=(custom, user)
 LANG=nb_NO.UTF-8
 SHELL=/bin/bash
SourcePackage: usb-modeswitch
UpgradeStatus: Upgraded to natty on 2011-04-23 (0 days ago)

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :
Revision history for this message
Marius B. Kotsbak (mariusko) wrote :
Download full text (4.5 KiB)

From dmesg after insertion of modem:

[15720.012212] usb 6-4: new high speed USB device using xhci_hcd and address 2
[15720.055860] xhci_hcd 0000:02:00.0: WARN: short transfer on control ep
[15720.061987] xhci_hcd 0000:02:00.0: WARN: short transfer on control ep
[15720.178609] usbcore: registered new interface driver uas
[15720.299690] Initializing USB Mass Storage driver...
[15720.301353] scsi4 : usb-storage 6-4:1.0
[15720.301995] usbcore: registered new interface driver usb-storage
[15720.302005] USB Mass Storage support registered.
[15722.212292] usb 6-4: usbfs: USBDEVFS_CONTROL failed cmd usb_modeswitch rqt 128 rq 8 len 1 ret -110

Syslog:

Apr 24 17:06:28 marius-T1005 kernel: [15720.012212] usb 6-4: new high speed USB device using xhci_hcd and address 2
Apr 24 17:06:28 marius-T1005 kernel: [15720.055860] xhci_hcd 0000:02:00.0: WARN: short transfer on control ep
Apr 24 17:06:28 marius-T1005 kernel: [15720.061987] xhci_hcd 0000:02:00.0: WARN: short transfer on control ep
Apr 24 17:06:28 marius-T1005 kernel: [15720.178609] usbcore: registered new interface driver uas
Apr 24 17:06:28 marius-T1005 kernel: [15720.299690] Initializing USB Mass Storage driver...
Apr 24 17:06:28 marius-T1005 kernel: [15720.301353] scsi4 : usb-storage 6-4:1.0
Apr 24 17:06:28 marius-T1005 kernel: [15720.301995] usbcore: registered new interface driver usb-storage
Apr 24 17:06:28 marius-T1005 kernel: [15720.302005] USB Mass Storage support registered.
Apr 24 17:06:30 marius-T1005 kernel: [15722.212292] usb 6-4: usbfs: USBDEVFS_CONTROL failed cmd usb_modeswitch rqt 128 rq 8 len 1 ret -110
Apr 24 17:07:00 marius-T1005 kernel: [15752.148579] usb 6-4: reset high speed USB device using xhci_hcd and address 2
Apr 24 17:07:20 marius-T1005 kernel: [15772.148110] xhci_hcd 0000:02:00.0: Timeout while waiting for a slot
Apr 24 17:07:40 marius-T1005 kernel: [15792.354307] xhci_hcd 0000:02:00.0: Timeout while waiting for a slot
Apr 24 17:07:41 marius-T1005 kernel: [15792.556070] usb 6-4: device not accepting address 2, error -62
Apr 24 17:07:41 marius-T1005 kernel: [15792.668208] usb 6-4: reset high speed USB device using xhci_hcd and address 2
Apr 24 17:07:41 marius-T1005 kernel: [15792.668234] usb 6-4: Device not responding to set address.
Apr 24 17:07:41 marius-T1005 kernel: [15792.872132] usb 6-4: Device not responding to set address.
Apr 24 17:07:41 marius-T1005 kernel: [15793.076087] usb 6-4: device not accepting address 2, error -71
Apr 24 17:07:41 marius-T1005 kernel: [15793.188253] usb 6-4: reset high speed USB device using xhci_hcd and address 2
Apr 24 17:07:41 marius-T1005 kernel: [15793.188274] usb 6-4: Device not responding to set address.
Apr 24 17:07:41 marius-T1005 kernel: [15793.423827] xhci_hcd 0000:02:00.0: xHCI xhci_drop_endpoint called with disabled ep ed8091e0
Apr 24 17:07:41 marius-T1005 kernel: [15793.423843] xhci_hcd 0000:02:00.0: xHCI xhci_drop_endpoint called with disabled ep ed80920c
Apr 24 17:07:41 marius-T1005 kernel: [15793.430282] xhci_hcd 0000:02:00.0: WARN: babble error on endpoint
Apr 24 17:07:41 marius-T1005 kernel: [15793.540635] usb 6-4: reset high speed USB device using xhci_hcd and address 2
Apr 24 17:07:42 marius-T1005 kernel: [15793.5717...

Read more...

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

 I tried to install the usb-modeswitch/-data packages from maverick on my Natty and it worked then, so it is quite clear a regression in usb-modeswitch.

Priority of this bug should be set to release critical, given that it breaks with other modems than mine too.

tags: added: i386
Revision history for this message
Josua Dietze (digidietze) wrote :

May the libusb package be a suspect here?

I had no problems during my 1.1.7 source code tests with the old libusb0 and the libusb1 "compatible" installation on maverick. Other tests included all major distributions, with no obvious problems.

The source code line that leads to the error you see is this one:
ret = usb_control_msg(devh, USB_DIR_IN + USB_TYPE_STANDARD + USB_RECIP_DEVICE, USB_REQ_GET_CONFIGURATION, 0, 0, buffer, 1, 1000);

This is a standard device request included in the "Universal Serial Bus Specification Revision 2.0". So it's likely an implementation problem.

Revision history for this message
Josua Dietze (digidietze) wrote :

May I ask to what other affected modems you are referring to ?

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Modems that are working in Maverick. Those should work in Natty too. I only have the Samsung modem (which is not yet supported until I finish the kernel/NM drivers/plugins) at the moment as my ZTE modem fully working in Maverick is on service.

Do you or anybody else have a modem to test with the daily build live CD too ee if this bug affects other modems, to decide the severity of the bug.

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

As it worked with the maverick packages, I suppose libusb is not to blame if it is dynamically loaded?

Revision history for this message
Josua Dietze (digidietze) wrote :

The question is if natty is using a different libusb version than maverick.

What if you install 1.1.7 from the upstream source on maverick? Same error?

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Japp, but I installed the packages for Maverick on my Natty installation, and it worked. Unfortunately I don't have any Maverick installations anymore. Is there any versions in between the two versions that I could try to narrow down the code change that broke it?

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Exchanging usb_modeswitch.c in the Natty package with the version in 1.1.4 and building the package it works, so it is confirmed that some change in that file broke it (and not extra Ubuntu patches). I could not find a place to download the 1.1.5 and 1.1.6 versions. Are they available somewhere?

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Josua,
I don't think it's libusb; and this is most likely specific to particular devices since my ZTE MF636 switches without issues. Here are the relevant changes between the version in Maverick (libusb 2:0.1.2-15ubuntu2) and Natty (2:0.1.2-17). It's pretty small changes, and I'd otherwise expect 1.1.4 not to work on Natty if libusb broke something.

Marius,
You may want to look at the pages on snapshot.debian.org: http://snapshot.debian.org/package/usb-modeswitch/
There you should find all the uploads of usb-modeswitch that were made to debian, including uploads that are no longer in the distribution (superseded). Using the packages from Debian is fine since this is already what we do for usb-modeswitch. That way you can probably figure out where differences are, if it yields any useful information about this particular issue..

Changed in usb-modeswitch (Ubuntu):
importance: Undecided → Medium
tags: added: regression-release
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Marius, I'll set this to incomplete so we get notified when you add information about your testing with 1.1.5 or 1.1.6 (I'd say, try 1.1.6 first); or if Josua has further questions.

Please also see if there's a difference between configurations for that device on different versions of usb-modeswitch-data.

Changed in usb-modeswitch (Ubuntu):
status: New → Incomplete
Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

I have tried earlier versions found at that URL, and it seems to stop working at 1.1.5-1:

 Found devices in default mode or class (1)
Accessing device 016 on bus 001 ...
Getting the current device configuration ...
USB error: error sending control message: Connection timed out
Error: getting the current configuration failed (error -110). Aborting.

Attached the diff between 1.1.4 and 1.1.5 for usb_modeswitch.c. I have already confirmed it has nothing to do with the files in usb-modeswitch-data.

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

I must add that from my driver development for that device, I know it is a bit quirky in that it makes this ETIMEDOUT (-110) if it is accessed at two interfaces at the same time. Mabye that is what the new code does. Anyway its a regression damaging support for this device, that I hope to soon support with kernel- and modemmanager modules.

Changed in usb-modeswitch (Ubuntu):
status: Incomplete → New
summary: - Switching does no longer work in Natty
+ Switching of Samsung LTE modem does no longer work in Natty
Revision history for this message
Josua Dietze (digidietze) wrote :

Again, the "offending" line is the one I posted in #4. The time-out for this control transfer is set to "1000" which is one second.

Can you try to change that to "2000" or more and see if there is any change?

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Josua: tried the following patch:

--- usb-modeswitch-1.1.7.orig/usb_modeswitch.c
+++ usb-modeswitch-1.1.7/usb_modeswitch.c
@@ -1387,7 +1387,7 @@ int get_current_configuration(struct usb
        int ret;

        SHOW_PROGRESS("Getting the current device configuration ...\n");
- ret = usb_control_msg(devh, USB_DIR_IN + USB_TYPE_STANDARD + USB_RECIP_DEVICE, USB_REQ_GET_CONFIGURATION, 0, 0, buffer, 1, 1000);
+ ret = usb_control_msg(devh, USB_DIR_IN + USB_TYPE_STANDARD + USB_RECIP_DEVICE, USB_REQ_GET_CONFIGURATION, 0, 0, buffer, 1, 2000);
        if (ret < 0) {
                fprintf(stderr, "Error: getting the current configuration failed (error %d). Aborting.\n\n", ret);
                exit(1);

without any success (same error). What is this "get_current_configuration" used for and why was it not needed in the 1.1.4 version? In the worst case, we may possibly add a switch for a quirky mode to switch this modem?

It could possibly be done in the kernel module as well, but I'm not sure how easy it is to do inside the usbnet framework.

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Same with timeout of 10 000, just takes longer time to time out.

Revision history for this message
Josua Dietze (digidietze) wrote :

Before version 1.1.5 some devices popped up which want to be switched by changing the device configuration. USB allows to provide multiple internal "modes" that can be set with SELECT_CONFIGURATION.

In fact, that is how the whole mode switching SHOULD have been implemented while following the specs.

Now, to handle multiple configurations, the current configuration (out of all possible) has to be determined properly. Up to version 1.1.4 the class of interfaces and other parameters were taken from the USB device structure by looking into "dev->config[0]".
Strictly, this is only correct for devices with just a single possible configuration. As soon as there are more than one configurations, the ACTIVE configuration (which may have been set before) has to be determined. It could be "dev->config[1]" or something else.

Therefore the GET_CONFIGURATION command is needed which must be implemented by every USB device.

I have collected five modems from different "families"; none of them had any problems with this request when testing on seven different distributions (and kernels) so I did not expect this command to fail except in really hopeless cases ...
What I would do in your case (and probably in the next release), is to simply add a little quirk handling instead of just aborting:

[...]
if (ret < 0) {
    fprintf(stderr, "Error getting the current configuration (error %d). Falling back to configuration 1.\n", ret);
    if (Configuration) {
        fprintf(stderr, " No configuation setting possible for this device.\n", ret);
        Configuration = 0;
    }
    return 1;
}
[...]

Revision history for this message
Josua Dietze (digidietze) wrote :

Copy-n-paste error in line 4 of the code. It should look like this, of course:

    fprintf(stderr, " No configuation setting possible for this device.\n");

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Hmm, where is this change? In get_current_configuration() there is no "Configuration" variable. Then the "if (Configuration)" doesn't make sense. Do you have a patch against the Ubuntu patched version?

I tried something similar, and then I got: "Error: getting the interface class failed. Aborting."

I then set interface class to 0 in those cases.

The patch of what I did is:

--- usb-modeswitch-1.1.7.orig/usb_modeswitch.c
+++ usb-modeswitch-1.1.7/usb_modeswitch.c
@@ -409,8 +409,8 @@ int main(int argc, char **argv)
        defaultClass = dev->descriptor.bDeviceClass;
        interfaceClass = get_interface0_class(dev, currentConfig);
        if (interfaceClass == -1) {
- fprintf(stderr, "Error: getting the interface class failed. Aborting.\n\n");
- exit(1);
+ fprintf(stderr, "Error: getting the interface class failed. Falling back to assuming it is 0 (Defined at Interface level).\n\n");
+ interfaceClass = 0;
        }

        if (defaultClass == 0)
@@ -1389,8 +1389,8 @@ int get_current_configuration(struct usb
        SHOW_PROGRESS("Getting the current device configuration ...\n");
        ret = usb_control_msg(devh, USB_DIR_IN + USB_TYPE_STANDARD + USB_RECIP_DEVICE, USB_REQ_GET_CONFIGURATION, 0, 0, buffer, 1, 1000);
        if (ret < 0) {
- fprintf(stderr, "Error: getting the current configuration failed (error %d). Aborting.\n\n", ret);
- exit(1);
+ fprintf(stderr, "Error: getting the current configuration failed (error %d). Falling back to configuration 1.\n", ret);
+ return 0;
        } else {
                SHOW_PROGRESS(" OK, got current device configuration (%d)\n", buffer[0]);
                return buffer[0];

Attached the new error log.

Revision history for this message
Josua Dietze (digidietze) wrote :

"Configuration" is global, like the other switching parameters.
If the current configuration cannot be determined correctly, configuration switching will be skipped. This will not affect YOUR case.

So you are saying you get the next error during interface class detection? I'm beginning to suspect that something is wrong with the USB device structure that is created for your device.

Here is how it is supposed to look like:
http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?p=3078#3078
What is "lsusb -v -d 04e8:689a" spitting out on your Natty system?

Regarding any Ubuntu patches, I don't think there are any different from the Debian patches:
http://patch-tracker.debian.org/package/usb-modeswitch/1.1.7-1
Not one of them is affecting the C source.

BTW, I upgraded to Natty yesterday, and so far all my seven modems (I was wrong about "five") did not show any problem when tested on the default installation.

Changed in usb-modeswitch (Ubuntu):
status: New → Incomplete
status: Incomplete → Confirmed
Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Japp, it looks exactly like in that forum post. What about using options to usb_modeswitch to make it behave like before for this modem and set those in the config file for the device? Are all the options configurable through the config file now?

I know the device is very quirky. Seems like they have just implemented enough to get the windows and mac driver working (even that is a bit unstable). This is the same with the AT command support. If you don't talk with it like it expects (like modemmanager doing some general handling), it stops talking with you until the modem is reinserted.

I was thinking about doing the switch from the kernel module since the device require a custom one, but now that usb_modeswitch also tries to switch the modem, it probably would increase the timeout problems without removing that config.

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Strange, on another ARM based NAS box, I get a timeout even with v1.1.4:

-------------------------
Manufacturer: SAMSUNG ELECTRONICS Co.Ltd.
     Product: not provided
  Serial No.: not provided
-------------------------
Looking for active driver ...
USB error: could not get bound driver: No data available
 No driver found. Either detached before or never attached
Setting up communication with interface 0 ...
Using endpoint 0x06 for message sending ...
Trying to send message 1 to endpoint 0x06 ...
 OK, message successfully sent
Resetting response endpoint 0x85
USB error: could not clear/halt ep 133: Connection timed out
 Error resetting endpoint: -110
Resetting message endpoint 0x06
-> Run lsusb to note any changes. Bye.

-bash-3.2$ /sbin/lsusb
Bus 001 Device 012: ID 04e8:689a Samsung Electronics Co., Ltd

Revision history for this message
Josua Dietze (digidietze) wrote :

If you want, test the freshly released version 1.1.8 from source. Debian packages should be up soon but are probably not fully compatible with Ubuntu.

I changed the logic and the implementation of the active-configuration check. This check will now only be done if "bNumConfigurations" is bigger than 1.

And even in that case you can override the check by setting "Configuration=-1" in the config file.

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :
Download full text (11.0 KiB)

Okay, I tried it now. Just running it gives:

$ sudo ./usb_modeswitch -IW -c /etc/usb_modeswitch.d/04e8\:689a

Reading config file: /etc/usb_modeswitch.d/04e8:689a

 * usb_modeswitch: handle USB devices with multiple modes
 * Version 1.1.8 (C) Josua Dietze 2011
 * Based on libusb0 (0.1.12 and above)

 ! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor= 0x04e8
DefaultProduct= 0x689a
TargetVendor= 0x04e8
TargetProduct= 0x6889
TargetClass= not set
TargetProductList=""

DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
MessageEndpoint= not set
MessageContent="55534243785634120100000080000601000000000000000000000000000000"
NeedResponse=0
ResponseEndpoint= not set
Interface=0x00

InquireDevice disabled
Success check enabled, max. wait time 20 seconds
System integration mode disabled

usb_set_debug: Setting debugging level to 15 (on)
usb_os_find_busses: Found 005
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 005
usb_os_find_devices: Found 001 on 004
usb_os_find_devices: Found 001 on 003
usb_os_find_devices: Found 001 on 002
usb_os_find_devices: Found 011 on 001
usb_os_find_devices: Found 006 on 001
usb_os_find_devices: Found 005 on 001
usb_os_find_devices: Found 004 on 001
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 003 on 001
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
error obtaining child information: Inappropriate ioctl for device
error obtaining child information: Inappropriate ioctl for device
error obtaining child information: Inappropriate ioctl for device

Looking for target devices ...
  searching devices, found USB ID 1d6b:0001
  searching devices, found USB ID 1d6b:0001
  searching devices, found USB ID 1d6b:0001
  searching devices, found USB ID 1d6b:0001
  searching devices, found USB ID 04e8:689a
   found matching vendor ID
  searching devices, found USB ID 0a5c:200a
  searching devices, found USB ID 041e:4036
  searching devices, found USB ID 046d:c00c
  searching devices, found USB ID 05e3:0606
  searching devices, found USB ID 0409:0058
  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:0001
  searching devices, found USB ID 1d6b:0001
  searching devices, found USB ID 1d6b:0001
  searching devices, found USB ID 1d6b:0001
  searching devices, found USB ID 04e8:689a
   found matching vendor ID
   found matching product ID
   adding device
  searching devices, found USB ID 0a5c:200a
  searching devices, found USB ID 041e:4036
  searching devices, found USB ID 046d:c00c
  searching devices, found USB ID 05e3:0606
  searching devices, found USB ID 0409:0058
  searching devices, found USB ID 1d6b:0002
 Found devices in default mode, class or configuration (1)
Accessing device 011 on bus 001 ...
Getting the current device configuration ...
USB error: error sending control message: Connection timed out
Error getting the curren...

Changed in usb-modeswitch:
assignee: nobody → Josua Dietze (digidietze)
status: New → Fix Released
Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Hmm, could we get a backport of just that new feature into 1.1.7 version, so that we can get rid of this bug before next Ubuntu?

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Or maybe it is easier to try to get the new version into backports.

Changed in usb-modeswitch:
status: Fix Released → Triaged
Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Josua, can you get this updated file attached into the next release. It has the line "Configuration=-1" added. We should have an updated version of the data package for Oneiric.

Ubuntu packager: if we don't get a new version, the current version should be patched with this change.

Changed in usb-modeswitch (Ubuntu):
status: Confirmed → Fix Released
Changed in usb-modeswitch-data (Ubuntu):
status: New → Confirmed
tags: added: oneiric
summary: - Switching of Samsung LTE modem does no longer work in Natty
+ Switching of Samsung LTE modem does no longer work in Natty+
Revision history for this message
Josua Dietze (digidietze) wrote : Re: Switching of Samsung LTE modem does no longer work in Natty+

Hmm, "Configuration=-1" is usable only from usb_modeswitch version 1.1.8. Starting with that version, the configuration check is skipped anyway if "bNumConfigurations" is 1; this applies also to the Samsung device.

In short, updating just the config file with 1.1.7 will fail - updating the program version will make a config file change obsolete.

Revision history for this message
Josua Dietze (digidietze) wrote :

Note: the current version is 1.1.9 which adds support for the Cisco AM10 Wifi stick. Just mentioning.

Revision history for this message
Josua Dietze (digidietze) wrote :

Re-reading the bug thread, I noticed the problem in #25.

The usb_modeswitch automatic "framework" will skip the configuration test; actually it will run the binary with the "-u -1" parameter.

Your test in #25 failed because you called the binary manually on the commandline. If you want, test again with all the files in place, not just the binary.

Config files make sense only in the context of automatic mode switching.

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Josua, thanks for investigating this. You are right, it actually works fine when I tested the latest Oneiric alpha.

Changed in usb-modeswitch:
status: Triaged → Fix Released
Changed in usb-modeswitch-data (Ubuntu):
status: Confirmed → Fix Released
summary: - Switching of Samsung LTE modem does no longer work in Natty+
+ Switching of Samsung LTE modem does no longer work in Natty
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.