How do I get an iball 3.5G modem working on Ubuntu?
Solution 1:
It may be a bit late now, yet I was unable to connect using iBall 3.5g v2.0 on my Ubuntu 12.04. All the guides available online were not useful.
Edit: First the BashScript I'm using to connect my iBall3.5G
#!/bin/bash
set -x
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 to 15 seconds to enable USB WireLess Dongle for connection.
Now debugging the problem:
Use Case
iBall 3.5G v2.0 is working on WinXP(SP3) and not in Ubuntu 12.04
NOTE: It may not suit your issue as many online solutions I read didn't work for me. Read through the steps for matching scenario.
You need administrators/root privileges to perform below steps
Step 1:
Plug Dongle(USB Data Card) into a USB port with Ubuntu running.
Step 2:
tail /var/log/kern.log
to see how it was detected
root@SiRi-Inspiron-3521:~# tailf /var/log/kern.log
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
Note: an interface were identified as invalid. Apparently this was the cause of all problems.
Step 3:
Finding out the default Vendor & Product IDs
On Ubuntu use command lsusb
. Typical output for the device, I've removed others from output for clarity
root@SiRi-Inspiron-3521:~# lsusb
Bus 003 Device 012: ID 05c6:f000 Qualcomm, Inc.
you can run lsusb -v -d 05c6:f000
for verbose output
Notice idVendor, idProduct; these are default IDs as detected by Ubuntu.
typical output:
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
For an experienced eye this is an incomplete listing.
Step 4:
Finding out working VendorID & ProductID. As iBall3.5G is working on WinXP(SP3) we can extract IDs from the log generated by iBall Connection manager.
When you connect using iBall connection manager on WinXP(SP3), USB message exchanged are logged. Filename may be different: Note
Matching hardware ID: usb\vid_05c6&pid_0016&mi_04
File: C:\WINDOWS\ModemLog_3GUSB Modem.txt
02-09-2014 03:47:19.390 - Modem type: 3GUSB Modem
02-09-2014 03:47:19.390 - Modem inf path: oem119.inf
02-09-2014 03:47:19.390 - Modem inf section: Modem2
02-09-2014 03:47:19.390 - Matching hardware ID: usb\vid_05c6&pid_0016&mi_04
02-09-2014 03:47:19.390 - 115200,8,N,1, ctsfl=0, rtsctl=1
02-09-2014 03:47:19.406 - Initializing modem.
02-09-2014 03:47:19.406 - CD is high while initializing modem.
02-09-2014 03:47:19.406 - Send: AT<cr>
If iBall connection Manager was not installed then it's alright, we'll install later.
Step 5:
Finding out how default (Vendor, Product) IDs
were switched to working (Vendor, Product) IDs
on WinXP(SP3) => Switch Event
We need SniffUSB_v2.0
for capturing messages exchanged between Dongle(USB MoDem) & OS
during driver installation.
NOTE: I'm not aware of other options that are already existing on WinXP(sp3) to facilitate to capture required packets.
Download page for SniffUSB for WinXP(SP3) UsbSnoop for WinXP from pcausa.com
As of this writing SniffUSB-x86-2.0.0006.zip
was available.
Step 6:
If you've installed iBall Connection Manger & Drivers then uninstall both of them. We need to capture the switch event
, remember?
Step 7:
Run SniffUSB.exe
- remember with administrator rights.
Plug in dongle, you'll see something like below.
You can see Default(Vendor, Product) IDs listed.
Select the one which came after dongle plug in & click install
filter. It's hidden behind that password prompt, something like this:
Step 8:
Remove the dongle & plugin again.
Now that we enabled(installed) a filter specific to our iBall3.5G
, SniffUSB
should dump packets exchanged.
Go ahead & install iBall connection manager & Drivers
as usual.
Step 9:
By the time installation is finished size of UsbSnoop.log
bloats to ~40 MB. We are only interested in last few messages that causes Switch Event
I was told the switch happened from the below message:
[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 <<<
I'm still trying to understand how to identify the switch from capture log: iBall 3.5G Connect v2.0 setup on Ubuntu 12.04 issues
The message 55534243e0793c88000000000000061b000000020000000000000000000000
will help us in manually switching IDs(Vendor, Product)
on Ubuntu.
Step 10:
On Ubuntu, plug in dongle then run below command(as root):
root@SiRi-Inspiron-3521:~# usb_modeswitch -W -n -I -v 05c6 -p f000 -V 05c6 -P 0016 -M 55534243e0793c88000000000000061b000000020000000000000000000000
- by default Ubuntu(12.04) comes with
usb_modeswitch
(v1.2.3) bundle.
Notice the switch of IDs(Vendor, Product):
root@SiRi-Inspiron-3521:~# lsusb
Bus 003 Device 012: ID 05c6:0016 Qualcomm, Inc.
Step 11:
Getting working device files in /dev/
I was told 05c6:0016
USB ID is not directly supported by the option.ko serial driver
(as of yet)
Run below commands to get required /dev/
files viz. [ttyUSB0 .. ttyUSB2]
root@SiRi-Inspiron-3521:~# modprobe usb_wwan
root@SiRi-Inspiron-3521:~# modprobe option
root@SiRi-Inspiron-3521:~# echo "05C6 0016" > /sys/bus/usb-serial/drivers/option1/new_id
You'll see most desired ttyUSB0, ttyUSB1 & ttyUSB2
listed under /dev/
directory.
Within 5 to 15 seconds a network should be automatically listed under 'Mobile Broadband' for connection.
Step 12:
Now the device is identified and ready for working, connecting to Internet is a child's play.
Fun-Fact:
All this circus is for just finding out the right message(55534243e0793c88000000000000061b000000020000000000000000000000
) and working (Vendor,Product
) IDs pair to cause switch event.
PS:
iBall3.5G
comes with scripts for Linux, viz.
install, uninstall, wcdma, w-connect-chat, & dialup
Solution 2:
Option 1
Notice on your network connection when you plugged your usb modem. Just wait more seconds to see something like this:
click on CDMA and follow the configuration steps.
Opetion 2
Install Gnome-ppp
sudo apt-get install gnome-ppp
Click on setup and then detect.
If it's detects your stick, the dialog box will disappear. if not, it will give you an error message.
Good Luck!
Solution 3:
I had the same problem, but i solved it by borrowing my friends data card or dongle. To activate mobile (internet) broadband connection try inserting another data card to activate it first make those settings and once its activated try with the above mentioned settings. In case if the problem still not solved try inserting it and enable the connection option that does the trick. iball 3.75G-72 connect mobile broadband USB modem not detected in Ubuntu 12.04. how to detect that modem? "following is a step by step method Create a mobile broadband connection [choose connect automatically] Run the following command: sudo modprobe usbserial vendor=0x1c9e product=0x9605 Run dmesg to check the configuration of it, I don't know but it shows whether the above command was a success or not? Run lsusb to check the usb devices If its still not working then disable networking and enable it again. If you are getting confused with terminal things as I was, do this sudo lsusb -vvv> /tmp/usb_ info then, go to /tmp/usb_info that document will show you, your usb devices and its information."
Solution 4:
Step : 1
Find the vendor id and product id of USB modem using
lsusb
Step : 2 Add the details to /etc/modules like below
usbserial vendor=0x05c6 product=0x0016
Step : 3 Restart the computer and open disk utility and eject Data storage part of your USB modem.
In most of the case the modem will detected in the network manager soon.
if you are still not able to connect you can use sakis3g script to configure your USB modem.
http://dl.dropboxusercontent.com/u/21041454/sakis3g.gz
Download the gz file to Downloads folder and extract the script, then move it to /usr/bin using below command
sudo mv Download/sakis3g /usr/bin
Make this script as executable with below command;
sudo chmod a+x /usr/bin/sakis3g
Finally run the script as root
sudo /usr/bin/sakis3g
Tested on Ubuntu 14.04 64 bit with multiple computers.
See below website for step by step detailed instructions.
http://dailylifetipsandtricks.blogspot.com/2014/04/how-to-install-non-detecting-usb-modems-in-ubuntu.html