Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp1741313ybk; Mon, 11 May 2020 03:10:41 -0700 (PDT) X-Google-Smtp-Source: APiQypIZwaBpW8I5mmuAfAnRFM24/xiaoAoEHubJdwu0GzML2p5bFOWFz9+vz7quoOtwFBraGBE2 X-Received: by 2002:a17:906:1804:: with SMTP id v4mr13066441eje.104.1589191841180; Mon, 11 May 2020 03:10:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589191841; cv=none; d=google.com; s=arc-20160816; b=SzSBIx1TP3pLOyibo3QsVENnF6W4cXU00IEwsZq7v4BEnlpXgCCF8v3HxErDDJNNal pG5mR1PPotwLIYRR2vJEWgxetWBbQuiFUQlPzid35oMgLkK/EQK1pmK+li75dAPLTOGv 4imaMKrc9FT9LUT0C1v3nhtPDkzAaZ4luRhs8gMVloO8rGR3E5ehRPg3mzNfzld7/ROo Y5BDqnq2q5RCkQxf+aHD7ZMcYyR/xfwIo4b/2j3jjYgXja6MZf+ts1xYAKKBQujaLdPe 7HtfQYlaCDKk/PVR5KxCaXYvh2jc52WN33Ubv1IdSEWQo2xMQ8GVrs94PybXHeqMVaXq 6GjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=TouBDOQ1cLBvDP/VkvIDXNmXljBFUOeKcWA2hkXwZL4=; b=B83OJ3V57iP08HZuFrJ8ZPIqvj4xEYVw8GonQH7x29G95VqDfHRsy8wlg6aSw4X+w4 /+PDEsOlsW2wTeOg52irWoSIKJUWMZuppv5RvevHMyM2/EoM8Gey1KciizGH4niCsnWX mDcqKo7Z0X3bPO1EbQ1mDDbLVI8f1Es2i4IExXKxp1N6kI8r4Ode/m3yJc/5ZGQNCT3D 5JJ9HvazB+ZVD04zQOQBgu86TSlrzafqYoipEw2oErqdm1xhLxEFicXPelaTwv4SrNK5 lJ1ibUBwkXEpgOWHM3M5vk5cVUxBFVtwIhc3xX6K6yunB1tSH9ZWh9+zVLEYU7WdHY3t nhXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@xs4all.nl header.s=s1 header.b=uYZaErh9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cw21si5296999ejb.158.2020.05.11.03.10.15; Mon, 11 May 2020 03:10:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@xs4all.nl header.s=s1 header.b=uYZaErh9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729046AbgEKKI0 (ORCPT + 99 others); Mon, 11 May 2020 06:08:26 -0400 Received: from lb2-smtp-cloud8.xs4all.net ([194.109.24.25]:42387 "EHLO lb2-smtp-cloud8.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725983AbgEKKI0 (ORCPT ); Mon, 11 May 2020 06:08:26 -0400 Received: from cust-b5b5937f ([IPv6:fc0c:c16d:66b8:757f:c639:739b:9d66:799d]) by smtp-cloud8.xs4all.net with ESMTPA id Y5MBjA4BPhEkrY5MCjFzrG; Mon, 11 May 2020 12:08:23 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xs4all.nl; s=s1; t=1589191703; bh=TouBDOQ1cLBvDP/VkvIDXNmXljBFUOeKcWA2hkXwZL4=; h=Subject:To:From:Message-ID:Date:MIME-Version:Content-Type:From: Subject; b=uYZaErh93zi8Si+lFZewQ4Xg7X+BCIe0tZZ7do2fh8C0WAwtJJ3/DO/do1bYwaGTl TaePjYTICt5/AUbCcezqzGgYpJpQuQBWpXlHaoaKawXopD3ctDDLcx7amjlIV2AxHO bFVxXJN7W2ZzNR1EDn9jD8PW3UyRZDT9n9kFkpsKb5bQmAcDIfZbkykGA5tpQ6hFgN M6JbTrqTpCjvcytDelSTB3AMfZw9fAOebGKJJ+oIVoSeJV8sj6RQ3VMtjlfEM6rGtk 1I+zUmwppCR9XiQpEZNpikhJsN+ffB/YqFDEY6qv6MNVSJ18kokuL09cKFzbeuwOzV EgIeQpuRc4EOw== Subject: Re: gspca webcam: need to plug it 5 times before it works To: Pavel Machek , kernel list , linux-media@vger.kernel.org, samr7@cs.washington.edu, gerard@gkall.hobby.nl Cc: linux@rainbow-software.org, kilgota@auburn.edu, moinejf@free.fr References: <20200404184732.GA17534@duo.ucw.cz> <20200404191530.GA19753@duo.ucw.cz> <20200404191846.GA20044@duo.ucw.cz> From: Hans Verkuil Message-ID: <1e034f42-6997-d778-dce2-e5d641d91d0e@xs4all.nl> Date: Mon, 11 May 2020 12:08:19 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <20200404191846.GA20044@duo.ucw.cz> Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfKAUB970jI9ej9JDOMqm7PEEICWjgG/kh5MAchhg/dGUqa6aY5MS+Z18/6Bq+QLIRAk7DahiTY1+1HIU34VHLSdAc19TnxgONJIhy/bO8YIJ74Qilqm/ Tpd5r2x+F/05pyfeHXnBBkpk3RrlwxgINkPifdv/DrHLDvprOElBXlIJ11D17eFH1+LBaKDzhpyghW3tY/AvzLKDfpf5B1g70tIs68GJGFYc6DdOXVCD+VJX w298z3z1OA1xz3PAwcCvHtFJTeSd9vM6yyIyTHMfwM+j44sUyrbNon3w3n0DdC/R6c2OE1X+s4AfQYgztKH3dsiTQXES3k9I1+R0Rg8uvnnJOIFDxztzvwKW U/a/8h4JXcQUHWmZiia3xxUEIcYSBWX5DSKogCkZ6j0kOjQKyihFhZ0el4VAxTa9Ko5WkLW5FEMHQaSlOhEWJPe9g7jBSTe00i/1SMI0Xt3vMfsfOMUG354m 93gmy3wOIr2s5ayzhbLulT6CGsh6R/ROC9KjLA== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Pavel, I tested with my sq930x (Creative WebCam Notebook Ultra) and I couldn't reproduce this. Changing gain/exposure while streaming worked fine too. It could be flaky usb hardware on your side, it's hard to tell. Regards, Hans On 04/04/2020 21:18, Pavel Machek wrote: > Hi! > >>> ..but if I'm patient enough, it eventually starts working... somehow. >>> >>> Incoming data seems to go in reliably. Outgoing commands (such as >>> change gain) don't seem to be unreliable. >>> >>> Any idea how to debug / what could be wrong? >> >> And I can force it to probe like this: which... makes it work, but >> does not fix the outgoing commands. >> >> Any ideas? > > (Adding people from module_authors to the list.) > > Pavel > >> diff --git a/drivers/media/usb/gspca/sq930x.c b/drivers/media/usb/gspca/sq930x.c >> index c3610247a90e..c9756c0a78df 100644 >> --- a/drivers/media/usb/gspca/sq930x.c >> +++ b/drivers/media/usb/gspca/sq930x.c >> @@ -7,6 +7,7 @@ >> * Copyright (C) 2007 Sam Revitch >> */ >> >> +#define DEBUG >> #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt >> >> #define MODULE_NAME "sq930x" >> @@ -446,7 +447,7 @@ static void reg_w(struct gspca_dev *gspca_dev, u16 value, u16 index) >> USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE, >> value, index, NULL, 0, >> 500); >> - msleep(30); >> + msleep(90); >> if (ret < 0) { >> pr_err("reg_w %04x %04x failed %d\n", value, index, ret); >> gspca_dev->usb_err = ret; >> @@ -635,19 +636,25 @@ static void cmos_probe(struct gspca_dev *gspca_dev) >> SENSOR_MT9V111, >> }; >> >> + printk("CMOS Probing...\n"); >> for (i = 0; i < ARRAY_SIZE(probe_order); i++) { >> + printk("Probing type %d...\n", i); >> + >> sensor = &sensor_tb[probe_order[i]]; >> ucbus_write(&sd->gspca_dev, sensor->cmd, sensor->cmd_len, 8); >> gpio_init(sd, sensor->gpio); >> - msleep(100); >> + msleep(200); >> reg_r(gspca_dev, (sensor->i2c_addr << 8) | 0x001c, 1); >> - msleep(100); >> - if (gspca_dev->usb_buf[0] != 0) >> + msleep(200); >> + if (gspca_dev->usb_buf[0] != 0) { >> + printk("#### LUCKY! Have type %d\n", i); >> break; >> + } >> } >> if (i >= ARRAY_SIZE(probe_order)) { >> - pr_err("Unknown sensor\n"); >> - gspca_dev->usb_err = -EINVAL; >> + printk("Unknown sensor ... hmm?\n"); >> + sd->sensor = probe_order[i-1]; >> + //gspca_dev->usb_err = -EINVAL; >> return; >> } >> sd->sensor = probe_order[i]; >> >> >> -- >> (english) http://www.livejournal.com/~pavelmachek >> (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html > > >