|
Automatic Activation, Hotplug and UDEV, Configuration
-
D3m0N81
- Posts: 9
- Joined: 09 Feb 2014, 00:59
Post
by D3m0N81 » 09 Feb 2014, 09:10
- Recently bought a Laptop with Ubuntu 12.04LS(Kernel 3.2.0-39-generic) on it.
- I'm unable to `plug & use` iBall 3.5G Connect v2.0 USB DataCard
- However, on the same OS Huawei E1731 USB DataCard works perfectly 'plug & use(play)'.
- Huawei E1731 comes with separate installer(.bin) for Linux, however doesn't need manual intervention. iBall3.5G comes with only 'scripts' that I'm attaching below.
- both HuaweiE1731 & iBall3.5G have AirTel SIM but different Mobile#(MSISDN/MDN)
- both HuaweiE1731 & iBall3.5G work on WinXP(SP3), thanks to bundled drivers s/w(AutoRun)
/var/log/kern.log excerpt when USB Data Card is plugged in:(Invalid Interface)
Code: Select all root@SiRi-Inspiron-3521:~# tailf /var/log/kern.log
kernel: [12598.373601] usb 3-4: USB disconnect, device number 11
kernel: [12607.331240] usb 3-2: new high-speed USB device number 12 using xhci_hcd
kernel: [12607.348772] usb 3-2: config 1 has an invalid interface number: 5 but max is 0
kernel: [12607.348788] usb 3-2: config 1 has no interface number 0
kernel: [12607.352291] scsi21 : usb-storage 3-2:1.5
kernel: [12608.352700] scsi 21:0:0:0: CD-ROM 3G Modem Mass Storage 2.31 PQ: 0 ANSI: 2
kernel: [12608.357251] sr1: scsi-1 drive
kernel: [12608.357554] sr 21:0:0:0: Attached scsi CD-ROM sr1
kernel: [12608.357754] sr 21:0:0:0: Attached scsi generic sg3 type 5
And Vendor & Product ID details:
Code: Select all root@SiRi-Inspiron-3521:~# lsusb
Bus 003 Device 012: ID 05c6:f000 Qualcomm, Inc.
Verbose Details:
Code: Select all root@SiRi-Inspiron-3521:~# lsusb -v -d 05c6:f000
Bus 003 Device 012: ID 05c6:f000 Qualcomm, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x05c6 Qualcomm, Inc.
idProduct 0xf000
bcdDevice 0.00
iManufacturer 3
iProduct 2 iBall 3.5G Wireless Modem
iSerial 4 1234567890ABCDEF
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 1 iBall 3.5G Wireless Modem
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 5
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 0
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 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 0
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
Data card has shell scripts to configure & run the MoDem:
dialup shell script; run as root(sudo)
- it's apparent that /dev/ttyUSB2 is used for data
Code: Select all # after some sanity checks
sudo modprobe option
sudo chmod 777 /sys/bus/usb-serial/drivers/option1/new_id
[b]sudo echo 05C6 0016 > /sys/bus/usb-serial/drivers/option1/new_id[/b]
sleep 3
if [ "$(ls /dev/ttyUSB* |grep "ttyUSB2")" != "" ]
then
echo "now connect to the internet......" -n 1
pppd call wcdma &
read -p "wait for dial up.... " -n 1
else
echo "Please check the datacard is plugged in and the cdrom has been ejected!"
read -p "Press any key to exit.... " -n 1
exit -1
fi
wcdma file which is called from dialup script:
- Telecom Operator doesn't provide username/password
Code: Select all /dev/ttyUSB2
460800
modem
debug
nodetach
usepeerdns
defaultroute
user
password
0.0.0.0:0.0.0.0
lcp-echo-interval 120
asyncmap 0xa0000
connect 'chat -s -v -f /etc/ppp/peers/w-connect-chat'
w-connect-chat file which is referred in wcdma
Code: Select all TIMEOUT 15
'' ATZ
OK ATQ0
OK ATV1
OK ATE1
OK ATS0=0
OK AT&C1
OK AT&D2
OK AT+CGDCONT=1,"IP","airtelgprs.com"
# Set your APN replace airtelgprs.com
#OK AT+CGEQREQ=1,2,0,0,0,0,0,1500,"0E0","0E0",,0,0
OK ATDT*99#
CONNECT ''
1. After spending hours on Internet I found sudo echo 05C6 0016 > /sys/bus/usb-serial/drivers/option1/new_id
should work and give me some /dev/ttyUSBx.
2. Also cross checked TargetVendor:TargetProduct pair using SniffUSB.exe on winXP, it's 05C6:0016. dialup shell script seems to be in right direction.
PS: I did juggle with suggestions given on over a dozen websites about gnome-ppp, minicom, modprobe, usb_modeswitch etc. None of them worked out for me.
Am I right assuming that first the command sudo echo 05C6 0016 > /sys/bus/usb-serial/drivers/option1/new_id should generate some /dev/ttyUSBx dev files?
Please push me in right direction.
-
LOM
- Posts: 1404
- Joined: 11 Jul 2012, 15:14
- Location: Koh Samui, TH
Post
by LOM » 09 Feb 2014, 11:44
Adding the Target id to the option drivers new_id function is one of the last step you'll have to do, first you'll have to make the dongle switch from default mode.
05c6:f000 , the default id, is supported by usb_modeswitch since years back so your dongle ought to switch automaticall if you have usb_modeswitch installed.
Your dmesg log will in such case show an usb bus detection of 05c6:f000 which will disappear when usb_modeswitch has sent the switch ctrl message, the dongle will then reappear but this time with the 05c6:0016 id.
It may be that iBall has used a different switch message than the one used for a previous dongle with the same default id, it has happened before and especially for devices with a Qualcomm vendor id.
Please upload your windows sniff log here so I can see what makes it switch.
-
D3m0N81
- Posts: 9
- Joined: 09 Feb 2014, 00:59
Post
by D3m0N81 » 09 Feb 2014, 16:32
I've attached the USBSnoop.log for the action iBall3..5G is plugged in. Also other files which I though might help.
- I've disabled global automatic switching
switch config file I used:
Code: Select all # HSDPA USB modem from dealextreme
DefaultVendor=0x05c6
DefaultProduct=0xf1000
TargetVendor= 0x05c6
TargetProduct= 0x0016
#MessageContent="5553424368032c882400000080000612000000240000000000000000000000"
#MessageContent="5553424312345679000000000000061b000000020000000000000000000000"
MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
NeedResponse=1
#TargetClass=0x00
#CheckSuccess=40 --Original
CheckSuccess=20
usb_modeswitch output:
Code: Select all root@SiRi-Inspiron-3521:~# usb_modeswitch -c /etc/usb_modeswitch.d/iBall3GWireless.cfg -W
* 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= 0x05c6
DefaultProduct= 0xf1000
TargetVendor= 0x05c6
TargetProduct= 0x0016
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="5553424312345678000000000000061b000000020000000000000000000000"
NeedResponse=1
ResponseEndpoint= not set
InquireDevice enabled (default)
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 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 002 on 003
usb_os_find_devices: Found 001 on 003
error obtaining child information: Inappropriate ioctl for device
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 006 on 001
skipping descriptor 0xB
skipped 1 class/vendor specific endpoint descriptors
usb_os_find_devices: Found 005 on 001
skipping descriptor 0xFF
skipping descriptor 0xB
skipped 2 class/vendor specific endpoint descriptors
skipped 6 class/vendor specific interface descriptors
skipping descriptor 0x25
skipped 1 class/vendor specific endpoint descriptors
skipped 12 class/vendor specific interface descriptors
usb_os_find_devices: Found 004 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
Looking for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 0951:1660
searching devices, found USB ID 05c6:f000
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 0cf3:0036
searching devices, found USB ID 0c45:64ad
searching devices, found USB ID 0bda:0129
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 0951:1660
searching devices, found USB ID 05c6:f000
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 0cf3:0036
searching devices, found USB ID 0c45:64ad
searching devices, found USB ID 0bda:0129
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
No devices in default mode found. Nothing to do. Bye.
-
Attachments
-
- inf_n_log.zip
- oem119.inf : refferred during connect
oem118.inf : installed by driver ModemLog_3GUSB Modem.txt : connect log - (4.86 KiB) Downloaded 836 times
-
- UsbSnoop_iBall3.5G.7z
- Snooping on Vendor=05c6; modem alone didn't give much data
- (133.6 KiB) Downloaded 864 times
-

