Jump to content
Reliance Jio & Reliance Mobile Discussion Forums
Chirag

Linux Operating System

Recommended Posts

Interesting stuff for the techies... Check it out...

This is a short HOWTO for people who have the Reliance CDMA Cell Phones and want to access the internet on their desktops or laptops running GNU/Linux using USB Cable.

For more click here... or read below...

Introduction

This is a short HOWTO for people who have the Reliance CDMA Cell Phones and want to access the internet on their desktops or laptops running GNU/Linux using USB Cable.

No software provided by Reliance was used, but we looked at the scripts to see device names, modem strings etc.

System requirements

You need a GNU/Linux system with a kernel having USB support. A recent 2.2.x or 2.4.x series kernel will do. We tried this on Debian GNU/Linux running linux kernel 2.4.18.

All the kernel modules required should be present in your system if you are using the precompiled kernel provided by the distribution. If some thing is missing, please refer to the section Compiling the kernel.

Step 0: Activating the R-Connect Services

On your hand set, dial

*412(i.e star-four-one-two) and wait for the success message. It may take 15 seconds to 2 minutes, according to the Reliance Website.

Step 1: Configuring the USB controller in your computer

There are three types of USB controllers usually found in computers, the uhci, the ohci and the ehci. They have the corresponding kernel modules, uhci.o, ohci.o and ehci-hid.o. Load the correct module for your system. eg for uhci, type (as root)

modprobe uhciIf these modules are not to be found, you need to build a custom kernel.

Step 2: Configuring the phone

Right now, Reliance gives two makes of handsets - LG and Samsung. The details of the models are all on the Reliance website.

Plug the cable to the phone and a USB port in the computer.

The LG phones act as serial modems. The USB cable provided with these phones is a FTDI SIO single port USB to serial converter device. Use the ftdi-sio.o module.

modprobe usbserial

modprobe ftdi_sio

The Samsung phones act as usb modems that conform to the Universal Serial Bus Communication Device Class Abstract Control Model (USB CDC ACM) specification. Use the acm.o module.

modprobe acm

Look at the end of your /var/log/syslog file to see the results and figure out the name of the device file to use as modem. In the case of an LG phone, this would look as follows.

Jul 22 07:52:10 astra kernel: usb.c: registered new driver serial

Jul 22 07:52:10 astra kernel: usbserial.c: USB Serial support registered for Generic

Jul 22 07:52:10 astra kernel: usbserial.c: USB Serial Driver core v1.4

Jul 22 07:52:10 astra kernel: usbserial.c: USB Serial support registered for FTDI SIO

Jul 22 07:52:10 astra kernel: usbserial.c: USB Serial support registered for FTDI 8U232AM

Jul 22 07:52:10 astra kernel: usbserial.c: FTDI 8U232AM converter detected

Jul 22 07:52:10 astra kernel: usbserial.c: FTDI 8U232AM converter now attached to ttyUSB0 (or usb/tts/0 for devfs)

Jul 22 07:52:10 astra kernel: ftdi_sio.c: v1.2.0:USB FTDI RS232 Converters Driver

The second last line in this eg. says

FTDI 8U232AM converter now attached to ttyUSB0 (or usb/tts/0 for devfs)This means your modem is now at /dev/ttyUSB0 (or /dev/usb/tts/0 if you are using devfs). To confirm this, type

cat /dev/ttyUSB0If it doesn't print

cat: /dev/ttyUSB0: No such deviceyour phone is configured. Type CTRL-C to exit.

The Samsung phones should give a similar message (could some one fill this part please..), but with ttyACM0 instead of ttyUSB0 as the device name (and it will talk about an acm modem and not a usb-to-serial converter).

Make an easy to use link to your modem device.

For LG,

ln -s /dev/ttyUSB0 /dev/modem

For Samsung,

ln -s /dev/ttyACM0 /dev/modem

For LG RD7230,

ln -s /dev/ttyACM0 /dev/modem

Step 3: PPP Configuration

