RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 632646 - Vodafone 3G modem not working
Summary: Vodafone 3G modem not working
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: udev
Version: 6.0
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Harald Hoyer
QA Contact: qe-baseos-daemons
URL:
Whiteboard:
: 684297 715009 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-09-10 15:56 UTC by Alexander Todorov
Modified: 2012-03-01 18:08 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Previously, a udev rule used the modem-modeswitch callout on the Vodafone K3565-Z 3G modem. As a consequence, a medium in a virtual CD-ROM drive could not be ejected to activate the modem functionality. With this update, the modem-modeswitch callout is no longer used for this device and a medium is automatically ejected instead, thus fixing this bug.
Clone Of:
Environment:
Last Closed: 2011-12-06 16:26:52 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:1649 0 normal SHIPPED_LIVE udev bug fix and enhancement update 2011-12-06 00:50:29 UTC

Description Alexander Todorov 2010-09-10 15:56:57 UTC
Description of problem:
Vodafone K3565-Z 3G modem is not working on RHEL6 while it does on F12 (and more or less on RHEL5). This is a dual mode device which functions as CD-ROM and as a modem. When ID is 19d2:2000 it is a CD-ROM when 19d2:0063 - a modem.

When plugged in for the first time on F12 it is automounted as CD-ROM. (same on RHEL5). When the CD-ROM is ejected after a few seconds lsusb reports the new ID and the device enters into modem mode. Then the driver kicks in and several ttyUSB* devices are created. 


Version-Release number of selected component (if applicable):
kernel-2.6.32-71.el6.i686

How reproducible:
Always

Steps to Reproduce:
1. Plugin the device
  
Actual results:
On RHEL6 after plugging in the device it is not automounted as CD-ROM. Because of that it can't be ejected and used as a modem. 

Expected results:
Device is mounted as CD-ROM.

Additional info:
(18,36,26) dzickus: is there anything in dmesg
(18,36,32) dzickus: when you connect the device
(18,37,00) dzickus: *though to be honest I don't know much about serial usb* but I can poke around
(18,37,14) atodorov: usb 1-2: new high speed USB device using ehci_hcd and address 6
(18,37,14) atodorov: usb 1-2: New USB device found, idVendor=19d2, idProduct=2000
(18,37,14) atodorov: usb 1-2: New USB device strings: Mfr=2, Product=1, SerialNumber=3
(18,37,14) atodorov: usb 1-2: Product: ZTE CDMA Technologies MSM
(18,37,14) atodorov: usb 1-2: Manufacturer: ZTE,Incorporated
(18,37,14) atodorov: usb 1-2: SerialNumber: P673A2VDF_MS
(18,37,14) atodorov: usb 1-2: configuration #1 chosen from 1 choice
(18,37,14) atodorov: scsi5 : SCSI emulation for USB Mass Storage devices
(18,37,14) atodorov: usb-storage: device found at 6
(18,37,14) atodorov: usb-storage: waiting for device to settle before scanning
(18,37,47) dzickus: ok that looks good
(18,38,07) atodorov: see the idProduct, 2000 here means CD-ROM, modem is 0063
(18,38,30) dzickus: ah
(18,38,34) atodorov: and this is the last thing in dmesg
(18,38,40) atodorov: on Fedora there's much more
(18,39,13) dzickus: i assume in Fedora it actually goes through the whole scsi process of setting up the disk
(18,40,03) atodorov: I think so, not sure about that bug udevadm monitor shows scsi device added and then removed
(18,40,17) atodorov: how is that different from RHEL
(18,40,50) dzickus: well remember RHEL forked from F12 and became its own beast
(18,40,59) dzickus: something probably broke as the beast grew
(18,41,05) dzickus: :-)
(18,41,25) dzickus: so F12 worked correctly right?
(18,41,32) atodorov: yes
(18,42,11) dzickus: i can look through the rhel6 tree to see what changed, though usb was fairly quiet
(18,42,32) dzickus: but on F12 the idProduct=0063 and not 2000?
(18,43,37) atodorov: ok, here's what's happening on F12
(18,43,58) atodorov: first time when you plug the device in idProduct is 2000
(18,44,07) atodorov: the device is auto mounted  as cdrom
(18,44,23) atodorov: when I eject the cdrom then idProduct becomes 0063 and it works as a modem
(18,44,48) atodorov: there's the usb_modeswitch{-data} packages which do the eject automatically 
(18,44,57) atodorov: but even without those packages it works
(18,45,09) dzickus: oh.
(18,45,22) atodorov: now on RHEL6 idProduct is 2000 in the beginning but the device is not automounted
(18,45,28) dzickus: so rhel6 starts to do the right thing, but it seems like the scsi layer don't do the eject properly
(18,45,30) atodorov: if it were I could eject it
(18,45,50) dzickus: ok
(18,46,06) dzickus: so the question is why is it not mouting the cdrom
(18,46,17) atodorov: I guess so
(18,46,23) dzickus: and instead spedning all its time 'settling'
(18,46,30) atodorov: fyi on RHEL5 it's mounting the cd-rom
(18,47,01) atodorov: then same as on F12 after eject (but driver on el5 is much older and virtually unusable)
(18,47,10) dzickus: i'm sure
(18,47,46) dzickus: sounds like something broke in the scsi layer
(18,47,54) dzickus: unfortunately, i can't dig into this today
(18,48,22) dzickus: if you want to open a bz and add me to it i can look next week perhaps

