Bug 496426

Summary: Huawei CDMA Modem not recognized by NetworkManager
Product: [Fedora] Fedora Reporter: Deependra Singh Shekhawat <jeevanullas>
Component: NetworkManagerAssignee: Dan Williams <dcbw>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 10CC: arxs, dcbw, huzaifas
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: 0.7.1-8.git20090708.fc11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-07-24 19:45:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
lsusb output for the Huawei device
none
working wvdial.conf
none
output of lshal
none
/tmp/probe.log
none
/var/log/messages none

Description Deependra Singh Shekhawat 2009-04-19 01:45:23 UTC
Created attachment 340197 [details]
lsusb output for the Huawei device

Description of problem:
Huawei CDMA Modem with the following details is not recgonized by NetworkManager in fedora 10.

idVendor=12d1, idProduct=1411

Full lsusb -v information about the device is attached with this bug report.

Though the following device works perfectly with wvdial.

Version-Release number of selected component (if applicable):
kernel-2.6.27.21-170.2.56.fc10.i686
NetworkManager-glib-0.7.1-1.fc10.i386
NetworkManager-0.7.1-1.fc10.i386
NetworkManager-gnome-0.7.1-1.fc10.i386


How reproducible:


Steps to Reproduce:
1. Boot a updated Fedora 10 system
2. Plug in a Huawei CDMA modem with vendor id=0x12d1 and product id=0x1411

Well I am not at all sure if the below step is the right step to follow as for me the logs suggested (shown below) says NM doesn't recognize broadband capabilities.
3. Click on the nm-applet on the panel to select the mobile broadband device / connection. 

4. Step 3 didn't showed anything in the list so I went on creating a new mobile broadband connection by right click on nm-applet and selecting Edit Connections ... 
5. Within the Edit connections (nm-editor) selecting mobile broadband tab , clicking on a add button.
6. Select CDMA connection.
7. Fill in the following values

Number: #777
Username: mobile phone number
Password: mobile phone number

Rest all settings kept as default.

8. Apply the connection settings and close the edit connections tab
9. Click on nm-applet again to see if the connection is listed now, but it is not.
  
Actual results:
The logs below suggests or say something about GSM but this device is a CDMA device.

tail -f /var/log/messages (when the device is plugged in)

