Bug 517454 - Add Support for Huawei EC1260 to the RHEL5 kernel
Summary: Add Support for Huawei EC1260 to the RHEL5 kernel
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.5
Hardware: All
OS: Linux
urgent
high
Target Milestone: rc
: ---
Assignee: Pete Zaitcev
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On:
Blocks: 508788 533192 5.5_Known-Issues
TreeView+ depends on / blocked
 
Reported: 2009-08-14 06:59 UTC by Huzaifa S. Sidhpurwala
Modified: 2018-10-27 15:12 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
If a Huawei USB modem is unplugged from a system, the device may not be detected when it is attached again. To work around this issue, the usbserial and usb-storage driver modules need to be reloaded, allowing the system to detect the device. Alternatively, the if the system is rebooted, the modem will be detected also. (BZ#517454)
Clone Of:
Environment:
Last Closed: 2010-03-30 06:59:47 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Test patch 1 (9.36 KB, patch)
2010-01-08 21:01 UTC, Pete Zaitcev
no flags Details | Diff
Test patch 2 (27.87 KB, patch)
2010-01-12 01:28 UTC, Pete Zaitcev
no flags Details | Diff
517454.mon.1 (145.42 KB, text/plain)
2010-03-03 06:45 UTC, Huzaifa S. Sidhpurwala
no flags Details
517454.dmesg.1 (29.70 KB, text/plain)
2010-03-03 06:46 UTC, Huzaifa S. Sidhpurwala
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0178 0 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 5.5 kernel security and bug fix update 2010-03-29 12:18:21 UTC

Description Huzaifa S. Sidhpurwala 2009-08-14 06:59:53 UTC
This bugzilla is in further to:
https://bugzilla.redhat.com/show_bug.cgi?id=485182

We want to add support for EC1260 card 
lsub shows this as:

Bus 004 Device 005: ID 12d1:140b Huawei Technologies Co., Ltd. 


Patch involves the following:

+#define HUAWEI_PRODUCT_E1260		0x140b

+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1260, 0xff, 0xff, 0xff) },
+UNUSUAL_DEV( 0x12d1, 0x140b, 0x0000, 0x0000,
+		"HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+		0),

as per.
https://bugzilla.redhat.com/attachment.cgi?id=341678

Comment 2 Huzaifa S. Sidhpurwala 2010-01-08 06:05:17 UTC
Note: While we are adding the above usb-id's can we pull in the other ids from the upstream kernel too, so that newer devices would work.
This should be really trivial as the change is only usb-ids and there is no code change.
Thanks.

Comment 3 Pete Zaitcev 2010-01-08 21:01:54 UTC
Created attachment 382555 [details]
Test patch 1

This is the whole block as exists in 2.6.33-rc2.

Comment 4 Pete Zaitcev 2010-01-09 01:20:47 UTC
Test kernel available from
 http://people.redhat.com/zaitcev/ftp/517454/
Please verify that it works with the modem.

Comment 6 Pete Zaitcev 2010-01-12 01:28:03 UTC
Created attachment 383135 [details]
Test patch 2

Huzaifa pointed out that I forgot to add the IDs to option.c.

Not sure about adding all of them though. Some are experimental.

Test kernel .2 is available from the same place.

Comment 13 Chris Ward 2010-02-11 10:23:05 UTC
~~ Attention Customers and Partners - RHEL 5.5 Beta is now available on RHN ~~

RHEL 5.5 Beta has been released! There should be a fix present in this 
release that addresses your request. Please test and report back results 
here, by March 3rd 2010 (2010-03-03) or sooner.

Upon successful verification of this request, post your results and update 
the Verified field in Bugzilla with the appropriate value.

If you encounter any issues while testing, please describe them and set 
this bug into NEED_INFO. If you encounter new defects or have additional 
patch(es) to request for inclusion, please clone this bug per each request
and escalate through your support representative.

Comment 14 Huzaifa S. Sidhpurwala 2010-02-12 06:08:12 UTC
Works quite well, but there is one problem.
When i remove the device and re-insert it, the nodes are not recreated.

Here is the output from the logs


Device inserted for the first time:-

Feb 12 11:33:35 huzaifas kernel: usbcore: registered new driver usbserial
Feb 12 11:33:35 huzaifas kernel: usbcore: registered new driver usbserial
Feb 12 11:33:35 huzaifas kernel: usbcore: registered new driver usbserial
Feb 12 11:33:35 huzaifas kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
Feb 12 11:33:35 huzaifas kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
Feb 12 11:33:35 huzaifas kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
Feb 12 11:33:35 huzaifas kernel: usbcore: registered new driver usbserial_generic
Feb 12 11:33:35 huzaifas kernel: usbcore: registered new driver usbserial_generic
Feb 12 11:33:35 huzaifas kernel: usbcore: registered new driver usbserial_generic
Feb 12 11:33:35 huzaifas kernel: drivers/usb/serial/usb-serial.c: USB Serial Driver core
Feb 12 11:33:35 huzaifas kernel: drivers/usb/serial/usb-serial.c: USB Serial Driver core
Feb 12 11:33:35 huzaifas kernel: drivers/usb/serial/usb-serial.c: USB Serial Driver core
Feb 12 11:33:35 huzaifas kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for GSM modem (1-port)
Feb 12 11:33:35 huzaifas kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for GSM modem (1-port)
Feb 12 11:33:35 huzaifas kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for GSM modem (1-port)
Feb 12 11:33:35 huzaifas kernel: option 1-8.4:1.0: GSM modem (1-port) converter detected
Feb 12 11:33:35 huzaifas kernel: option 1-8.4:1.0: GSM modem (1-port) converter detected
Feb 12 11:33:35 huzaifas kernel: option 1-8.4:1.0: GSM modem (1-port) converter detected
Feb 12 11:33:35 huzaifas kernel: usb 1-8.4: GSM modem (1-port) converter now attached to ttyUSB0
Feb 12 11:33:35 huzaifas kernel: usb 1-8.4: GSM modem (1-port) converter now attached to ttyUSB0
Feb 12 11:33:35 huzaifas kernel: usb 1-8.4: GSM modem (1-port) converter now attached to ttyUSB0
Feb 12 11:33:35 huzaifas kernel: option 1-8.4:1.1: GSM modem (1-port) converter detected
Feb 12 11:33:35 huzaifas kernel: option 1-8.4:1.1: GSM modem (1-port) converter detected
Feb 12 11:33:35 huzaifas kernel: option 1-8.4:1.1: GSM modem (1-port) converter detected
Feb 12 11:33:35 huzaifas kernel: usb 1-8.4: GSM modem (1-port) converter now attached to ttyUSB1
Feb 12 11:33:35 huzaifas kernel: usb 1-8.4: GSM modem (1-port) converter now attached to ttyUSB1
Feb 12 11:33:35 huzaifas kernel: usb 1-8.4: GSM modem (1-port) converter now attached to ttyUSB1
Feb 12 11:33:35 huzaifas kernel: option 1-8.4:1.2: GSM modem (1-port) converter detected
Feb 12 11:33:35 huzaifas kernel: option 1-8.4:1.2: GSM modem (1-port) converter detected
Feb 12 11:33:35 huzaifas kernel: option 1-8.4:1.2: GSM modem (1-port) converter detected
Feb 12 11:33:35 huzaifas kernel: usb 1-8.4: GSM modem (1-port) converter now attached to ttyUSB2
Feb 12 11:33:35 huzaifas kernel: usb 1-8.4: GSM modem (1-port) converter now attached to ttyUSB2
Feb 12 11:33:35 huzaifas kernel: usb 1-8.4: GSM modem (1-port) converter now attached to ttyUSB2
Feb 12 11:33:35 huzaifas kernel: usbcore: registered new driver option
Feb 12 11:33:35 huzaifas kernel: usbcore: registered new driver option
Feb 12 11:33:35 huzaifas kernel: usbcore: registered new driver option
Feb 12 11:33:35 huzaifas kernel: drivers/usb/serial/option.c: USB Driver for GSM modems: v0.7.1
Feb 12 11:33:35 huzaifas kernel: drivers/usb/serial/option.c: USB Driver for GSM modems: v0.7.1
Feb 12 11:33:35 huzaifas kernel: drivers/usb/serial/option.c: USB Driver for GSM modems: v0.7.1

Device Removed:-
Feb 12 11:33:40 huzaifas kernel: usb 1-8.4: USB disconnect, address 15
Feb 12 11:33:40 huzaifas kernel: usb 1-8.4: USB disconnect, address 15
Feb 12 11:33:40 huzaifas kernel: usb 1-8.4: USB disconnect, address 15
Feb 12 11:33:40 huzaifas kernel: option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
Feb 12 11:33:40 huzaifas kernel: option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
Feb 12 11:33:40 huzaifas kernel: option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
Feb 12 11:33:40 huzaifas kernel: option 1-8.4:1.0: device disconnected
Feb 12 11:33:40 huzaifas kernel: option 1-8.4:1.0: device disconnected
Feb 12 11:33:40 huzaifas kernel: option 1-8.4:1.0: device disconnected
Feb 12 11:33:40 huzaifas kernel: option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
Feb 12 11:33:40 huzaifas kernel: option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
Feb 12 11:33:40 huzaifas kernel: option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
Feb 12 11:33:40 huzaifas kernel: option 1-8.4:1.1: device disconnected
Feb 12 11:33:40 huzaifas kernel: option 1-8.4:1.1: device disconnected
Feb 12 11:33:40 huzaifas kernel: option 1-8.4:1.1: device disconnected
Feb 12 11:33:40 huzaifas kernel: option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
Feb 12 11:33:40 huzaifas kernel: option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
Feb 12 11:33:40 huzaifas kernel: option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
Feb 12 11:33:40 huzaifas kernel: option 1-8.4:1.2: device disconnected
Feb 12 11:33:40 huzaifas kernel: option 1-8.4:1.2: device disconnected
Feb 12 11:33:40 huzaifas kernel: option 1-8.4:1.2: device disconnected


Device reconnected:
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: new full speed USB device using ehci_hcd and address 16
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: new full speed USB device using ehci_hcd and address 16
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: new full speed USB device using ehci_hcd and address 16
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: configuration #1 chosen from 1 choice
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: configuration #1 chosen from 1 choice
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: configuration #1 chosen from 1 choice
Feb 12 11:33:47 huzaifas kernel: scsi25 : SCSI emulation for USB Mass Storage devices
Feb 12 11:33:47 huzaifas kernel: scsi25 : SCSI emulation for USB Mass Storage devices
Feb 12 11:33:47 huzaifas kernel: scsi25 : SCSI emulation for USB Mass Storage devices
Feb 12 11:33:47 huzaifas kernel: usb-storage: device found at 16
Feb 12 11:33:47 huzaifas kernel: usb-storage: device found at 16
Feb 12 11:33:47 huzaifas kernel: usb-storage: waiting for device to settle before scanning
Feb 12 11:33:47 huzaifas kernel: usb-storage: waiting for device to settle before scanning
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: USB disconnect, address 16
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: USB disconnect, address 16
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: USB disconnect, address 16
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: new full speed USB device using ehci_hcd and address 17
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: new full speed USB device using ehci_hcd and address 17
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: new full speed USB device using ehci_hcd and address 17
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: configuration #1 chosen from 1 choice
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: configuration #1 chosen from 1 choice
Feb 12 11:33:47 huzaifas kernel: usb 1-8.4: configuration #1 chosen from 1 choice
Feb 12 11:33:47 huzaifas kernel: usb-storage: probe of 1-8.4:1.0 failed with error -5
Feb 12 11:33:47 huzaifas kernel: usb-storage: probe of 1-8.4:1.0 failed with error -5
Feb 12 11:33:47 huzaifas kernel: usb-storage: probe of 1-8.4:1.0 failed with error -5
Feb 12 11:33:47 huzaifas kernel: usb-storage: probe of 1-8.4:1.1 failed with error -5
Feb 12 11:33:47 huzaifas kernel: usb-storage: probe of 1-8.4:1.1 failed with error -5
Feb 12 11:33:47 huzaifas kernel: usb-storage: probe of 1-8.4:1.1 failed with error -5
Feb 12 11:33:47 huzaifas kernel: usb-storage: probe of 1-8.4:1.2 failed with error -5
Feb 12 11:33:47 huzaifas kernel: usb-storage: probe of 1-8.4:1.2 failed with error -5
Feb 12 11:33:47 huzaifas kernel: usb-storage: probe of 1-8.4:1.2 failed with error -5
Feb 12 11:33:47 huzaifas kernel: scsi29 : SCSI emulation for USB Mass Storage devices
Feb 12 11:33:47 huzaifas kernel: scsi29 : SCSI emulation for USB Mass Storage devices
Feb 12 11:33:47 huzaifas kernel: scsi29 : SCSI emulation for USB Mass Storage devices
Feb 12 11:33:47 huzaifas kernel: usb-storage: device found at 17
Feb 12 11:33:47 huzaifas kernel: usb-storage: device found at 17
Feb 12 11:33:47 huzaifas kernel: usb-storage: waiting for device to settle before scanning
Feb 12 11:33:47 huzaifas kernel: usb-storage: waiting for device to settle before scanning

Comment 15 Huzaifa S. Sidhpurwala 2010-02-12 06:09:15 UTC
So as a work around you have to remove option, usbserial and usb-storage modules after device disconnect so that it works when the device is reconnected.


Can this be fixed please?

Comment 16 Pete Zaitcev 2010-02-18 00:31:22 UTC
Holey moley, why is everything in triplicate? The syslogd configuration is
seriously broken on that system.

Please collect me a usbmon trace with this:

mount -t debugfs none /sys/kernel/debug
cat /sys/kernel/debug/usbmon/1t > 517454.mon.1
-- plug in here (should be ok)
-- unplug
-- plug back -- verify that probe failed with -5
Hit ^C to interrupt cat

This assumes that you plug into the same socket as the last time (bus #1).
Then, add this:
dmesg > 517454.dmesg.1

Attach 517454.mon.1 and 517454.dmesg.1 to the bug.

Comment 18 Huzaifa S. Sidhpurwala 2010-03-03 06:45:35 UTC
Created attachment 397482 [details]
517454.mon.1

Comment 19 Huzaifa S. Sidhpurwala 2010-03-03 06:46:32 UTC
Created attachment 397483 [details]
517454.dmesg.1

Comment 20 Huzaifa S. Sidhpurwala 2010-03-03 06:47:12 UTC
Hi Pete,
Attached the logs you had asked for.

Comment 21 Pete Zaitcev 2010-03-03 20:48:27 UTC
Thanks a lot. I looked and it seems the 2 logs are complete and consistent
between each other. This is perfect. Let me annotate the usbmon trace and
check the code, maybe I can figure this out quickly.

BTW, do you think that the committed fix in comment #6 at least improves
what we had before for your Huawei modem? The bugfix went to QA now, so
I'm considering if we should revoke it or keep it and fix the replug
problem on top of this fix.

Comment 22 Jarod Wilson 2010-03-03 22:20:29 UTC
I think a follow-up fix would be preferred over a revert and a new patch. Can still use the same bugzilla for something like this, if you ask me. Either way, for 5.5, it would have to be done VERY soon, and get flagged as a blocker to make it in...

Comment 28 Peter Martuccelli 2010-03-05 19:41:36 UTC
This is not a blocker for RHEL 5.5.  Ship what we have as it works and release note the problem with device removal.  If QE agrees they can move the BZ back to the ON_QA state.

Comment 29 Peter Martuccelli 2010-03-05 19:41:36 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:
If the device is removed then the user will need to reload the  usbserial and usb-storage driver modules in order for the system to detect the device during re-enumeration.

Comment 30 Pete Zaitcev 2010-03-06 06:06:45 UTC
I looked at the code, but I just cannot imagine what's causing the replug
problem. I'll need to reproduce and experiment with it.

Is there any way to obtain a unit? Do we have someone who can send me
a Huawei modem (that is covered by this bug and exhibits the replug
problem), even temporarily?

Comment 32 Pete Zaitcev 2010-03-12 01:39:50 UTC
Huzaifa, please do a simple experiment for me:
 - reboot, with modem unplugged
 - modprobe option
 - modprobe usb-storage
 - plug the modm in
 - wait a second, unplug, and replug it back
Take dmesg > 517454.dmesg.2 and attach to the bug so I can see what happens.
I'm trying to see if going down usb_register_driver => bus_for_each_dev
versus usb_new_device => bus_for_each_drv makes any difference.

Comment 33 Pete Zaitcev 2010-03-12 15:23:27 UTC
Also, in addition to comment #32, please do the usual thing on the test
kernel 2.6.18-183.el5.bz517454.3 that I uploaded to the old location
(http://people.redhat.com/zaitcev/ftp/517454/), e.g. just plug, unplug,
replug, and take the 3.dmesg. There's no fix in it, but it has printouts
that I hope will help to figure it out.

Comment 38 Ryan Lerch 2010-03-28 22:31:40 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 +1 @@
-If the device is removed then the user will need to reload the  usbserial and usb-storage driver modules in order for the system to detect the device during re-enumeration.+If a Huawei USB modem is unplugged from a system, the device may not be detected when it is attached again. To work around this issue, the usbserial and usb-storage driver modules need to be reloaded, allowing the system to detect the device. Alternatively, the if the system is rebooted, the modem will be detected also. (BZ#517454)

Comment 39 errata-xmlrpc 2010-03-30 06:59:47 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2010-0178.html

Comment 41 Huzaifa S. Sidhpurwala 2016-05-23 09:22:39 UTC
Removing needinfo, since this is no longer relevant.


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