Welcome to Linux Forums! With a comprehensive Linux Forum, information on various types of Linux software and many Linux Reviews articles, we have all the knowledge you need a click away, or accessible via our knowledgeable members.
Find the answer to your Linux question:
New to Linux Forums? Register here for free!
    Linux Forums > GNU Linux Zone > Wireless Internet > Mobidata EDGE modem issue with Linux Kernel (cp2101.c)

Forgot Password?
 Wireless Internet   Anything related to getting wireless set up in Linux. WLAN, WiFi, etc.

Site Navigation
Linux Articles
Linux Forums
Linux Downloads
Linux Hosting
Free Magazines
Job Board
IRC Chat
RSS Feeds


Linux Forum Topics
Linux Forums
Your Distro
Linux Resources
GNU Linux Zone
The Community
Reply
 
Thread Tools Display Modes
Old 06-16-2009   #1 (permalink)
Just Joined!
 
Join Date: May 2009
Posts: 3
Exclamation Mobidata EDGE modem issue with Linux Kernel (cp2101.c)

I was trying to plug in a Mobidata EDGE modem (100EU) to my Linux (Ubuntu 8.04.2, kernel 2.6.24). It was not working. The lsusb command shows a device id 10CE:EA6A. In the line of 100 of cp2101.c, it says the device id should be 10C5:EA61. I think that's the source of problem everyone is facing with Mobidata EDGE modem. You may like to follow this link to see how many people are acing this problem.

I assume the solution is to edit the line or add a new line for Mobidata EDGE Modem 100EU and recompile the kernel.

The new line should be,

{ USB_DEVICE(0x10CE, 0xEA6A) }, /* Silicon Labs MobiData GPRS USB Modem 100EU */

Here in Bangladesh, a lot number of people and enterprises are using this model and facing problem while migrating to Linux. So, we, Bangladesh Open Source Network (h t t p : / / w w w . bdosn . orgHomepage | Bangladesh Open Source Network), are trying to come up with a solution so that we can promote migration to Linux more cost effectively.

Thanks in advance for your reply.

Last edited by ozar; 06-16-2009 at 06:20 PM..
omarshehab is offline  


Reply With Quote
Old 06-16-2009   #2 (permalink)
Trusted Penguin
 
waterhead's Avatar
 
Join Date: Jul 2004
Location: Franklin, Wisconsin
Posts: 3,957
Hello, and thank you for the information.

There is a file that contains all of the USB device ID's, named usb.ids In Ubuntu 9.04 I found it in /var/lib/misc. You should be able to find it on your system with this command.
Code:
locate usb.ids
As suspected, your modem is not listed, but the EA6A is:
Code:
10ce  Silicon Labs
	ea6a  MobiData EDGE USB Modem
The solution to this may be two-fold. You may need the device to be included in the usb.ids list, and the developers of the driver need to include it.
__________________
Paul

Please do not PM me with requests for help. I will not reply.
waterhead is offline   Reply With Quote
Old 06-16-2009   #3 (permalink)
Just Joined!
 
Join Date: May 2009
Posts: 3
Thanks waterhead for your reply. Adding the data to my device list is possible. But the device maker does not ship it with a Linux driver.

What should I do now?

As the cp2101.c file does have an entry for MobiData EDGE USB Modem, should I consider that the kernel already has a driver?
omarshehab is offline   Reply With Quote
Old 06-16-2009   #4 (permalink)
Trusted Penguin
 
waterhead's Avatar
 
Join Date: Jul 2004
Location: Franklin, Wisconsin
Posts: 3,957
I had to rush off to work earlier, and cut my first post short.

Just adding the USB ID to the list won't make it work. It will just properly recognize it.

I did find what appears to be the web page for the driver development. Sometimes you can get the driver source, and change and install that. This does not appear to be the case with this driver.

CP210x Linux Driver
__________________
Paul

Please do not PM me with requests for help. I will not reply.

Last edited by waterhead; 06-16-2009 at 08:13 PM..
waterhead is offline   Reply With Quote
Old 06-17-2009   #5 (permalink)
Trusted Penguin
 
waterhead's Avatar
 
Join Date: Jul 2004
Location: Franklin, Wisconsin
Posts: 3,957
I think that I have a way that you can just compile the module, instead of the entire kernel. I am using Ubuntu 9.04 with the 2.6.28-11 kernel, so that is what my example will use. You first should install the kernel headers and the kernel source.

First you must modify the driver source file cp2101.c, as omarshehab mentioned in his first post. It is found in the kernel source. Then open the file in a text editor.
Code:
gksudo gedit /usr/src/linux-source-2.6.28/drivers/usb/serial/cp2101.c
I added a new line for the new device, below the existing one.
Code:
	{ USB_DEVICE(0x10C5, 0xEA61) }, /* Silicon Labs MobiData GPRS USB Modem */
	{ USB_DEVICE(0x10CE, 0xEA6A) }, /* Silicon Labs MobiData GPRS USB Modem */
Save the file and exit.

You then need to have a .config file for the kernel source. Enter the kernel source folder with this comman:
Code:
cd /usr/src/linux-source-2.6.28
Then run the config program:
Code:
sudo make menuconfig
You shouldn't have to change anything, but when you exit it should ask if you want to save your configuration. Answer "Yes".

Now run these commands.
Code:
sudo make clean
Code:
sudo make oldconfig
We need a copy of the Modules.symvers file, so run this command:
Code:
sudo cp /usr/src/linux-headers-2.6.28-11-generic/Module.symvers /usr/src/linux-source-2.6.28
Run these commands to prepare the kernel source.
Code:
sudo make scripts
Code:
sudo make prepare
We now will go to the folder that contains the driver source file:
Code:
cd /usr/src/linux-source-2.6.28/drivers/usb/serial
Then run this command. It will compile all of the modules in the /serial folder.
Code:
sudo make -C /usr/src/linux-source-2.6.28 SUBDIRS=$PWD modules
It will build the modules in the same directory. You will need to copy the cp2101 module into the /lib/modules folder:
Code:
cp /usr/src/linux-source-2.6.28/drivers/usb/serial/cp2101.ko /lib/modules/2.6.28-11-generic/kernel/drivers/usb/serial
The new driver will now be loaded the next time it loads. If it is currently loaded, remove it first.
Code:
sudo modprobe -r cp2101
Now load it,
Code:
sudo modprobe cp2101
Let me know how this works out.
__________________
Paul

Please do not PM me with requests for help. I will not reply.
waterhead is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Free Magazines
Run Your Own Web Server Using Linux & Apache - Free 191 Page Preview
Learn about everything you'll need to build and maintain your Linux servers, and to deploy Web applications to them.
subscribe
Open Source Security Myths Dispelled
Dispel the five major myths surrounding Open Source Security and gain the tools necessary to make a truly informed decision for your IT organization
subscribe
InformationWeek
InformationWeek is the only newsweekly you'll need to stay on top of the latest developments in information technology.
subscribe



All times are GMT. The time now is 05:19 AM.






© 2000 - 2009 - All Rights Reserved - Property of  MAS Media

Content Relevant URLs by vBSEO 3.3.0 RC2