Apr 19 06:51:52 hax0r kernel: usb 3-1: new full speed USB device using uhci_hcd and address 7
Apr 19 06:51:57 hax0r kernel: usb 3-1: configuration #1 chosen from 1 choice
Apr 19 06:51:57 hax0r kernel: scsi9 : SCSI emulation for USB Mass Storage devices
Apr 19 06:51:57 hax0r kernel: usb 3-1: New USB device found, idVendor=12d1, idProduct=1411
Apr 19 06:51:57 hax0r kernel: usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Apr 19 06:51:57 hax0r kernel: usb 3-1: Product: Huawei Technologies
Apr 19 06:51:57 hax0r kernel: usb 3-1: Manufacturer: Huawei, Incorporated
Apr 19 06:51:58 hax0r kernel: usb 3-1: USB disconnect, address 7
Apr 19 06:52:00 hax0r kernel: usb 3-1: new full speed USB device using uhci_hcd and address 8
Apr 19 06:52:05 hax0r kernel: usb 3-1: configuration #1 chosen from 1 choice
Apr 19 06:52:05 hax0r kernel: scsi10 : SCSI emulation for USB Mass Storage devices
Apr 19 06:52:05 hax0r kernel: usb 3-1: New USB device found, idVendor=12d1, idProduct=1411
Apr 19 06:52:05 hax0r kernel: usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Apr 19 06:52:05 hax0r kernel: usb 3-1: Product: Huawei Technologies
Apr 19 06:52:05 hax0r kernel: usb 3-1: Manufacturer: Huawei, Incorporated
Apr 19 06:52:05 hax0r kernel: usb 3-1: USB disconnect, address 8
Apr 19 06:52:05 hax0r kernel: usb 3-1: new full speed USB device using uhci_hcd and address 9
Apr 19 06:52:05 hax0r kernel: usb 3-1: configuration #1 chosen from 1 choice
Apr 19 06:52:05 hax0r kernel: usb-storage: probe of 3-1:1.0 failed with error -5
Apr 19 06:52:05 hax0r kernel: option 3-1:1.0: GSM modem (1-port) converter detected
Apr 19 06:52:05 hax0r kernel: usb 3-1: GSM modem (1-port) converter now attached to ttyUSB0
Apr 19 06:52:05 hax0r kernel: usb-storage: probe of 3-1:1.1 failed with error -5
Apr 19 06:52:05 hax0r kernel: option 3-1:1.1: GSM modem (1-port) converter detected
Apr 19 06:52:05 hax0r kernel: usb 3-1: GSM modem (1-port) converter now attached to ttyUSB1
Apr 19 06:52:05 hax0r kernel: usb-storage: probe of 3-1:1.2 failed with error -5
Apr 19 06:52:05 hax0r kernel: option 3-1:1.2: GSM modem (1-port) converter detected
Apr 19 06:52:05 hax0r kernel: usb 3-1: GSM modem (1-port) converter now attached to ttyUSB2
Apr 19 06:52:05 hax0r kernel: usb 3-1: New USB device found, idVendor=12d1, idProduct=1411
Apr 19 06:52:05 hax0r kernel: usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Apr 19 06:52:05 hax0r kernel: usb 3-1: Product: Huawei Technologies
Apr 19 06:52:05 hax0r kernel: usb 3-1: Manufacturer: Huawei, Incorporated
Apr 19 06:52:06 hax0r NetworkManager: <info>  (ttyUSB2): ignoring due to lack of mobile broadband capabilties
Apr 19 06:52:06 hax0r NetworkManager: <info>  (ttyUSB1): ignoring due to lack of mobile broadband capabilties
Apr 19 06:52:06 hax0r NetworkManager: <info>  (ttyUSB0): ignoring due to lack of mobile broadband capabilties


Expected results:
When device attached to the system NetworkManager should detect the device and creating a new CDMA connection from within the NetworkManager should work.

Additional info:
I probably think this device needs to be added to the NM database. I don't know what and where this database is located. Also note that this device requires some special INIT strings to be made functional with wvdial. The working wvdial.conf file is attached with this bug report.

Also looking about the device on internet I found that there was a problem with this device as this device was recognized as usb mass storage device and later a udev rule needs to be written which calls some program like usb_modeswitch which switch the device from a storage device to a modem device.

I am not using any such program at the moment and the device works properly with wvdial.

Any more information if required can be provided.

Thanks
Deependra Singh Shekhawat

Comment 1 Deependra Singh Shekhawat 2009-04-19 01:46:58 UTC
Created attachment 340198 [details]
working wvdial.conf

Comment 2 Deependra Singh Shekhawat 2009-04-19 01:57:59 UTC
Hello,

Just for the information I would like to quote here what's written on the modem:

Model: EC121
CDMA: 1X USB Modem

Thanks

Comment 3 Deependra Singh Shekhawat 2009-04-19 02:19:02 UTC
Created attachment 340199 [details]
output of lshal

Just thought that this output might be helpful too.

Comment 4 Deependra Singh Shekhawat 2009-04-19 03:27:37 UTC
Created attachment 340200 [details]
/tmp/probe.log 

Enabled logging for udev modem prober as suggested here
https://bugzilla.redhat.com/show_bug.cgi?id=487663#c27

and attaching the appropriate /tmp/probe.log file.

Comment 5 Niels Haase 2009-04-19 20:27:44 UTC
This bug has been triaged

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 6 Dan Williams 2009-04-21 10:33:00 UTC
Could you unplug the modem, then as root run "udevadm control --log_priority=debug", then replug the modem?  Then attach your /var/log/messages.

Comment 7 Deependra Singh Shekhawat 2009-04-21 12:17:32 UTC
Created attachment 340508 [details]
/var/log/messages

Well I just did the following

# cp /var/log/messages /var/log/messages-20090421
# echo '' /var/log/messages
# udevadm control --log_priority=debug