You can either use pppconfig (if you use Debian GNU/Linux) together with the pon and poff scripts to connect to the internet. Alternatively, you can use the rconnect script provided by Reliance to configure the PPP parameters. In these cases, the next paragraph is mostly irrelevant.

Just for the sake of completeness, the gory details are listed here. The following entries should be present in your /etc/ppp/options file (or has to be filled into the dialer configuration). Make a backup of your existing options file and add any missing lines to the end.

lock

asyncmap 0

crtscts

modem

defaultroute

usepeerdns

noauth

/dev/modem 115200

Now make a file called .ppprc in your home directory, containing the following line.

user <your-phone-number> password <your-phone-number>

Here, <your-phone-number> is your phone number (you guessed that? WOW!!), with the STD code, without the leading zero. For eg: if you are in Bangalore (STD code 080) and your Reliance IndiaMobile number is 12345678, use 8012345678.

Now run pppd.

pppd /dev/modem 115200 debug usepeerdns defaultroute connect '/usr/sbin/chat -v "" <modem-string> OK "atdt#777" CONNECT' mtu 264

The <modem-string> is at+cta=30 for LG phones and at+ifc=2,2 for Samsung phones (as found in the official Reliance script). #777 is the number to dial. Again, these steps are not necessary if you are using a dialer like KPPP or the pon-poff scripts.

In about 5 seconds, you will hear a beep (actually a sequence of three tones of increasing frequencies). Fire up your favourite web browser and point it to http://www.gnu.org.

Type

killall -9 pppd to terminate the connection.

Making it all a bit smoother

If every thing works fine for you, we can go ahead and make the whole thing happen automagically. For the usb part, use the usbmgr daemon. Edit /etc/usbmgr/usbmgr.conf and add your host controller. Eg, for the uhci controller, use the line

host uhci

This will cause the usb controller to be configured when you boot up. To make the system load the drivers for your phone when you plug it in and remove them when you unplug it, add a line describing the vendor, product and module, to the end of the /etc/usbmgr/usbmgr.conf. Use the following line for the LG phone.

vendor 0x0403 product 0x6001 module usbserial, ftdi_sio

The numbers can be obtained from the /var/log/messages file. Look for a line similar to

Jul 20 15:53:05 debian kernel: usb.c: USB device 2 (vend/prod 0x403/0x6001) is not claimed by any active driver.

For the Samsung phone, use the vendor and product id as seen in the log file (could some one please send us this information?). The module will be acm in this case.

Demand dialing

The whole dialup-authentication-connection process takes around five seconds. This makes it a good cantidate for demand dialing, where you just plug in your phone and start using the internet. The connection is automatically terminated when there is no network traffic for a predetermined delay.

On Debian GNU/Linux system, there is a nifty utility called pppconfig, which can be used to manage the ppp settings for any particular provider.

Fire up pppconfig as root.

Choose "Create Create a connection"

Type a name for the provider (any name will do since you are not going to type it)

Choose "Dynamic Use dynamic DNS"

Choose "PAP Peer Authentication Protocol"

Type in your login name (eg 8012345678 if you are in Bangelore and your number is 12345678)

Type the same thing for your password

Type 115200 for modem speed

Choose "Tone"

Type #777 for number

Answer no, so that you can select your modem manually

Type /dev/modem

Choose "Advanced Advanced Options"

Choose "Modeminit ATZ Modem init string"

Type your modem string (at+cta=30 for LG and at+ifc=2,2 for Samsung)

Choose "Demand disabled Turn demand dialing on or off"

Select yes

Choose "Idle-timeout none Idle timeout"

Type 10 (for 10 seconds or any delay you feel like)

Choose "Previous Return to previous menu"

Choose "Finished Write files and return to main menu."

Choose "Quit Exit this utility"

Copy the file named /etc/ppp/no_ppp_on_boot to /etc/ppp/ppp_on_boot. Edit the line $PPPD call provider and replace provider with the name you had chosen.

If your /etc/resolv.conf is empty, add a dummy line to it. eg:

   nameserver 9.10.11.12

This can be any valid ip address, since the file will be replaced when the ppp connection is established.