Comment 5 Don Zickus 2010-12-15 14:25:24 UTC
So upstream is nak'ing the patch saying that the proper fix is to use usb-modeswitch.  Have you tried that?  Though it doesn't look like it is available for RHEL-6.

Cheers,
Don

Comment 6 Alexander Todorov 2010-12-15 16:51:35 UTC
Hi Don,
I can build usb-modeswitch myself but I don't really need that. Once the device appears as CD-ROM it can be ejected and then it switches into modem mode. 

The original issue reported was that the modem device never appeared as CD-ROM with the GA kernel and hence it cannot be switched into modem mode. See the irc discussion in comment #0. 

Now with the test kernel provided in comment #2 everything works without usb_modeswitch. Looks like the proper fix is somewhere in between.

Comment 7 Don Zickus 2010-12-15 18:24:52 UTC
Can you comment out the udev rule in /lib/udev/rules.d/61-option-modem-modeswitch.rules pertaining to the device id 19d2 (at the bottom) and try to reconnect.  Then you might be able to manually eject the device.

Currently I think udev tries to use the old modem-modeswitch app, which may cause problems.

Cheers,
Don

Comment 8 Alexander Todorov 2010-12-17 12:26:32 UTC
Hi Don,
I've commented out the entry for my modem in the udev rules file. The result is this:

Tested with kernel 2.6.32-71.7.1.el6.i686

When I first plugin the device lsusb reports:
Bus 001 Device 008: ID 19d2:2000 ONDA Communication S.p.A. ZTE MF627/MF628/MF628+/MF636+ HSDPA/HSUPA


Then after a while it initializes (the led on the device turns from red to blue meaning it registered on the GSM network). lsusb reports:
Bus 001 Device 005: ID 19d2:0063 ONDA Communication S.p.A. 



This is without usb_modeswitch installed.

This is a prepaid card which expired the other day. I will re-charge it and try to connect to the Internet once again.

Comment 9 Alexander Todorov 2010-12-17 13:56:30 UTC
Hi Don,
I've confirmed that I can connect to the Internet after re-charging the pre-paid card. So my previous comment stays: 

With kernel 2.6.32-71.7.1.el6.i686 and the modem line in /lib/udev/rules.d/61-option-modem-modeswitch.rules disabled the device automatically switches into modem mode after a while. 

I also found that 61-mobile-action.rules will call /bin/eject on the device which will make it switch into the right mode. There's also the 77-mm-zte-port-types.rules file (from ModemManager), which I'm not sure what it does.

Comment 10 David Egts 2010-12-17 14:25:32 UTC
For what it's worth, I'm seeing the same thing with a Virgin Mobile MiFi 2200.

It's presented as a USB Mass Storage device at first (idVendor=1410, idProduct=5020).  If I eject it, it switches to a USB mobile broadband device (idVendor=1410, idProduct=6000) and works great.

Simply hitting the eject button is a totally fine workaround, but it would be much more elegant and intuitive to be able to skip the CD part and jump right to acting like a USB mobile broadband device right away.

Comment 11 Don Zickus 2010-12-17 14:41:08 UTC
(In reply to comment #10)
> For what it's worth, I'm seeing the same thing with a Virgin Mobile MiFi 2200.
> 
> It's presented as a USB Mass Storage device at first (idVendor=1410,
> idProduct=5020).  If I eject it, it switches to a USB mobile broadband device
> (idVendor=1410, idProduct=6000) and works great.
> 
> Simply hitting the eject button is a totally fine workaround, but it would be
> much more elegant and intuitive to be able to skip the CD part and jump right
> to acting like a USB mobile broadband device right away.

David,

Can you add the following line to the bottom of our /lib/udev/rules.d/61-mobile-action.rules file

ACTION=="add", ENV{ID_CDROM}=="1", ENV{ID_VENDOR_ID}=="1410", ENV{ID_MODEL_ID}=="5020", RUN+="/usr/bin/eject %k"

And let me know if that worked seamlessly for you?

Cheers,
Don

