From: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de>
Add the interface info matching to all Huawei cards, as they all also
contain a Mass Storage Device interface (usually containing Windows
drivers) which should not get bound by this driver.See also drivers/usb/storage/unusual_devs.h
Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de>
---
Formatting as one-liners is done like in HUAWEI_PRODUCT_E220 entries
that were already present. This breaks the 80 chars/line recommendation,
feel free to reformat (or tell me to submit a reformatted patch).diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index d101025..45a2eff 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -231,25 +231,25 @@ static struct usb_device_id option_ids[] = {
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_NETWORK_EX) },
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_KOI_MODEM) },
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_KOI_NETWORK) },
- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600, 0xff, 0xff, 0xff) },
{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220, 0xff, 0xff, 0xff) },
{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220BIS, 0xff, 0xff, 0xff) },
- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1401) },
- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1403) },
- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1405) },
- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1406) },
- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1408) },
- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1409) },
- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1410) },
- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1411) },
- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1412) },
- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1413) },
- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1414) ...
What is this patch against? We have a change that went into 2.6.25
after 2.6.25-rc9 that should make this patch not be needed.Can you try that release and verify this?
thanks,
greg k-h
--
The patch is developed against 2.6.25-rc8 + some git patches, but I have
forward-ported it to current git.I *guess* you are talking about commit aad8a278 (USB: support more
Huawei data card product IDs), as I could not find . The header of this
patch talks about three changes (declaration of unusual devices,
disabling product ID matching in driver.c and finally declaring the
product in option.c). I find only the first and the last point if this
reflected in the patch, and there are *no* patches at all to
drivers/usb/core/driver.c in the timeframe you mentioned. This patch
addresses the second point of that list, but in another way.The problem is that those huawei products have four USB interfaces,
three usb-serial like interfaces handled by the option driver and a
fourth one to be handled by usb-storage. When the stick gets initially
plugged, only the mass storage device is visible and needs a magic kick
to expose the other interfaces. aad8a278 contains a valid and working
patch to kick those USB devices if the mass storage interface gets bound
by usb-storage. At least in 2.6.25-rc8, if the option module is loaded,
the mass storage device gets bound to the option driver instead that
exposes a useless and non-functional serial interface on the mass
storage endpoint. This prevents the usb-storage driver to perform the
I will try with a current git kernel without my patch and report back,
but I will be surprised if the problem described above is gone. System
You're welcome.Kind regards,
Michael Karcher--
insert "any other patches applying to usb/usb-serial that might be
involved" before the full stop.
Kernel compiled & booted. Won't work without the patch.Relevant dmesg and lsusb -v output follows.
Regards,
Michael Karcherdmesg:
usb 2-1: new full speed USB device using uhci_hcd and address 2
usb 2-1: configuration #1 chosen from 1 choice
usbcore: registered new interface driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for GSM mode=
m (1-port)
option 2-1:1.0: GSM modem (1-port) converter detected
usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0
usbcore: registered new interface driver option
drivers/usb/serial/option.c: USB Driver for GSM modems: v0.7.1
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.lsusb -v:
Bus 002 Device 002: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Mod=
em
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0=20
bDeviceProtocol 0=20
bMaxPacketSize0 64
idVendor 0x12d1 Huawei Technologies Co., Ltd.
idProduct 0x1001 E620 USB Modem
bcdDevice 0.00
iManufacturer 1 =EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=
=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=
=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD
iProduct 2 HUAWEI Mobile
iSerial 1 =EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=
=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=
=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD
bNumConfigurations 1
Configurati...
Oops, sorry, I lost this message in the queue.
Can you regenerate your patch against 2.6.26-rc4 and resend it?
thanks,
greg k-h
--
--=-RJYjmwQH4n3IEhz6MAzZ
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printableRegenerated agains git HEAD, attached.
Regards,
Michael Karcher--=-RJYjmwQH4n3IEhz6MAzZ
Content-Disposition: attachment; filename=huawei-id.diff
Content-Type: text/x-patch; name=huawei-id.diff; charset=utf-8
Content-Transfer-Encoding: base64ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9vcHRpb24uYyBiL2RyaXZlcnMvdXNiL3Nl
cmlhbC9vcHRpb24uYw0KaW5kZXggNmNlY2QyYy4uNDNjZmRlOCAxMDA2NDQNCi0tLSBhL2RyaXZl
cnMvdXNiL3NlcmlhbC9vcHRpb24uYw0KKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL29wdGlvbi5j
DQpAQCAtMjM2LDI1ICsyMzYsMjUgQEAgc3RhdGljIHN0cnVjdCB1c2JfZGV2aWNlX2lkIG9wdGlv
bl9pZHNbXSA9IHsNCiAJeyBVU0JfREVWSUNFKE9QVElPTl9WRU5ET1JfSUQsIE9QVElPTl9QUk9E
VUNUX0VUTkFfTkVUV09SS19FWCkgfSwNCiAJeyBVU0JfREVWSUNFKE9QVElPTl9WRU5ET1JfSUQs
IE9QVElPTl9QUk9EVUNUX0VUTkFfS09JX01PREVNKSB9LA0KIAl7IFVTQl9ERVZJQ0UoT1BUSU9O
X1ZFTkRPUl9JRCwgT1BUSU9OX1BST0RVQ1RfRVROQV9LT0lfTkVUV09SSykgfSwNCi0JeyBVU0Jf
REVWSUNFKEhVQVdFSV9WRU5ET1JfSUQsIEhVQVdFSV9QUk9EVUNUX0U2MDApIH0sDQorCXsgVVNC
X0RFVklDRV9BTkRfSU5URVJGQUNFX0lORk8oSFVBV0VJX1ZFTkRPUl9JRCwgSFVBV0VJX1BST0RV
Q1RfRTYwMCwgMHhmZiwgMHhmZiwgMHhmZikgfSwNCiAJeyBVU0JfREVWSUNFX0FORF9JTlRFUkZB
Q0VfSU5GTyhIVUFXRUlfVkVORE9SX0lELCBIVUFXRUlfUFJPRFVDVF9FMjIwLCAweGZmLCAweGZm
LCAweGZmKSB9LA0KIAl7IFVTQl9ERVZJQ0VfQU5EX0lOVEVSRkFDRV9JTkZPKEhVQVdFSV9WRU5E
T1JfSUQsIEhVQVdFSV9QUk9EVUNUX0UyMjBCSVMsIDB4ZmYsIDB4ZmYsIDB4ZmYpIH0sDQotCXsg
VVNCX0RFVklDRShIVUFXRUlfVkVORE9SX0lELCBIVUFXRUlfUFJPRFVDVF9FMTQwMSkgfSwNCi0J
eyBVU0JfREVWSUNFKEhVQVdFSV9WRU5ET1JfSUQsIEhVQVdFSV9QUk9EVUNUX0UxNDAzKSB9LA0K
LQl7IFVTQl9ERVZJQ0UoSFVBV0VJX1ZFTkRPUl9JRCwgSFVBV0VJX1BST0RVQ1RfRTE0MDUpIH0s
DQotCXsgVVNCX0RFVklDRShIVUFXRUlfVkVORE9SX0lELCBIVUFXRUlfUFJPRFVDVF9FMTQwNikg
fSwNCi0JeyBVU0JfREVWSUNFKEhVQVdFSV9WRU5ET1JfSUQsIEhVQVdFSV9QUk9EVUNUX0UxNDA4
KSB9LA0KLQl7IFVTQl9ERVZJQ0UoSFVBV0VJX1ZFTkRPUl9JRCwgSFVBV0VJX1BST0RVQ1RfRTE0
MDkpIH0sDQotCXsgVVNCX0RFVklDRShIVUFXRUlfVkVORE9SX0lELCBIVUFXRUlfUFJPRFVDVF9F
MTQxMCkgfSwNCi0JeyBVU0JfREVWSUNFKEhVQVdFSV9WRU5ET1J...
| Greg Kroah-Hartman | [PATCH 006/196] Chinese: add translation of oops-tracing.txt |
| Jan Engelhardt | intel iommu (Re: -mm merge plans for 2.6.23) |
| James Bottomley | Re: Integration of SCST in the mainstream Linux kernel |
| Borislav Petkov | 2.6.23-rc1: no setup signature found... |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | Re: [BUG] New Kernel Bugs |
