Bug 13555 - Mobidata EDGE modem issue with Linux Kernel (cp2101.c)
Summary: Mobidata EDGE modem issue with Linux Kernel (cp2101.c)
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: All Linux
: P1 high
Assignee: Greg Kroah-Hartman
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-17 07:01 UTC by Shehab
Modified: 2009-09-17 04:43 UTC (History)
5 users (show)

See Also:
Kernel Version: 2.6.29
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Shehab 2009-06-17 07:01:43 UTC
Hi,

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 (www.bdosn.org), 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.

|=============|
Regards,
Abu Mohammad Omar Shehab Uddin Ayub
(আবু মোহাম্মদ ওমর শেহাবউদ্দীন আইয়ুব)
Software Engineer, Nilavo Technologies, Banani, Dhaka
Bangladesh Open Source Network, Dhaka
2000 batch, Dept. of CSE, SUST
Sent from Dhaka, Bangladesh
Comment 1 Greg Kroah-Hartman 2009-06-17 13:43:43 UTC
This will be resolved in the 2.6.31 kernel release, can you test the 2.6.31-rc1 kernel when it comes out?

It was more than just a device id change, this is a new device type that needed to be supported.
Comment 2 Shehab 2009-06-17 16:00:29 UTC
So, you need to write a good number of code, right?
Comment 3 Shehab 2009-06-18 04:37:06 UTC
Thanks Greg. I will test it when you are done.
Comment 4 Greg Kroah-Hartman 2009-06-19 14:01:15 UTC
The code is already finished and submitted to Linus, it will show up in 2.6.31-rc1 when it is released in a few days.
Comment 5 Shehab 2009-06-19 16:37:24 UTC
Have you tested with the original device? It is Mobidata EDGE Modem 100EU.
Comment 6 Mike 2009-07-28 08:33:45 UTC
We are testing this device now on 2.6.31-rc4 and ubuntu 9.04.
The device is detecting correctly on ttyUSB0 but when attempting to communicate with it using minicom it comes up with a gibberish character repeated. Nothing Intelligible, no error response or anything.
Comment 7 Shehab 2009-07-29 15:15:39 UTC
Does that device work properly in Windows system?
Comment 8 Mike 2009-07-29 15:28:11 UTC
Yes i have just connected it in windows now
Comment 9 Shiplu Mokaddim 2009-08-02 22:14:24 UTC
What is the status of this bug? Is it really resolved??

I dont know when my Ubuntu will upgrade its kernel to 2.6.31. Currently I am using 2.6.28 kernel in Ubuntu 9.04. I think I have to upgrade the kernel manually to 2.6.31-rc4. Do you think I can connect this device and it will be recognized in Ubuntu 9.04 after upgrading kernel manually ? 

Thanks in advance.

-- 
A K M Mokaddim
http://talk.cmyweb.net
http://twitter.com/shiplu
=========================
Explorer and Learner
Comment 10 Greg Kroah-Hartman 2009-08-03 03:22:06 UTC
It should.  Contact your distro about fixing their kernel if you have issues with it, nothing we can do there, sorry.
Comment 11 Mike 2009-08-03 08:26:52 UTC
I manually upgraded to 2.6.31-rc4, everything works well except that modem! So i would say i dont think so, try it anyway it could just be me.
Comment 12 Greg Kroah-Hartman 2009-08-03 15:51:20 UTC
Please try 2.6.31-rc5, usb-serial devices were broken in -rc4.
Comment 13 Sameeul Bashir 2009-08-05 13:03:53 UTC
I upgraded my kernel to 2.6.31-rc5, but it still cannot detect the modem. Though I am not a geek, still i would like to share some facts that I have observed. The model number of my device is same as Shehab's one, but device id is different. 

this is the output for me of lsusb command

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 08ff:2580 AuthenTec, Inc. AES2501 Fingerprint Sensor
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 04fc:2140 Sunplus Technology Co., Ltd
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

here sunplus technology is my modem...because when I unplug my modem and try lsusb every other item remains the same, only sunplus does not appear in the list.

But, there is another interesting thing when I plug it in windows look for vendor ID and product id  I found the vendor id is same but product id is 1240 not 2140 (what I found on linux) !!!

I guess the "Zero CD Rom" thing is the root of all problem. I don't know whether you discovered this fact or not, when you plug mobidata to your usb, it first act as a CD rom...i guess the modem has a autorun emulator for CD-rom. and after u install all the driver from that emulated cd-rom, there is a file called runafterinsert.exe which stops the emulator working.

In linux, I found similar thing happen...lf yo check the syslog entry, you will find that it detects the usb device as a scsi cd-rom, bt as we don't have any runafterinsert.exe like thing for linux, we can not stop the emulator and use it a  modem.
Comment 14 s. m. ibrahim lavlu 2009-08-05 13:27:40 UTC
for last 6 month i am using sentara (not sure the name right now), here i use a simple hack, after insert the modem i  wait for few second, after the drive appears in nautilus i second click on the icon and click eject , and make sure the drive fully vanish. then i can use this as normal modem using wvdial :) you can try this way.
Comment 15 Greg Kroah-Hartman 2009-08-05 13:31:43 UTC
Yes, the 'eject' command (same as pressing eject in nautilus) is the recommended
way to resolve this issue.
Comment 16 Mike 2009-08-05 15:43:38 UTC
I havnt tried the latest kernel, but the eject command is pretty standard with all of these modems. There is a tool called USB Modeswitch that i use in linux to make them just appear as modems.

Other than that, after ejecting it will then detect as the real device and install the driver provided linux supports the modem. The old linux kernel versions did not. RC4 was bugged in the serial so that didnt work so my guess is if rc5 works then it's all go when you eject.
Comment 17 Shiplu Mokaddim 2009-08-05 16:04:45 UTC
Sameeul, My Mobidata modem has no "Zero CD Rom" thing. Its the older one. It only contains modem. No driver in it that will be installed in Autorun in windows. They gave me driver cd when I bought it. Your modem is quite recent I guess. I bought my modem 2 years ago. And this does not work.

And Greg I have no way to 'eject' to resolve it.
Comment 18 Shehab 2009-08-31 13:56:07 UTC
Mobidata company just forwarded this document.

Please check.

http://omarshehab.googlepages.com/Edge_sunUSBmodemonLinux.pdf
Comment 19 Shiplu Mokaddim 2009-09-01 14:34:43 UTC
I did what is stated in the provided pdf file.
It doesn't work.
May be it works on new devices. Not 100EU, I guess. And this specification is written after then have manufactured a number of new devices. 
If I follow the instructions, It just creates a new device (/dev/ttyUSB0). But the device is not a modem device. So can't communicate with it. 

I heard some people made it working in linux following those procedures. But all of them owns new devices.
Comment 20 Shehab 2009-09-17 04:43:31 UTC
I assume 2.6.31 is yet to have a fix regarding this modem.

Note You need to log in before you can comment on or make changes to this bug.