Comment 12 Don Zickus 2010-12-17 14:43:44 UTC
(In reply to comment #9)
> Hi Don,
> I've confirmed that I can connect to the Internet after re-charging the
> pre-paid card. So my previous comment stays: 
> 
> With kernel 2.6.32-71.7.1.el6.i686 and the modem line in
> /lib/udev/rules.d/61-option-modem-modeswitch.rules disabled the device
> automatically switches into modem mode after a while. 
> 
> I also found that 61-mobile-action.rules will call /bin/eject on the device
> which will make it switch into the right mode. There's also the
> 77-mm-zte-port-types.rules file (from ModemManager), which I'm not sure what it
> does.

Thanks Alexander.

I am going to move this bz over to the udev component and suggest that maintainer remove the following line from /lib/udev/61-option-modem-modeswitch.rules:

ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="2000", RUN+="modem-modeswitch -v 0x%s{idVendor} -p 0x%s{idProduct} -t option-zerocd"

Thanks,
Don

Comment 13 Don Zickus 2010-12-17 14:44:58 UTC
Changing to udev component.  The problems described in this bz can be fixed by updating the udev rules.

Cheers,
Don

Comment 14 David Egts 2010-12-17 18:22:34 UTC
(In reply to comment #11)
> (In reply to comment #10)
> > For what it's worth, I'm seeing the same thing with a Virgin Mobile MiFi 2200.
> > 
> > It's presented as a USB Mass Storage device at first (idVendor=1410,
> > idProduct=5020).  If I eject it, it switches to a USB mobile broadband device
> > (idVendor=1410, idProduct=6000) and works great.
> > 
> > Simply hitting the eject button is a totally fine workaround, but it would be
> > much more elegant and intuitive to be able to skip the CD part and jump right
> > to acting like a USB mobile broadband device right away.
> 
> David,
> 
> Can you add the following line to the bottom of our
> /lib/udev/rules.d/61-mobile-action.rules file
> 
> ACTION=="add", ENV{ID_CDROM}=="1", ENV{ID_VENDOR_ID}=="1410",
> ENV{ID_MODEL_ID}=="5020", RUN+="/usr/bin/eject %k"
> 
> And let me know if that worked seamlessly for you?
> 
> Cheers,
> Don

Seamlessly is indeed the operative word here Don.  It worked PERFECTLY.  No need to explicitly eject since your rule does the ejection for me.  All I needed to do was the USB insertion and in about 30 seconds it showed up in NetworkManager.  Thanks Don!

One minor (minor) suggestion for improvement:  Would there be any way to shorten the 30 seconds or at least provide some user feedback that something was going on?  Someone less patient may think it didn't work if relatively immediate feedback isn't provided.  Perhaps that's an RFE for someone else?

Anyhow, THANK YOU Don!!!

Comment 15 Alexander Todorov 2010-12-20 07:08:51 UTC
Hi David,
the 30 sec (or so) delay is coming from the initialization of the GSM modem. In my particular case the modem has a led indicating that it's initializing and attempting to connect to the network. The led goes through several different colors meaning different things.

If the device is sending a status notification that it's still initializing then IMHO it would be best to file RFE against NetworkManager to detect this notification and visually alert the user.

Comment 16 David Egts 2010-12-20 15:41:44 UTC
(In reply to comment #15)
> Hi David,
> the 30 sec (or so) delay is coming from the initialization of the GSM modem. In
> my particular case the modem has a led indicating that it's initializing and
> attempting to connect to the network. The led goes through several different
> colors meaning different things.
> 
> If the device is sending a status notification that it's still initializing
> then IMHO it would be best to file RFE against NetworkManager to detect this
> notification and visually alert the user.

Done!

https://bugzilla.redhat.com/show_bug.cgi?id=664502

Comment 17 Phil Knirsch 2010-12-23 14:18:47 UTC
Sounds like a doable fix, but doesn't qualify as a blocking issue for RHEL-6.1, so i moved it to 6.2 and approved it from devel side.

Thanks & regards, Phil

Comment 21 Harald Hoyer 2011-06-30 13:31:09 UTC
*** Bug 715009 has been marked as a duplicate of this bug. ***

Comment 22 Harald Hoyer 2011-07-25 14:12:57 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
The Vodafone K3565-Z 3G modem was not working on RHEL6, because udev called modem-modeswitch on the device. This caused, that the virtual cdrom (the devices provides first) could not be ejected, to get to the modem functionality.
The new udev version does not call modem-modeswitch for this device and instead automatically eject the cdrom.

Comment 24 Tomas Capek 2011-08-08 09:42:27 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,2 +1 @@
-The Vodafone K3565-Z 3G modem was not working on RHEL6, because udev called modem-modeswitch on the device. This caused, that the virtual cdrom (the devices provides first) could not be ejected, to get to the modem functionality.
+Previously, a udev rule used the modem-modeswitch callout on the Vodafone K3565-Z 3G modem. As a consequence, a medium in a virtual CD-ROM drive could not be ejected to activate the modem functionality. With this update, the modem-modeswitch callout is no longer used for this device and a medium is automatically ejected instead, thus fixing this bug.-The new udev version does not call modem-modeswitch for this device and instead automatically eject the cdrom.

Comment 26 errata-xmlrpc 2011-12-06 16:26:52 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2011-1649.html

Comment 27 Harald Hoyer 2012-03-01 18:08:00 UTC
*** Bug 684297 has been marked as a duplicate of this bug. ***


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