Bug 517454
Summary: | Add Support for Huawei EC1260 to the RHEL5 kernel | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Huzaifa S. Sidhpurwala <huzaifas> | ||||||||||
Component: | kernel | Assignee: | Pete Zaitcev <zaitcev> | ||||||||||
Status: | CLOSED ERRATA | QA Contact: | Red Hat Kernel QE team <kernel-qe> | ||||||||||
Severity: | high | Docs Contact: | |||||||||||
Priority: | urgent | ||||||||||||
Version: | 5.5 | CC: | cward, jwilson, lwang, mchehab, peterm, qcai, rlerch, syeghiay, tao | ||||||||||
Target Milestone: | rc | ||||||||||||
Target Release: | --- | ||||||||||||
Hardware: | All | ||||||||||||
OS: | Linux | ||||||||||||
Whiteboard: | |||||||||||||
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)
|
Story Points: | --- | ||||||||||
Clone Of: | Environment: | ||||||||||||
Last Closed: | 2010-03-30 06:59:47 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: | |||||||||||||
Bug Depends On: | |||||||||||||
Bug Blocks: | 508788, 533192, 540752 | ||||||||||||
Attachments: |
|
Description
Huzaifa S. Sidhpurwala
2009-08-14 06:59:53 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. Created attachment 382555 [details]
Test patch 1
This is the whole block as exists in 2.6.33-rc2.
Test kernel available from http://people.redhat.com/zaitcev/ftp/517454/ Please verify that it works with the modem. 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.
~~ 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. 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 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? 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. Created attachment 397482 [details]
517454.mon.1
Created attachment 397483 [details]
517454.dmesg.1
Hi Pete, Attached the logs you had asked for. 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. 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... 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. 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. 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? 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. 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. 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) 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 Removing needinfo, since this is no longer relevant. |