Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp2656307imm; Mon, 10 Sep 2018 04:41:00 -0700 (PDT) X-Google-Smtp-Source: ANB0VdboOtTj51oV9x0ZiPs1UjTVXgL3z1Nt1a53D0MMYkYKVyulo+UAhxuDnJu3sSRj2qmYIkVK X-Received: by 2002:a63:6949:: with SMTP id e70-v6mr22169498pgc.119.1536579660673; Mon, 10 Sep 2018 04:41:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536579660; cv=none; d=google.com; s=arc-20160816; b=XbkhPij3nzRqj4lVCW7ju7KM4cJch3Y39hcznNmNrI/L2k1N9Bq0B6WNibuVBe89Nt MLjzbyBkpU8nvXOVTP/A4CQJ/fysX8knTT8vEnZG+lhHsQUNJ5d72jHpFusksmuBOTB9 JeXqwUW32GQZflJ8hdk+TaNYJyWwlQZFnPYGDy/b/aoAfb83DOkR/VaxDCK0RJ0xTO2A SHXQUGtacUBAO0XstPLjIYwy54m0C+ZC407oCxO41xNUAbaP8TFWyaKTPrBdZFYm3VQn uWyCxN6/QKfwA9RIiVpj25VXTU55OmqddACLt7RZbC2m50n7lAuGrCSFzKeFS3BaTdVK WLUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=ax7ycqPLuoJ3oB5Bz4PbOqq8S7MZaUisJnhXJ1ggwzI=; b=U0jGtllGGW1aOciB0gqrp9IUzuCMrgfwB7AUnODPLP1cEV25tVXR76mcaFM3z48RTp mbBgVXpCRbxOrJig544qCcJEE9h2EJ8ygfqtx4vkloK93xDvkx6dAcx3bMNtIbFnnNKc AxByS9DEoqYvW2u14LbkrF4nJv51+e51DeSan9m2GHXkcwH7W56aTZBe5p2toP+ETkC7 vz+oFP7bTkBjNhEqeAhg69xobSRl4pqr4biJFpmDg14VbUpsG2iTGYAgEBAUsdA4eGTR hjFNVn0UGtWP+THvH4XOIYLzugwf9ceBs9RSEx+g6yJZGTWr7tYyML6BrZp352V/4H9H HhRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=pA0vP74L; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e189-v6si16617866pfe.206.2018.09.10.04.40.45; Mon, 10 Sep 2018 04:41:00 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=pA0vP74L; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728318AbeIJQdH (ORCPT + 99 others); Mon, 10 Sep 2018 12:33:07 -0400 Received: from mail-it0-f65.google.com ([209.85.214.65]:40072 "EHLO mail-it0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727646AbeIJQdH (ORCPT ); Mon, 10 Sep 2018 12:33:07 -0400 Received: by mail-it0-f65.google.com with SMTP id h23-v6so28165859ita.5; Mon, 10 Sep 2018 04:39:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ax7ycqPLuoJ3oB5Bz4PbOqq8S7MZaUisJnhXJ1ggwzI=; b=pA0vP74LAf5CEcoW1EyCv/ZWLwNEFhGiaFOaGHYHDKOO8hj67K2fc6GuD436j544YA c60K5LZINbhn0W6fEt5OuM3vVUZw18H3/EQ86rwERzJ7AvtRZxMspGV0KCXYe3nB72GH O/1r9Hqv5MH0/0yzpidtZl9evRPCfW3nmGeWlQDh8ppt/J8HHbpS7cqXG/CrgIgv+Gp9 lptYyMuerfpaW9+talAzpRcQU7HQMI8VD7ijrOOOBrzr1V+KM2t82Ytc47Ld4Am26Hbq uts5IUrno91KkOijTb4EfnTLHmGWja9FRD9ZxQ0uduKgS+VwyY3x6VT92iH4C8Jj3hW2 ac7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ax7ycqPLuoJ3oB5Bz4PbOqq8S7MZaUisJnhXJ1ggwzI=; b=QlluZXAyPQBtzP4C1un6b3T+wLb4lCnaGeZurTLQoM14oz2+8AGOs+pSoQ0tC01G6t T4t/LvzVMUdvWIxVcekJa5LjnAII5+HcltXO5wDR3irvzWq44nhWvByLxlHfiTw10bT2 HtvIp1ttSgG5P6t7OIPd8DHNamx8t2M4p+HATZPAFJC+RHvEI8X8rxy+6oT2taAOmTjb vKccWrPGpXGcbRDWMLpr5PQkWibT+of/TtGwlyoYoCRWaD3ozQ5ucTfi5+NcydOWBCaI Fi8w4rYjBbfHBh9+ZRZMZzDjWz0mScGOjail8m+tAByfZhzvirApjmXMnaj6N6nen3LS IV6w== X-Gm-Message-State: APzg51CeSsJqcPte7JSwm+rFMG+HRGbWEHTS06+pAKfr7I00vKEX+aM5 uT52h3E9Y+J6w9XTQNVQA4VshX/fCecZW72jzzQ= X-Received: by 2002:a24:1d84:: with SMTP id 126-v6mr16659317itj.63.1536579567299; Mon, 10 Sep 2018 04:39:27 -0700 (PDT) MIME-Version: 1.0 References: <20180908125754.1947-1-kristian.evensen@gmail.com> <20180910103022.GR1089@localhost> In-Reply-To: <20180910103022.GR1089@localhost> From: Kristian Evensen Date: Mon, 10 Sep 2018 13:39:16 +0200 Message-ID: Subject: Re: [PATCH] option: Improve Quectel EP06 detection To: Johan Hovold Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On Mon, Sep 10, 2018 at 12:30 PM Johan Hovold wrote: > Please provide the output of usb-devices (or lsusb -v) for both > "configurations". How do you update the configuration by the way? The configuration is updated using a proprietary AT-command (AT+QCFG="usbcfg"). The format of the command is as follows: AT+QCFG="usbcfg",,,,,,,,. In other words, you set which interfaces to enable/disable. Based on my testing, it is only possible to enable/disable diag, rmnet (QMI) and adb, as well as nmea, at_port and modem together. I.e., it is not possible to only disable for example nmea. With all interfaces are enabled, the output of lsusb -v looks as follows: Bus 002 Device 008: ID 2c7c:0306 Quectel Wireless Solutions Co., Ltd. EG06/EP06/EM06 LTE-A modem Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 3.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 9 idVendor 0x2c7c Quectel Wireless Solutions Co., Ltd. idProduct 0x0306 EG06/EP06/EM06 LTE-A modem bcdDevice 3.10 iManufacturer 1 Quectel iProduct 2 LTE-A Module iSerial 3 c1494706 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 328 bNumInterfaces 6 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 126mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 ** UNRECOGNIZED: 05 24 00 10 01 ** UNRECOGNIZED: 05 24 01 00 00 ** UNRECOGNIZED: 04 24 02 02 ** UNRECOGNIZED: 05 24 06 00 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x000a 1x 10 bytes bInterval 9 bMaxBurst 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 ** UNRECOGNIZED: 05 24 00 10 01 ** UNRECOGNIZED: 05 24 01 00 00 ** UNRECOGNIZED: 04 24 02 02 ** UNRECOGNIZED: 05 24 06 00 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x000a 1x 10 bytes bInterval 9 bMaxBurst 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 ** UNRECOGNIZED: 05 24 00 10 01 ** UNRECOGNIZED: 05 24 01 00 00 ** UNRECOGNIZED: 04 24 02 02 ** UNRECOGNIZED: 05 24 06 00 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x87 EP 7 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x000a 1x 10 bytes bInterval 9 bMaxBurst 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x89 EP 9 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 9 bMaxBurst 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x88 EP 8 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x05 EP 5 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 5 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 66 bInterfaceProtocol 1 iInterface 4 ADB Interface Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x06 EP 6 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x8a EP 10 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 0 Binary Object Store Descriptor: bLength 5 bDescriptorType 15 wTotalLength 22 bNumDeviceCaps 2 USB 2.0 Extension Device Capability: bLength 7 bDescriptorType 16 bDevCapabilityType 2 bmAttributes 0x00000002 Link Power Management (LPM) Supported SuperSpeed USB Device Capability: bLength 10 bDescriptorType 16 bDevCapabilityType 3 bmAttributes 0x00 wSpeedsSupported 0x000f Device can operate at Low Speed (1Mbps) Device can operate at Full Speed (12Mbps) Device can operate at High Speed (480Mbps) Device can operate at SuperSpeed (5Gbps) bFunctionalitySupport 1 Lowest fully-functional device speed is Full Speed (12Mbps) bU1DevExitLat 1 micro seconds bU2DevExitLat 500 micro seconds Device Status: 0x0000 (Bus Powered) If I for example disable diag, then the bInterfaceNumber of nmea changes from 1 to 0, at from 2 to 1, etc., etc. BR, Kristian