- Screen shot of USB Sniff working on iBall3.5G
- USBSniff_PrtScr.JPG (103.02 KiB) Viewed 26153 times
-
LOM
- Posts: 1404
- Joined: 11 Jul 2012, 15:14
- Location: Koh Samui, TH
Post
by LOM » 09 Feb 2014, 17:02
You have a typo in your config file, f1000 should be f000 .
I'll check your snoop file and oemxxx.inf files.
-
LOM
- Posts: 1404
- Joined: 11 Jul 2012, 15:14
- Location: Koh Samui, TH
Post
by LOM » 09 Feb 2014, 17:50
Your usbsnoop files did not relieve anything, did you log 05c6:f000?
You may have to uninstall the windows drivers and the connection manager and disable cd autorun, then replug the dongle which then should show up with its initial id 05c6:f000 and remain so without switching.
Then start logging 05c6:f000 and execute the autorun script on the dongles cd-rom, it will log the whole install of drivers and connection manager. The log will stop to get filled when Windows switches the dongle to 05c6:0016, one of the last messages in the log will be the switch message.
Your screenshot and the 2 .inf files shows the following interface layout:
MI_00 Diagnostics
MI_01 Application (AT cmd interface)
MI_02 Voice
MI_03 ???
MI_04 Modem
MI_05 Storage
Seeing that the storage interface is not 0 but 5 in 05c6:f000 where there is only one interface makes me suspect that the following might work:
sudo usb_modeswitch -W -I -v 05c6 -p f000 -i 5 -M 55534243123456780000000000000601000000000000000000000000000000
-
D3m0N81
- Posts: 9
- Joined: 09 Feb 2014, 00:59
Post
by D3m0N81 » 09 Feb 2014, 21:25
I'm sorry for the typo & invalid usb_modeswitch run.
I ran the cmd with suggested message:
Code: Select all root@SiRi-Inspiron-3521:~# usb_modeswitch -W -I -v 05c6 -p f000 -i 5 -M 55534243123456780000000000000601000000000000000000000000000000
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= 0x05c6
DefaultProduct= 0xf000
TargetVendor= not set
TargetProduct= not set
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="55534243123456780000000000000601000000000000000000000000000000"
NeedResponse=0
ResponseEndpoint= not set
Interface=0x05
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 008 on 003
usb_os_find_devices: Found 001 on 003
error obtaining child information: Inappropriate ioctl for device
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 006 on 001
skipping descriptor 0xB
skipped 1 class/vendor specific endpoint descriptors
usb_os_find_devices: Found 005 on 001
skipping descriptor 0xFF
skipping descriptor 0xB
skipped 2 class/vendor specific endpoint descriptors
skipped 6 class/vendor specific interface descriptors
skipping descriptor 0x25
skipped 1 class/vendor specific endpoint descriptors
skipped 12 class/vendor specific interface descriptors
usb_os_find_devices: Found 004 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
Looking for default devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 05c6:f000
found matching vendor ID
found matching product ID
adding device
searching devices, found USB ID 0951:1660
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 0cf3:0036
searching devices, found USB ID 0c45:64ad
searching devices, found USB ID 0bda:0129
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: 0x05
Using endpoints 0x01 (out) and 0x81 (in)
USB description data (for identification)
-------------------------
Manufacturer:
Product: iBall 3.5G Wireless Modem
Serial No.: 1234567890ABCDEF
-------------------------
Looking for active driver ...
OK, driver found ("usb-storage")
OK, driver "usb-storage" detached
Setting up communication with interface 5
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.
- On WinXP, I uninstalled iBall connection manager & ran USBSniff while plugging & installing the drivers & manager.
- USBSniff with ProdID 0xf000

