SO HERE IS THE PROCESS TO CONFIGURE YOUR FUNBOOK TO USE ANY DONGLE AND ANY MOBILE TO CONNECT WITH INTERNET LIKE PC.
REMEMBER I AM NOT THE CREATOR OF THIS.SO PLEASE DON'T ASK ME ANY QUESTION.
A few words to mention before beginning this article:
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
option 1-1:1.1: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
option 1-1:1.2: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
REMEMBER I AM NOT THE CREATOR OF THIS.SO PLEASE DON'T ASK ME ANY QUESTION.
Do you know that you can connect your mobile / USB data card to Micromax Funbook to get connected to the internet? Well, if you want to know how to do this, continue reading this article.
Micromax Funbook ships with Android 4. It is already rooted. So, you can easily enable your device in Funbook. First, make sure, the Terminal Emulator and Jota Text Editor apps are installed in your Funbook. I'll present the article for Windows and Linux users separately. In this article, I'm using my "LG GS500v" mobile to connect it to my tablet and dial internet connection.
A few words to mention before beginning this article:
- The mobile has a Zero CD mode as many mobiles and USB data cards have today
- But, I don't need to use "usb_modeswitch" to switch my mobile from CD-ROM to Modem, because it automatically switches to Modem mode after 20-30 seconds
- If your device explicitly needs to switch from CD-ROM mode to Modem mode, you need to use "usb_modeswitch" command. Guidelines (though not full article) on running the command are presented at the end of this article.
- This entire article is based on editing a single configuration file (3g_dongle.cfg) to add support for new device. The only thing which you need to know is how to get information about your device to fill the configuration file.
- Hereafter, I'll be referring to both mobile, which could be connected using USB cable and USB data cardwith the term "Device"
DISCLAIMER: I'm not responsible for any harm that might happen to your Funbook / USB Card / Mobile or to you as a result of you following this guide. It shouldn't usually do any such harm but just for your clarification, this disclaimer is written. Also please note that I could not guarantee that this procedure works for all mobiles / dongles, because I myself tested this only with my mobile, LG GS500v. Hope this guide works with your device too.
Okay, now let's get started. First, fire up "Terminal Emulator" app and execute the following command:
# busybox cp /etc/3g_dongle.cfg /sdcard/
From here, I'll be showing how to get required information about your device both in Windows and Linux (Ubuntu).
Windows Way:
- Connect your tablet in USB Storage Mode and copy the 3g_dongle.cfg file. Open the file in Wordpad. Yes, open it in Wordpad only, not in Notepad.
- Download and install USBDeview from http://www.nirsoft.net/utils/usb_devices_view.html
- Connect your device to PC
- Make sure it is listed under "Modems" tab in "Phone and Modem Options" in "Control Panel"
- Select your device and click "Properties"
- Goto "Diagnostics" and click "Query Modem"
- Note down the response given by your modem for "AT+GMM" command. We are going to use it in our 3g_dongle.cfg file. In my case, I got "GS500"
- Start adding a new entry to 3g_dongle.cfg in a way similar as shown below:
[GS500]
dongle_name=GS500
production_name=GS500
vendor_name=LG
network_type=GSM_MODE
pid_vid_origin=
bcdDevice_origin=
pid_vid_now=
bcdDevice_now=
at_port=
ppp_port=
- We will be filling rest of the fields in the steps that follow. Now open USBDeview. Right click on your modem and select properties.
- Make a note of the "Vendor ID" and "Product ID" shown. For my mobile, they are "1004" and "6000" respectively. Based on this, I'm filling some more information in 3g_dongle.cfg as shown below:
[GS500]
dongle_name=GS500
production_name=GS500
vendor_name=LG
network_type=GSM_MODE
pid_vid_origin=0x10046000
bcdDevice_origin=
pid_vid_now=0x10046000
bcdDevice_now=
at_port=
ppp_port=
- But, as said before, if your device cannot switch itself from CD-ROM mode to Modem mode, thenpid_vid_origin must be filled with "VendorIDProductID" of the USB Mass Storage virtual CD-ROM that your device mounts first. Otherwise, both will be same.
- Now, make a note of your USB version shown in USBDeview. If it is "2.00", then bcdDevice becomes 0x0200. If it is "1.10" then it is 0x0110 and the like. So, I'm filling them now:
[GS500]
dongle_name=GS500
production_name=GS500
vendor_name=LG
network_type=GSM_MODE
pid_vid_origin=0x10046000
bcdDevice_origin=0x0200
pid_vid_now=0x10046000
bcdDevice_now=0x0200
at_port=
ppp_port=
- Again, if your device cannot switch itself to Modem mode, then you need to find the USB Version of the Mass Storage mounted by your device and fill it under bcdDevice_origin. Otherwise, both will be same.
By now, we filled in all the info which we can, using Windows. The rest of the two entries need to be filled in tablet itself. So, now save the file and copy it back to your sdcard in tablet.
- Connect your tablet to your PC in USB storage mode. Now, copy the "3g_dongle.cfg" to your home directory / desktop
- Open the file in gedit.
- Now connect your modem device to PC. Most modern linux distributions list your modem under /dev/ttyACM0.
- Issue the following commands in a terminal:
abhiram@abhiram-desktop:~$ echo -e "AT+GMM\r" > /dev/ttyACM0
abhiram@abhiram-desktop:~$ tr -s "\n" < /dev/ttyACM0
AT+GMM
GS500
OK
- See the reply given by your modem. Press "Ctrl + C" to get out of tr command. Now start adding a new entry to your "3g_dongle.cfg" file as shown below:
[GS500]
dongle_name=GS500
production_name=GS500
vendor_name=LG
network_type=GSM_MODE
pid_vid_origin=
bcdDevice_origin=
pid_vid_now=
bcdDevice_now=
at_port=
ppp_port=
- Now, issue the following command in your terminal:
abhiram@abhiram-desktop:~$ lsusb -vv
Bus 004 Device 002: ID 1004:6000 LG Electronics, Inc. VX4400/VX6000 Cellphone
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1004 LG Electronics, Inc.
idProduct 0x6000 VX4400/VX6000 Cellphone
bcdDevice 15.12
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 90
bNumInterfaces 3
bConfigurationValue 2
iConfiguration 3
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 4
CDC Header:
bcdCDC 1.10
CDC Union:
bMasterInterface 0
bSlaveInterface 1
CDC Call Management:
bmCapabilities 0x00
bDataInterface 1
CDC ACM:
bmCapabilities 0x07
sends break
line coding and serial state
get/set/clear comm features
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 255
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 6
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
- It's a very lengthy output. See the output particular to your modem. I've highlighted what details are required for us to fill the "3g_dongle.cfg" file. Make a note of the "Vendor ID" and "Product ID" shown. For my mobile, they are "1004" and "6000" respectively. Based on this, I'm filling some more information in 3g_dongle.cfg as shown below:[GS500]dongle_name=GS500production_name=GS500vendor_name=LGnetwork_type=GSM_MODEpid_vid_origin=0x10046000bcdDevice_origin=pid_vid_now=0x10046000bcdDevice_now=at_port=ppp_port=
- But, as said before, if your device cannot switch itself from CD-ROM mode to Modem mode, then pid_vid_origin must be filled with "VendorIDProductID" of the USB Mass Storage virtual CD-ROM that your device mounts first (which can be found by lsusb). Otherwise, both will be same.
- Now, make a note of your USB version shown under "bcdUSB". If it is "2.00", then bcdDevice becomes 0x0200. If it is "1.10" then it is 0x0110 and the like. So, I'm filling them now:
[GS500]
dongle_name=GS500
production_name=GS500
vendor_name=LG
network_type=GSM_MODE
pid_vid_origin=0x10046000
bcdDevice_origin=0x0200
pid_vid_now=0x10046000
bcdDevice_now=0x0200
at_port=
ppp_port=
Again, if your device cannot switch itself to Modem mode, then you need to find the USB Version of the Mass Storage mounted by your device and fill it under bcdDevice_origin. Otherwise, both will be same.
By now, we filled in all the info which we can, using Linux. The rest of the two entries need to be filled in tablet itself. So, now save the file and copy it back to your sdcard in tablet.
- Open Terminal Emulator app in your tablet
- Issue the following command: (Important!! You need to issue this command everytime you reboot your tablet)
# su
root@android:/ # echo "1004 6000" > /sys/bus/usb-serial/drivers/option1/new_id
- In the above command, replace the numbers with "VendorId ProductId" for your modem device
- Connect your device to the Funbook tablet. If your device cannot switch to Modem mode by itself, then you need to issue "usb_modeswitch" command, but that's another issue which is separately discussed at the end of this article. For my mobile, I need to wait for 20-30 sec to let it switch to Modem mode. By now, I assume your device is in modem mode. You can verify that by issuing below command:
# dmesg
- Scroll back to see if you get the output similar to what is shown below:
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
option 1-1:1.1: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
option 1-1:1.2: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
- If you get the above output, then your device can work with your tablet to get connected to internet
- Of the 3 ports shown above, we need to know which port can take AT commands, and which one can take PPPD commands, because that's all what is left to be filled in "3g_dongle.cfg".
- Getting to know which port takes "AT" commands is so easy. Issue the following command to each of your ports separately by replugging your device each time you change the port to which you issue the command.
# busybox tr -s "\n" < /dev/ttyUSBx - Do this in terminal window 1
# echo -e "ATi\r" > /dev/ttyUSBx - Do this in another terminal window 2
- Note down all the port numbers x for which you get reply to the above "AT" command. If you don't get reply, just press "Ctrl + C" and try with another port after replugging the device.
- Now, you need to find among those ports, which one is AT port and which is for PPPD
- If you are sending the following commands to your mobile modem, rather than USB card, then you may need to restart your mobile for it to function properly to get connected to internet
- As demonstrated above, send the following commands to all such ports x discovered in order:
# busybox tr -s "\n" < /dev/ttyUSBx - Do this in terminal window 1
# echo -e "ATi\r" > /dev/ttyUSBx - Do this in another terminal window 2
# echo -e "AT+CGDCONT=1,\"IP\",\"www\"\r" > /dev/ttyUSBx
# echo -e "ATDT*99***1#\r" > /dev/ttyUSBx
- The 3rd command, "AT+CGDCONT..." needs some explanation. It is actually your modem initialization string. Usually, for GSM modems, it is AT+CGDCONT=1,"IP", "<apn>". Replace appropriately for your modem
- The replies to each of the above commands in terminal window 1, if x is an AT port, must be the following in the order:
OK
OK
ERROR
- For a PPPD port x, the replies will be:
OK
OK
CONNECT
- If you get CONNECT for two ports, then you can use either one as AT port and the other as PPPD port.
- Now, based on your findings, fill your 3g_dongle.cfg file completely as shown below:
[GS500]
dongle_name=GS500
production_name=GS500
vendor_name=LG
network_type=GSM_MODE
pid_vid_origin=0x10046000
bcdDevice_origin=0x0200
pid_vid_now=0x10046000
bcdDevice_now=0x0200
at_port=1
ppp_port=2
- Now, you need to edit the number to be dialed under [DIAL_NUMBER] section of 3g_dongle.cfg file. Since my connection is of type GPRS / EDGE, I edited:
wcdma=ATDT*99***1#
- Save the file and reboot your Funbook now. Plug-in your modem / mobile. Your Funbook should start showing "G" icon indicating an internet connection, along with signal bars in blue.
- Some USB modems require some driver / software to switch from zero CD mode to the modem mode
- For such modems, a command known as "usb_modeswitch" needs to be used, which is present in Android delivered by Micromax Funbook
- When you first connect your USB modem to Funbook, you can see a configuration file created with name <vendor id>_<product id> of your USB Data Card in Zero CD mode, in the location, /etc/usb_modeswitch.d/
- Copy the file to /sdcard and open in Jota Text Editor
- From Windows / Linux, in which your USB Data Card works properly, as described above in my guide, obtain the <vendor id> and <product id> of your USB Data Card in "Modem" mode
- Copy the same to this configuration file, in place of target ID's
- The message content is really bit difficult to discover.
- For that, you need to install some USB Spying software and know the message sequence that your USB Data Card driver sends to your device to switch it to modem mode
- Then copy that message sequence over here to MessageContent field in the configuration file
- If everything is filled in correctly, after you plugin your USB card to Funbook, you must be able to switch it to "Modem" mode by issuing command,
# usb_modeswitch -W -I -c /etc/usb_modeswitch.d/<vendor id>_<product id>
- But this is not so easy as said above. Try searching for MessageContent string in the internet for your USB Data Card model. If you are lucky enough, you may find the correct one.
15 comments:
Tried the above procedure for two mobile phone, even the APN was detected by funbook, but internet connection was not established.
Mobile: Samsung Duos (SCH-W259)
Samsung Corby(GT-S3653)
Carrier: Tata DOCOMO
Even I'm having problems... or i am not able to understand. :(
3g_dongle.cfg ko edit karke sdcard me copy karne k alawa uska kuch nhi karna kya?
hi
thanx to providing this gr8 information
but when i excut folowing command in mmx funbook ......
"busybox cp /etc/3g_dongle.cfg /sdcard/"
.i m getting following response
copy SOURCE to DEST , or multiple SOURCES TO DICTIONARY
OPTIONS:
-a same as -dpR
-R recurse.....
plz tell me what to do next....
thanx n regards in advance
Did youy rip this blog page off some other blog?? I remember I read this post in some one else's blog....
isn't there a simpler way to find ap and ppp port?
post a video of the procedure
@ ALL COMMENTORS - THIS POST IS NOT BY ME .SO I CAN'T ANSWER TO YOU GUYS.
I JUST POSTED THIS TO HELP YOU ..AND TO SHARE MY FRIEND'S EXPERIMENT.
Can you explained more on the part below, mean what and which port nmbers I should enter and how to get them
# busybox tr -s "\n" < /dev/ttyUSBx - Do this in terminal window 1
# echo -e "ATi\r" > /dev/ttyUSBx - Do this in another terminal window 2
Note down all the port numbers x for which you get reply to the above "AT" command. If you don't get reply, just press "Ctrl + C" and try with another port after replugging the device.
Now, you need to find among those ports, which one is AT port and which is for PPPD
hey frndz i am not able to locate file name
3g_dongle.cfg in my MMX FB when i connect it to computer in USB storage mode
mine says, "root@android" not found
Please do something
PS:i'm using a miromax 352g 3g modem with airtel 3g
Blogger Swap said...
mine says, "root@android" not found
Please do something
PS:i'm using a miromax 352g 3g modem with airtel 3g
1 August 2012 21:29
same problem
hey man can u give me a hint on finding message content string. because u didnt describe it like
how to find it ?
jai hind !
thanks
How to use mmx 352g with bsnl on funbook
yar ye 3g_dongle.cfg file kaha se mileg, command dene ke bad to kuchh nhi aata, file kaha pe milegi konse folder directory me milegi ye to batao, sara kam jab file ka hai to important cheez to bata diya karo,,,
Post a Comment