Thats it. From now on, your computer acts as if it is always connected to the internet (well, almost).

If you don't want demand dialing, you can skip the corresponding options in pppconfig, as well as the ppp_on_boot and resolv.conf parts. In this case, use

pon <provider>to connect and

poffto disconnect.

Compiling the kernel

Do a `make menuconfig' or whichever favourite method you use to configure your kernel.

First of all, go to "Code Maturity level options"

select "Prompt for development and/or incomplete code/drivers"

Go to USB support from the root menu.

Select "Support for USB" as module

Select "USB verbose debug messages".

Under "Misc USB Options", select "Preliminary USB filesystem"

Under "USB Controllers", select the controller in your system as module (uhci, ohci, ehci)

Under "USB Device Class Drivers", select the "USB Modem (CDC ACM) support" as module (Samsung)

Now, go down to "USB Serial Convertor suppor" and go inside.

Select "USB Serial Convertor support" as module. (LG)

Select "USB FTDI Single Port Serial Driver" as module. (LG)

Save the configuration (please configure other parts of the kernel. otherwise, you will endup with a loacked system.) and exit the kernel configuration setup.

Now, build the kernel, using the usual procedure you follow. Debian users can use `make-kpkg' command to build the kernel as a deb file. Now install the new kernel.

Connection throughput

Reliance says connections speeds upto 144kbps (kilo bits per sec) are possible. The modem is connected to the computer at 115200 baud, which limits the speed to, well, 112.5 kbps. Using the Gnome netspeed applet, we saw speeds up to 90 kbps (kilo-bits-per-second).

Related Links

Reliance Data Connect (service called R-Connect) Page

GNU/Linux Software provided by Reliance

Note

If someone has the details on connecting with Samsung phone and can provide a link or details, we will put it here.

Edited by niket

Share this post


Link to post
Share on other sites

Really Good Finding,

But as far installing R-connect on Redhat8.0+ linux..

there is no need to do all this because reliance is giving setup for Linux and that works on my PC(well, on USB Cable)... just go to R-connect on Linux

Share this post


Link to post
Share on other sites

can any one tell me how to configure R-connect in linux

i am fond of linuxt , but R-connect has no drivers for linux

so please help me

Share this post


Link to post
Share on other sites

Hello samar,

ur post has been moved to this thread.

If u use Redhat then no prob for u. U can find the driver here.

if other then check the posts above..

Edited by chirag

Share this post


Link to post
Share on other sites

hey niket i tried to install that driver from reliance on redhat 8.0 ,with my

serial cable but when it ask for "which serial port" i unable to give

my phone is connected to com2,please let me know what we call it in linux

as dev/ttys0

Share this post


Link to post
Share on other sites

For linux in most cases..

COM1 = /dev/ttyS0

COM2 = /dev/ttyS1

COM3 = /dev/ttyS2

so u try ttyS0 to ttyS3 , in linux if u want to find out real good info on that then many "Mini How To" are available on net. search google for "how to COM port on linux" ;)

I am using USB cable and for that setup didn't ask any question.

And to connect u have to use commands in terminal instead of that u can put shortcut on Desktop for that commands.

In some case i got a good speed on linux than in windows.

Share this post


Link to post
Share on other sites

Hey.. I'm using Mandrake Linux 9.1, and I use a cable modem for the most part, so mandrake has configured everything to use eth0 when connecting to the internet. As a result, when I install the rconnect drivers from the reliance site, it connects without a problem, but the computer still looks for a connection on eth0 instead of using the usb port.. any idea how i can change this?

Share this post


Link to post
Share on other sites
Interesting stuff for the techies... Check it out...

This is a short HOWTO for people who have the Reliance CDMA Cell Phones and want to access the internet on their desktops or laptops running GNU/Linux using USB Cable.

For more click here...

This is great .. by default in my linux it installs usb-uhci.o and not uhci.o .. somehow i managed to make uhci.o separately and installed after removing usb-uhci.o .. my wvdialconf is not recognising any modem (rd2130, usb datacable)... and when trying to connect .. it says modem not found.. sending ATZ.. resending ATZ.. and just waits for OK.. ...hmmm interesting...