- USBSniff_PtrScr_1.JPG (94.53 KiB) Viewed 26143 times
- the log file(~40MB original) ~6MB 7z'ed. I didn't know what to look for specifically in it.
- My dialup doesn't let me upload more than an MB; attaching herewith tail 10% of the USB capture.
Thank you
-
Attachments
-
- UsbSnoop_snippet.7z
- (645.98 KiB) Downloaded 806 times
-
LOM
- Posts: 1404
- Joined: 11 Jul 2012, 15:14
- Location: Koh Samui, TH
Post
by LOM » 10 Feb 2014, 05:14
That was a much better log, it shows that the dongle switches by the cd-rom eject cmd (URB 1351, one of the last cmds in the log).
You can test it on the cmd line by:
usb_modeswitch -W -I -v 05c6 -p f000 -V 05c6 -P 0016 -M 5553424312345678000000000000061b000000000000000000000000000000
or by doing an eject of the cd-rom device, ie eject /dev/sr1
If the ctrl msg above works (it should) then the only thing you need to do in order for the dongle to switch after
reboot or hotplugging is to edit the current usb_modeswitch device config file 05c6:f000 and replace the line
TargetProduct= 0x9000
with
TargetProductList= "0016, 9000"
The 05c6:0016 usb id is not directly supported by the option.ko serial driver so you'll have to add on-the-fly support for it
after the option driver is loaded.
sudo modprobe usb_wwan
sudo modprobe option
and then
echo "05C6 0016" > /sys/bus/usb-serial/drivers/option1/new_id
This should give you ttyUSB0...ttyUSB4 where ttyUSB4 is the modem device.
-
D3m0N81
- Posts: 9
- Joined: 09 Feb 2014, 00:59
Post
by D3m0N81 » 10 Feb 2014, 14:41
Thanks a tonne, it worked!
Steps followed:
1. plugged in and noticed
Code: Select all root@SiRi-Inspiron-3521:~# lsusb
Bus 003 Device 012: ID 05c6:f000 Qualcomm, Inc.
2. Pushed the message
Code: Select all root@SiRi-Inspiron-3521:~# usb_modeswitch -W -I -v 05c6 -p f000 -V 05c6 -P 0016 -M 5553424312345678000000000000061b000000000000000000000000000000
and noticed
Code: Select all root@SiRi-Inspiron-3521:~# lsusb
Bus 003 Device 012: ID 05c6:0016 Qualcomm, Inc.
I tried yesterday with other messages extracted from log dump using below cmd, it wasn't working. Perhaps -i 5 was the cause...
usb_modeswitch -W -I -v 05c6 -p f000 -i 5 -M xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3. modprobe usb_wwan; modprobe option; echo "05C6 0016" > /sys/bus/usb-serial/drivers/option1/new_id
and I got [ttyUSB0 .. ttyUSB2] and ttyUSB2 was for data.
I was able to connect to Internet.
Will make necessary changes to config & dialup script.
Once again thank you.
-
LOM
- Posts: 1404
- Joined: 11 Jul 2012, 15:14
- Location: Koh Samui, TH
Post
by LOM » 10 Feb 2014, 15:24
Can you please post the output of lsusb -v -d 05c6:0016 , I collect lsusb interface listings and this is one I don't have before.
-
D3m0N81
- Posts: 9
- Joined: 09 Feb 2014, 00:59
Post
by D3m0N81 » 10 Feb 2014, 15:42
sure:
Code: Select all root@SiRi-Inspiron-3521:~# lsusb -v -d 05c6:0016
Bus 003 Device 004: ID 05c6:0016 Qualcomm, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x05c6 Qualcomm, Inc.
idProduct 0x0016
bcdDevice 0.00
iManufacturer 3
iProduct 2 iBall 3.5G Wireless Modem
iSerial 4 1234567890ABCDEF
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 108
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 1 iBall 3.5G Wireless Modem
bmAttributes 0xe0
Self 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 5
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 0
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 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 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
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 0x84 EP 4 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 0x85 EP 5 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
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
root@SiRi-Inspiron-3521:~#
-
LOM
- Posts: 1404
- Joined: 11 Jul 2012, 15:14
- Location: Koh Samui, TH
Post
by LOM » 10 Feb 2014, 16:29
Thanks for the lsusb listing, it explains why you got the modem on ttyUSB2.
iBall has disabled interface 2 and 3 in the dongle, interfaces which if enabled would had created ttyUSB devices.
-
D3m0N81
- Posts: 9
- Joined: 09 Feb 2014, 00:59
Post
by D3m0N81 » 10 Feb 2014, 18:13
Script I'm using to connect after plug in:
to be run in root session:
Code: Select all #!/bin/bash
usb_modeswitch -W -n -I -v 05c6 -p f000 -V 05c6 -P 0016 -M 55534243e0793c88000000000000061b000000020000000000000000000000 > /dev/null 2>&1
modprobe usb_wwan
modprobe option
echo 05C6 0016 > /sys/bus/usb-serial/drivers/option1/new_id
It takes [5..15] seconds to connect and I've enabled 'Connect automatically'.
-
D3m0N81
- Posts: 9
- Joined: 09 Feb 2014, 00:59
Post
by D3m0N81 » 10 Feb 2014, 19:58
LOM wrote:Thanks for the lsusb listing, it explains why you got the modem on ttyUSB2.
iBall has disabled interface 2 and 3 in the dongle, interfaces which if enabled would had created ttyUSB devices.
Any sane reason to disable it?
Another query, how to deduce from the capture log that a switch happened?
Code: Select all [255643 ms] >>> URB 1351 going down >>>
-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
PipeHandle = 88470914 [endpoint 0x00000001]
TransferFlags = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 0000001f
TransferBuffer = 892ee758
TransferBufferMDL = 00000000
00000000: 55 53 42 43 e0 79 3c 88 00 00 00 00 00 00 06 1b
00000010: 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00
UrbLink = 00000000
[255644 ms] UsbSnoop - MyInternalIOCTLCompletion(9e06f126) : fido=883eab50, Irp=883c79e0, Context=88424980, IRQL=2
[255644 ms] <<< URB 1351 coming back <<<
-
Josh
- Site Admin
- Posts: 6570
- Joined: 03 Nov 2007, 00:30
Post
by Josh » 11 Feb 2014, 00:43
Usually, at the end of the log there is a "SURPRISE_REMOVAL" if you caught the right device ID. This is the moment when the switch happened. The action that initiates the mode switch is not far from the log's end.
The excerpt that you quote is a well known switching action, transmitting the SCSI EJECT command to the dongle.

|
|