Plugged the modem back in and it kind of flooded the /var/log/messages which is attached with this comment.

What can I tell from this log is that the kernel tries to think that the modem is a usb-storage device but then it is unable to use the device that way and try with some other address and keep on trying (tried 8 times) and finally found the device as a modem.

Let me know what else I can provide to you.

Thanks alot!
Deependra Singh Shekhawat

Comment 8 Dan Williams 2009-04-22 17:17:59 UTC
Luck for you I actually have one of these cards now.  It is quite "special".  How long does it take before the card actually shows up as /dev/ttyUSBx (where x is of course a number)?  Sometimes mine just keeps disconnecting and reconnecting to the bus, seems there's something wrong with the storage-device supression logic in the kernel driver there on F10.

But aside from that, the first problem is that the card returns a malformed response to AT+GCAP inquiries.  That's quite annoying but can be worked around.

It also returns "COMMAND NOT SUPPORT" instead of the standard AT-style response which is "ERROR" or "ERR".  Stunningly wrong.

Comment 9 Deependra Singh Shekhawat 2009-04-22 17:51:15 UTC
Hi,

Great, so you have this. It takes approximately 35-40 seconds.

Yeah I do have problems when I use wvdial. The modem gets hung up sometime and even after killing pppd and restarting wvdial it doesn't help. I have to un-plug the modem and plug it back , again wait for like 35-40 seconds for the kernel to finally believe that it's a modem and not a usb mass storage device and then I can run wvdial.

Note here that if I forcefully remove usb-storage kernel module (which sometimes I can't because of external usb storage) after just plugging in the modem the kernel makes a quick decision as I guess it doesn't have any alternative ;-)

I heard about usb mode switch stuff too. I haven't tried that so I don't know whether it will work or not. But then it's really a work around.

Thanks

Comment 10 Dan Williams 2009-04-22 21:38:42 UTC
mode switch stuff shouldn't be necessary as long as the modem shows up with a usable serial port; there's already some modeswith stuff built into the kernel to handle it.

Comment 11 Huzaifa S. Sidhpurwala 2009-04-23 03:11:55 UTC
Dan,
If you want to speed up the process you need to do this:
rmmod usb-storage

You do this several times [ Most of the time i have to do this only once ]
and you get the ttyUSBX interfaces.

Comment 12 Deependra Singh Shekhawat 2009-04-23 04:43:09 UTC
Just today I tried using the modem and found to my surprise that it took forever for the kernel to find that the modem is not a usb mass storage and finally I had to 

modprobe -r usb-storage

in order to make it work.

Thanks

Comment 13 Deependra Singh Shekhawat 2009-04-28 13:05:37 UTC
Hi,

Today for doing some tests I downloaded the following kernel from koji.

2.6.29.2-52.fc10.i686

and rebooted. When I plug the device now , it gets detected instantly without much polling I should say. Below are the logs