Edited by Chirag

Share this post


Link to post
Share on other sites

Chirag I applied some corrections.

This method is works perfectly fine.

and on Relianceinfo.com there is no linux driver availble for suse9.0 and RD 7230.

But this method works for me without any driver required.

My system is

Suse9.0

RD 7230

Thanx for posting dude...

Share this post


Link to post
Share on other sites

HI all ,

I have a Redhat 9, kernel 2.0.4.* machine

And I have Reliance LG RD7230 CDMA mobile phone

I want to connect to internet from Linux but not able to.

I searched the Internet and got few ways, but it seems nothing is working for me

One method is

1. wvdialconf (file name)

This system call waits till infinity and dose not create any file.

Another method is

Modprobe ….*** (uhci, ohci )

My system recognizes only uhci but also states some error.

Another methord is to download a tar file from rilianceinfo.com and try to run the script install.sh

Well firsr of all my make of mobile is not present in list,

If I try some other LG script closes with some error

Some One on web says there is a USB driver problem in kernel 2.0.4.* so upgrade to 6.

But this is not valid solution, (too much effort for small thing). Also this is quit risky as there are so many things to be changed for one kernal upgrade.

so any one gone through same problem and got any simple solution

like only USB driver upgrade using some RPM

Dhananjay

Share this post


Link to post
Share on other sites

Its very simple to configure this for linux!!!

Another method is

Modprobe ….*** (uhci, ohci )

this is not required and it is already done when your computer starts. This is the driver for your USB port!!

you should do as root:

modprobe ftdi_sio

I'm assuming that your phone has a USB cable, if its serial then thing are little easier.

First you just have to get the "modem initialization string" for your phone. For an LG rd2030 this is "at+cta=30". For your phone find out what it is from the windows, modem advanced settings extra setting dialog box.

Now install any LG phone using the reliance tarball as root, no need to connect the phone at this time.

now plug in your phone and type

tail -f /var/log/messages

as root.

your should see something like this:

Jul 22 00:00:15 localhost kernel: hub.c: new USB device 00:02.1-3, assigned address 4

Jul 22 00:00:15 localhost kernel: usbserial.c: FTDI 8U232AM Compatible converter detected

Jul 22 00:00:15 localhost kernel: usbserial.c: FTDI 8U232AM Compatible converter now attached to ttyUSB0 (or usb/tts/0 for devfs)

this:

usb/tts/0
or this :
ttyUSB0
is what you need, this is where linux has put your phone port!!!

to find out which one try :

[root@localhost mastercook]# cat /dev/ttyUSB0
cat: /dev/ttyUSB0: Resource temporarily unavailable
[root@localhost mastercook]# cat /dev/usb/tts/0
cat: /dev/usb/tts/0: Resource temporarily unavailable
[root@localhost mastercook]#

In my system both are there and are " temporarily unavailable" because im connected now!! If i was not connected than i would get no output just a blank line waiting for some data. SO you would probably have to do ctrl-C to exit.

now do

rm /dev/rmodem
ln -sf  /dev/ttyUSB0 /dev/rmodem

" /dev/ttyUSB0 " replace this with whatever the output was from the first command.

and now you should be able to connect with

rconnect *********** ***********

if you cant then

tail -f /var/log/messages

will show you where you went wrong, (besides buying reliance :-))

If you post the error message here maybe i can help you more.

I was even able to get my tata indicom phone working with my suse, mandrake and redhat using the same script just by changing the port and the initialisation script!!

regards

Kunal

Share this post


Link to post
Share on other sites

thanx kunal,

well i will try again.

the problem is i have a windows from where i surf the net (using LG RD 7230 )

and then i have linux,

which is not connected any where

so i cant show u guys the error messages.

any way will try to make a FAT32 drive and then share that drive with both OS .

comming back to topic

thanks guys , i will try ur methords and come back to you in case of any problem.

Dhananjay

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×