Re: [PATCH] usb: hub add filter for device with specific VID&PID

From: Peter Chen
Date: Sun Sep 29 2019 - 02:36:53 EST


On Sat, Sep 28, 2019 at 1:11 AM Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
>
> On Tue, 24 Sep 2019, Ran Wang wrote:
>
> > Hi Greg,
> >
> > On Monday, September 23, 2019 19:07, Greg Kroah-Hartman wrote:
> > >
> > > On Mon, Sep 23, 2019 at 06:51:02PM +0800, Ran Wang wrote:
> > > > USB 2.0 Embedded Host PET Automated Test (CH6) 6.7.23 A-UUT
> > > > "Unsupported Device" Message require to stop enumerating device with
> > > > VID=0x1a0a PID=0x0201 and pop message to declare this device is not
> > > supported.
> > >
> > > Why is this a requirement?
> >
> > This comes from <USB On-The-Go and Embedded Host Automated Compliance Plan
> > for the On-The-Go& Embedded Host Supplement Revision2.0>
>
> How much do we care about our support for USB OTG? Isn't it dying off?
>

Hi Alan,

The OTG Compliance is really dead, but for non-PC host product, if we
would like to
pass USB certification, it needs to pass EH compliance test. Before
going to Lab,
the vendor will fill Compliance Checklist, it could declare HNP, SRP
and ADP are not
supported, then the PET test will bypass related test items.

Peter

> > Below is related description I quote from it:
> > 6.7.23 A-UUT "Unsupported Device" Message
> > Purpose: This test verifies that an A-UUT produces a device non-supported error message
> > when a device it doesn't recognize, and does not support HNP, connects to it.
> > Applies to: All Targeted Hosts
> > Description: Get VBUS turned on, and connect to the A-UUT. Get enumerated and respond
> > as an unknown device not supporting HNP. Check that a suitable error message is generated.
> > Pass Criteria: Message "Unsupported Device"or similar is displayed on UUT
> >
> > 6.7.23.1 Test Procedure
> > 1. Start with cable still attached, PET applying 10ÃF capacitance and 10kà pull-down
> > resistance between VBUS and ground, data lines not pulled up.
> > 2. Get VBUS turned on, using the method described in Section6.7.1.
> > 3. Wait for almost TB_SVLD_BCON max (1s - 0.1s = 0.9s) from VBUS reaching VOTG_SESS_VLD max.
> > 4. Connect PET using D+ pull-up.
> > 5. Allow A-UUT to enumerate PET, responding with a VID / PID combination not on the TPL
> > of the UUT and also with the OTG descriptor stating that it does not support HNP.
> > 6. Start 30s timer when Device Descriptor is read.
> > 7. Display Message "Click OK if 'Unsupported Device' indication displayed on UUT".
> > 8. If operator clicks OK before 30s timer expires, then UUT passes test.
> > 9. If 30selapses first, then UUT fails test.
> > 10. PET disconnects by removing any termination on the data lines, but leaves a capacitance of
> > 10ÃF and a pull-down resistance of 10kà connected across VBUS.
> > 11. Wait 2s to allow disconnection to be detected.
> > End of Test.
>
> In fact, the system should respond the same way to any unrecognized
> device that doesn't support HNP, right? There's nothing special about
> these VID/PID values.
>
> > > And why those specific vid/pid values? What do they refer to?
> >
> > For step 5, we got the VID / PID number from USB IF certified lab(Allion.inc at Taiwang). Looks like
> > this is a reserved ID pair and will not be allocated to any vendor for their products. So it's hence used for this
> > case test (like saying: you should be able to pop a not-support message for this reserved VID&PID).
>
> Don't we do this already?
>
> Alan Stern
>