Apr 28 18:30:05 hax0r kernel: usb 4-1: new full speed USB device using uhci_hcd and address 3
Apr 28 18:30:10 hax0r kernel: usb 4-1: New USB device found, idVendor=12d1, idProduct=1411
Apr 28 18:30:10 hax0r kernel: usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Apr 28 18:30:10 hax0r kernel: usb 4-1: Product: Huawei Technologies
Apr 28 18:30:10 hax0r kernel: usb 4-1: Manufacturer: Huawei, Incorporated
Apr 28 18:30:10 hax0r kernel: usb 4-1: configuration #1 chosen from 1 choice
Apr 28 18:30:10 hax0r kernel: usb-storage: probe of 4-1:1.0 failed with error -1
Apr 28 18:30:10 hax0r kernel: usb 4-1: USB disconnect, address 3
Apr 28 18:30:10 hax0r kernel: usb 4-1: new full speed USB device using uhci_hcd and address 4
Apr 28 18:30:11 hax0r kernel: usb 4-1: New USB device found, idVendor=12d1, idProduct=1411
Apr 28 18:30:11 hax0r kernel: usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Apr 28 18:30:11 hax0r kernel: usb 4-1: Product: Huawei Technologies
Apr 28 18:30:11 hax0r kernel: usb 4-1: Manufacturer: Huawei, Incorporated
Apr 28 18:30:11 hax0r kernel: usb 4-1: configuration #1 chosen from 1 choice
Apr 28 18:30:11 hax0r kernel: usb-storage: probe of 4-1:1.0 failed with error -5
Apr 28 18:30:11 hax0r kernel: usb-storage: probe of 4-1:1.1 failed with error -5
Apr 28 18:30:11 hax0r kernel: usb-storage: probe of 4-1:1.2 failed with error -5
Apr 28 18:30:11 hax0r kernel: usbcore: registered new interface driver usbserial
Apr 28 18:30:11 hax0r kernel: USB Serial support registered for generic
Apr 28 18:30:11 hax0r kernel: usbcore: registered new interface driver usbserial_generic
Apr 28 18:30:11 hax0r kernel: usbserial: USB Serial Driver core
Apr 28 18:30:11 hax0r kernel: USB Serial support registered for GSM modem (1-port)
Apr 28 18:30:11 hax0r kernel: option 4-1:1.0: GSM modem (1-port) converter detected
Apr 28 18:30:11 hax0r kernel: usb 4-1: GSM modem (1-port) converter now attached to ttyUSB0
Apr 28 18:30:11 hax0r kernel: option 4-1:1.1: GSM modem (1-port) converter detected
Apr 28 18:30:11 hax0r kernel: usb 4-1: GSM modem (1-port) converter now attached to ttyUSB1
Apr 28 18:30:11 hax0r kernel: option 4-1:1.2: GSM modem (1-port) converter detected
Apr 28 18:30:11 hax0r kernel: usb 4-1: GSM modem (1-port) converter now attached to ttyUSB2
Apr 28 18:30:11 hax0r kernel: usbcore: registered new interface driver option
Apr 28 18:30:11 hax0r kernel: option: v0.7.2:USB Driver for GSM modems
Apr 28 18:30:11 hax0r NetworkManager: <info>  (ttyUSB2): ignoring due to lack of mobile broadband capabilties
Apr 28 18:30:11 hax0r NetworkManager: <info>  (ttyUSB1): ignoring due to lack of mobile broadband capabilties


Thanks

Comment 14 Dan Williams 2009-06-03 18:25:06 UTC
FYI the necessary prober fixes are upstream as:

2eebb3e2e36f702a365a9b241668ec6d7964311a   modem-probe: recognize Huawei EC121

Comment 15 Fedora Update System 2009-06-19 13:44:44 UTC
wpa_supplicant-0.6.8-4.fc11, NetworkManager-0.7.1-5.git20090617.fc11, mobile-broadband-provider-info-0.20090602-2.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update wpa_supplicant NetworkManager mobile-broadband-provider-info'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-6769

Comment 16 Fedora Update System 2009-06-27 02:41:48 UTC
wpa_supplicant-0.6.8-4.fc11, NetworkManager-0.7.1-5.git20090617.fc11, mobile-broadband-provider-info-0.20090602-2.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update wpa_supplicant NetworkManager mobile-broadband-provider-info'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-6769

Comment 17 Fedora Update System 2009-07-02 05:44:01 UTC
wpa_supplicant-0.6.8-4.fc11, mobile-broadband-provider-info-0.20090602-2.fc11, NetworkManager-0.7.1-6.git20090617.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update wpa_supplicant mobile-broadband-provider-info NetworkManager'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-6769

Comment 18 Fedora Update System 2009-07-16 07:07:25 UTC
NetworkManager-0.7.1-8.git20090708.fc11, mobile-broadband-provider-info-1.20090707-1.fc11, wpa_supplicant-0.6.8-4.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update NetworkManager mobile-broadband-provider-info wpa_supplicant'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-6769

Comment 19 Fedora Update System 2009-07-24 19:44:38 UTC
NetworkManager-0.7.1-8.git20090708.fc11, mobile-broadband-provider-info-1.20090707-1.fc11, wpa_supplicant-0.6.8-4.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.