|
Activation Codes and Methods, Hardware Details, Sniffing
-
JonTheNiceGuy
- Posts: 7
- Joined: 06 Apr 2013, 12:34
Post
by JonTheNiceGuy » 06 Apr 2013, 23:14
Please feel free to see my research here: http://askubuntu.com/q/278209/212
For the file /usr/share/usb_modeswitch/1bbb:f017 have the following content:
Code: Select all # Alcatel OT-X230D
TargetVendor= 0x1bbb
TargetProduct= 0x0017
MessageEndpoint = 0x01
MessageContent = "55534243785634120100000080000606f50402527000000000000000000000"
Just to add, there are several interfaces which present themselves on this device, labelled as (on my device) ttyUSB0 to ttyUSB5. The GSM modem presents itself as ttyUSB3 in this case.
-
LOM
- Posts: 1404
- Joined: 11 Jul 2012, 15:14
- Location: Koh Samui, TH
Post
by LOM » 07 Apr 2013, 02:53
Thanks for the report but did you try with the values already in the usb_modeswitch datapackage for 1bbb:f017 ?
There are two minor differences between those and the values you have used, one being the MessageEndPoint which is not needed since endpoint 01 is the default endpoint.
The other difference is the 8 digits following 55534243, those 8 digits are a message number which can have any random value but must be unique for a message, another message can not have the same number.
The usb_modeswitch datapackage usually have them as 12345678.
So now we are down to only 1 differing byte, the byte after 12345678 which may or may not be of significance.
The entry from usb_modeswitch datapackage for your reference:
Code: Select all # Alcatel OT-X220D
TargetVendor= 0x1bbb
TargetProduct= 0x0017
MessageContent="55534243123456788000000080000606f50402527000000000000000000000"
I would like to know if there is a need to change the current entry or if it works on the OT-X230D as well.
Can you please also paste the output from lsusb -vd 1bbb:0017 in your reply.
-
JonTheNiceGuy
- Posts: 7
- Joined: 06 Apr 2013, 12:34
Post
by JonTheNiceGuy » 07 Apr 2013, 21:30
Hi LOM.
Soooo.... turns out that my issue wasn't with the config file, but with .... something else.
From the looks of things, the default run of usb_modeswitch (from the udev detection) isn't performing the switch.
I was trying to figure out why the device wasn't picking up the config when I re-ran it to get the output from the lsusb as per your request... so I ran the usb_modeswitch again ( Code: Select all /usr/sbin/usb_modeswitch -I -W -D -s 20 -c /usr/share/usb_modeswitch/1bbb:f017 -u -1 -v 1bbb -p f017 2>&1
) and it brought up the interfaces, so I swapped back the original file, let udev run the modeswitch, and true to form, it failed to modeswitch. Running it again, and it picked up the interfaces again...
So, I don't know whether it's a timeout issue with udev, if it's an issue with usb_modeswitch, or something else.
I don't really know where to go next. Any thoughts?
Knowing I can manually circumvent the issue means I'm in no huge rush for this, but if you've got something I can do, I'm mre than happy to test something to progress it?
Update: D'oh, forgot to add the lsusb thang:
Code: Select all Bus 003 Device 009: ID 1bbb:0017 T & A Mobile Phones
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1bbb T & A Mobile Phones
idProduct 0x0017
bcdDevice 0.00
iManufacturer 3 USBModem
iProduct 2 HSPA Data Card
iSerial 4 1234567890ABCDEF
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 184
bNumInterfaces 7
bConfigurationValue 1
iConfiguration 1 USBModem Configuration
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 5
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 6
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x88 EP 8 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x89 EP 9 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x07 EP 7 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered
-
Josh
- Site Admin
- Posts: 6570
- Joined: 03 Nov 2007, 00:30
Post
by Josh » 08 Apr 2013, 20:54
JonTheNiceGuy wrote:From the looks of things, the default run of usb_modeswitch (from the udev detection) isn't performing the switch.
Could you be a tiny bit more specific? Do you mean the unchanged default installation of usb_modeswitch from the Ubuntu package?
If so, then enable usb_modeswitch's logging as described on the main doc page, paragraph "Troubleshooting". This should give you an extensive switching log in "/var/log".
I suspect the problem is one of these two:
1. the usb_modeswitch wrapper is not working right (Ubuntu has changed the wrapper from my script to a C program)
2. if 1. is not the culprit, there may be timing issues involved.
Anyway, we should be able to see more clearly after looking at the log.
-
JonTheNiceGuy
- Posts: 7
- Joined: 06 Apr 2013, 12:34
Post
by JonTheNiceGuy » 09 Apr 2013, 01:59
Hi Josh,
This is stock usb_modeswitch from Ubuntu 12.10, barring the fact that I've unpacked configPack.tar.gz so I could make my tweaks, but I've reverted them, so that *should* be irrelevant...
Please see below:
Code: Select all USB_ModeSwitch log from Tue Apr 9 00:46:35 2013
Using global config file: /etc/usb_modeswitch.conf
Raw args from udev: /3-3:1.0
Bus ID for device not given by udev.
Trying to determine it from kernel name (3-3:1.0) ...
Using top device dir /sys/bus/usb/devices/3-3
USB dir exists: /sys/bus/usb/devices/3-3
SCSI dir exists: /sys/bus/usb/devices/3-3
Warning: SCSI attribute "vendor" not readable.
Warning: SCSI attribute "model" not readable.
Warning: SCSI attribute "rev" not readable.
----------------
USB values from sysfs:
idVendor 1bbb
idProduct f017
manufacturer USBModem
product HSPA Data Card
serial 1234567890ABCDEF
bNumConfigurations 1
----------------
bNumConfigurations is 1 - don't check for active configuration
Searching entries named: /usr/share/usb_modeswitch/1bbb:f017*
SCSI attributes not needed, moving on.
Using overriden config 1bbb:f017 from collection /usr/share/usb_modeswitch
config: TargetVendor set to 1bbb
config: TargetProduct set to 0017
Driver module is "option", ID path is /sys/bus/usb-serial/drivers/option1
! matched, now switching
Command to be run:
/usr/sbin/usb_modeswitch -I -W -D -s 20 -c /usr/share/usb_modeswitch/1bbb:f017 -u -1 -v 1bbb -p f017 2>&1
Verbose debug output of usb_modeswitch and libusb follows
(Note that some USB errors are expected in the process)
--------------------------------
Reading config file: /usr/share/usb_modeswitch/1bbb:f017
* 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= 0x1bbb
DefaultProduct= 0xf017
TargetVendor= 0x1bbb
TargetProduct= 0x0017
TargetClass= not set
TargetProductList=""
DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint= not set
MessageContent="55534243123456788000000080000606f50402527000000000000000000000"
NeedResponse=0
ResponseEndpoint= not set
InquireDevice disabled
Success check enabled, max. wait time 20 seconds
System integration mode enabled
Looking for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
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 1bbb:f017
found matching vendor ID
found matching product ID
adding device
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
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 002 on bus 003 ...
Skipping the check for the current configuration
Using first interface: 0x00
Using endpoints 0x01 (out) and 0x81 (in)
USB description data (for identification)
-------------------------
Manufacturer: USBModem
Product: HSPA Data Card
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
Resetting response endpoint 0x81
Resetting message endpoint 0x01
Checking for mode switch (max. 20 times, once per second) ...
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
No new devices in target mode or class found
Mode switch has failed. Bye.
fail:
--------------------------------
(end of usb_modeswitch output)
USB dir exists: /sys/bus/usb/devices/3-3
All done, exiting
Then, a few minutes later, I do the following:
Code: Select all jon@minilith:~$ sudo /usr/sbin/usb_modeswitch -I -W -D -s 20 -c /usr/share/usb_modeswitch/1bbb:f017 -u -1 -v 1bbb -p f017 2>&1
[sudo] password for jon:
Reading config file: /usr/share/usb_modeswitch/1bbb:f017
* 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= 0x1bbb
DefaultProduct= 0xf017
TargetVendor= 0x1bbb
TargetProduct= 0x0017
TargetClass= not set
TargetProductList=""
DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint= not set
MessageContent="55534243123456788000000080000606f50402527000000000000000000000"
NeedResponse=0
ResponseEndpoint= not set
InquireDevice disabled
Success check enabled, max. wait time 20 seconds
System integration mode enabled
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
usb_os_find_devices: Found 001 on 003
error obtaining child information: Inappropriate ioctl for device
usb_os_find_devices: Found 002 on 002
usb_os_find_devices: Found 001 on 002
usb_os_find_devices: Found 004 on 001
skipping descriptor 0xB
skipped 1 class/vendor specific endpoint descriptors
skipped 5 class/vendor specific interface descriptors
skipping descriptor 0x25
skipped 1 class/vendor specific endpoint descriptors
skipped 21 class/vendor specific interface descriptors
usb_os_find_devices: Found 003 on 001
skipped 1 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
error obtaining child information: Inappropriate ioctl for device
Looking for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
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 1bbb:f017
found matching vendor ID
found matching product ID
adding device
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
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 002 on bus 003 ...
Skipping the check for the current configuration
Using first interface: 0x00
Using endpoints 0x01 (out) and 0x81 (in)
USB description data (for identification)
-------------------------
Manufacturer: USBModem
Product: HSPA Data Card
Serial No.: 1234567890ABCDEF
-------------------------
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 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
OK, message successfully sent
Resetting response endpoint 0x81
Resetting message endpoint 0x01
Checking for mode switch (max. 20 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 003 on 003
usb_os_find_devices: Found 001 on 003
error obtaining child information: Inappropriate ioctl for device
usb_os_find_devices: Found 002 on 002
usb_os_find_devices: Found 001 on 002
usb_os_find_devices: Found 004 on 001
skipping descriptor 0xB
skipped 1 class/vendor specific endpoint descriptors
skipped 5 class/vendor specific interface descriptors
skipping descriptor 0x25
skipped 1 class/vendor specific endpoint descriptors
skipped 21 class/vendor specific interface descriptors
usb_os_find_devices: Found 003 on 001
skipped 1 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
error obtaining child information: Inappropriate ioctl for device
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:0017
found matching vendor ID
found matching product ID
adding device
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Found target device, now opening
Found target device 003 on bus 003
Target device description data
-------------------------
Manufacturer: USBModem
Product: HSPA Data Card
Serial No.: 1234567890ABCDEF
-------------------------
Found correct target device
Mode switch succeeded. Bye.
ok:1bbb:0017
-
LOM
- Posts: 1404
- Joined: 11 Jul 2012, 15:14
- Location: Koh Samui, TH
Post
by LOM » 09 Apr 2013, 04:12
Thanks for the lsusb listing of the device, the reason I asked for it is bcause of a firmware
change in latest versions of many Alcatel devices which adds a net type interface to the sticks.
My experience from Alcatel sticks is only for sticks with the older firmware and there is afaik no
common switching problem on those.
Your problem may or may not be caused by the new firmware so lets do some tests to find out what
it is in your manual modeswitch command that makes the stick switch.
First disable Ubuntus switching by either commenting out the udev rule or rename the 1bbb:f017 file
in the data package, then replug the stick.
Do a manual modeswitch with the basic modeswitch message:
usb_modeswitch -W -v 0x1bbb -p 0xf017 -V 0x1bbb -P 0x0017 -M 55534243123456788000000080000606f50402527000000000000000000000
and check with lsusb if the stick has switched to 1bbb:0017.
If it hasn't, then wait for 2 minutes and repeat the same command and check the result again.
If still no success then start adding the command line switches you previously used, add them one by one
so we can find out which one makes a difference.
Your -D switch for syslog should not affect the switching and your previous successful switching
was according to the usb_modeswitch output done on the first try so -s 20 should not be needed.
The -c switch is redundant - there is no info in the config file that we don't have on the cmd line.
The stick does only have 1 configuration so the -u -1 cmd switch should not have any effect.
This leaves the -I switch as the one to suspect making a difference so add that one first.
-
JonTheNiceGuy
- Posts: 7
- Joined: 06 Apr 2013, 12:34
Post
by JonTheNiceGuy » 09 Apr 2013, 10:13
With -I works, without doesn't, and in fact, hangs after the usb-storage is disconnected... when it does work, it only works on the second pass. Please see below.
Code: Select all root@minilith:~# date && usb_modeswitch -W -v 0x1bbb -p 0xf017 -V 0x1bbb -P 0x0017 -M 55534243123456788000000080000606f50402527000000000000000000000 -I && date
Tue Apr 9 09:12:15 BST 2013
Taking all parameters from the command line
* 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= 0x1bbb
DefaultProduct= 0xf017
TargetVendor= 0x1bbb
TargetProduct= 0x0017
TargetClass= not set
TargetProductList=""
DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint= not set
MessageContent="55534243123456788000000080000606f50402527000000000000000000000"
NeedResponse=0
ResponseEndpoint= not set
InquireDevice disabled
Success check disabled
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 009 on 003
usb_os_find_devices: Found 001 on 003
error obtaining child information: Inappropriate ioctl for device
usb_os_find_devices: Found 002 on 002
usb_os_find_devices: Found 001 on 002
usb_os_find_devices: Found 004 on 001
skipping descriptor 0xB
skipped 1 class/vendor specific endpoint descriptors
skipped 5 class/vendor specific interface descriptors
skipping descriptor 0x25
skipped 1 class/vendor specific endpoint descriptors
skipped 21 class/vendor specific interface descriptors
usb_os_find_devices: Found 003 on 001
skipped 1 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
error obtaining child information: Inappropriate ioctl for device
Looking for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
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 1bbb:f017
found matching vendor ID
found matching product ID
adding device
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
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 009 on bus 003 ...
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: USBModem
Product: HSPA Data Card
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
Resetting response endpoint 0x81
Resetting message endpoint 0x01
-> Run lsusb to note any changes. Bye.
Tue Apr 9 09:12:16 BST 2013
root@minilith:~# lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 009: ID 1bbb:f017 T & A Mobile Phones
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0489:e046 Foxconn / Hon Hai
Bus 001 Device 004: ID 064e:d251 Suyin Corp.
root@minilith:~# date && usb_modeswitch -W -v 0x1bbb -p 0xf017 -V 0x1bbb -P 0x0017 -M 55534243123456788000000080000606f50402527000000000000000000000 -I && date
Tue Apr 9 09:12:24 BST 2013
Taking all parameters from the command line
* 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= 0x1bbb
DefaultProduct= 0xf017
TargetVendor= 0x1bbb
TargetProduct= 0x0017
TargetClass= not set
TargetProductList=""
DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint= not set
MessageContent="55534243123456788000000080000606f50402527000000000000000000000"
NeedResponse=0
ResponseEndpoint= not set
InquireDevice disabled
Success check disabled
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 009 on 003
usb_os_find_devices: Found 001 on 003
error obtaining child information: Inappropriate ioctl for device
usb_os_find_devices: Found 002 on 002
usb_os_find_devices: Found 001 on 002
usb_os_find_devices: Found 004 on 001
skipping descriptor 0xB
skipped 1 class/vendor specific endpoint descriptors
skipped 5 class/vendor specific interface descriptors
skipping descriptor 0x25
skipped 1 class/vendor specific endpoint descriptors
skipped 21 class/vendor specific interface descriptors
usb_os_find_devices: Found 003 on 001
skipped 1 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
error obtaining child information: Inappropriate ioctl for device
Looking for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 1bbb:f017
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
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 1bbb:f017
found matching vendor ID
found matching product ID
adding device
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:d251
searching devices, found USB ID 0489:e046
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 009 on bus 003 ...
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: USBModem
Product: HSPA Data Card
Serial No.: 1234567890ABCDEF
-------------------------
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 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
OK, message successfully sent
Resetting response endpoint 0x81
Resetting message endpoint 0x01
USB error: could not release intf 0: No such device
Device is gone, skipping any further commands
-> Run lsusb to note any changes. Bye.
Tue Apr 9 09:12:25 BST 2013
root@minilith:~# lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 010: ID 1bbb:0017 T & A Mobile Phones
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0489:e046 Foxconn / Hon Hai
Bus 001 Device 004: ID 064e:d251 Suyin Corp.
root@minilith:~#
-
LOM
- Posts: 1404
- Joined: 11 Jul 2012, 15:14
- Location: Koh Samui, TH
Post
by LOM » 09 Apr 2013, 11:40
ok, so this is similar to before only difference being that you had 1 automatic + 1 manual modeswitch and now have 2 manual instead. It seems like the stick is is slow to leave cd-rom mode and switch over to modem mode.
Is there any difference if you add success checking with lots of retries, something like -s 50 ?
It would be good to know if the problem is time related, if it leaves cd-rom mode by itself when enough time has passed or if
it needs the 2 mode switches.
I see from your log that you have 4 USB buses, is that the number of USB connectors on your motherboard or is it an
additional hub you are using?
What kind of motherboard/hardware?
-
JonTheNiceGuy
- Posts: 7
- Joined: 06 Apr 2013, 12:34
Post
by JonTheNiceGuy » 09 Apr 2013, 19:44
LOM wrote:Is there any difference if you add success checking with lots of retries, something like -s 50 ?
Nope. I tried -s 100, didn't work.
LOM wrote:<snip> or if it needs the 2 mode switches.
Running it twice in succession works. (usb_modeswitch ..... && usb_modeswitch ......) = working
LOM wrote:I see from your log that you have 4 USB buses, is that the number of USB connectors on your motherboard or is it an
additional hub you are using?
What kind of motherboard/hardware?
It's the number of connectors (well, 3+1 for the internal devices).
This is an Acer V5-171. I can provide a dmidecode, but here's a lspci:
Code: Select all 00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
03:00.0 Network controller: Broadcom Corporation BCM43228 802.11a/b/g/n
04:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57785 Gigabit Ethernet PCIe (rev 10)
04:00.1 SD Host controller: Broadcom Corporation NetXtreme BCM57765 Memory Card Reader (rev 10)
-
LOM
- Posts: 1404
- Joined: 11 Jul 2012, 15:14
- Location: Koh Samui, TH
Post
by LOM » 10 Apr 2013, 16:54
JonTheNiceGuy wrote:
LOM wrote:<snip> or if it needs the 2 mode switches.
Running it twice in succession works. (usb_modeswitch ..... && usb_modeswitch ......) = working
ok then it is not related to the time between the modeswitch cmds.
Can you disable the usb_storage kernel driver so it doesn't attach to the sticks storage interface and
see if it then switches with a single command?
Th usb_storage driver was attached and got detached by usb_modeswitch in the 1st pass which failed switching while there was no driver attached in the 2nd successful pass.
-
JonTheNiceGuy
- Posts: 7
- Joined: 06 Apr 2013, 12:34
Post
by JonTheNiceGuy » 10 Apr 2013, 19:29
I checked before inserting the usb device, and usb-storage wasn't loaded. I added usb-storage to /etc/modprobe.d/blacklist.conf, then inserted the stick. Uhoh, usb-storage is loaded. I did rmmod usb-storage, then ran the usb_modeswitch command once... nope didn't work.
-
JonTheNiceGuy
- Posts: 7
- Joined: 06 Apr 2013, 12:34
Post
by JonTheNiceGuy » 15 Apr 2013, 23:59
Sorry, I was away on a course, and got a bit sloppy with my replies.
LOM wrote:Can you disable the usb_storage kernel driver so it doesn't attach to the sticks storage interface and
see if it then switches with a single command?
I'm afraid not. The attached state or not as the case may be of the USB_Storage_Driver made no difference.
LOM wrote:Th usb_storage driver was attached and got detached by usb_modeswitch in the 1st pass which failed switching while there was no driver attached in the 2nd successful pass.
Is there any flag I can pass to say "run me twice"? Is it worth adding another file to /usr/share/usb_modeswitch/ to make it pass the same options twice, or does usb_modeswitch not work like that?
Thanks,
Jon
|
|