Chirag 5 Report post Posted February 17, 2004 (edited) 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... IntroductionThis 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 July 22, 2004 by niket Share this post Link to post Share on other sites
niket 0 Report post Posted February 17, 2004 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
samar 0 Report post Posted March 5, 2004 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
niket 0 Report post Posted March 5, 2004 (edited) 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 March 5, 2004 by chirag Share this post Link to post Share on other sites
samar 0 Report post Posted March 7, 2004 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
niket 0 Report post Posted March 7, 2004 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
gdi123 0 Report post Posted March 14, 2004 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
share&learn 0 Report post Posted May 12, 2004 I use LG2030 on PCQLINUX 2004 but i have to shell to dial can anyone suggest how use any graphical interface to connect to internet using linux Share this post Link to post Share on other sites
DEV 0 Report post Posted June 1, 2004 (edited) 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 June 1, 2004 by Chirag Share this post Link to post Share on other sites
niket 0 Report post Posted July 17, 2004 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
Dhananajay 0 Report post Posted July 21, 2004 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
dapoedbyreliance 0 Report post Posted July 21, 2004 Its very simple to configure this for linux!!! Another method isModprobe ….*** (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 4Jul 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/0or 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
Dhananajay 0 Report post Posted July 22, 2004 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