RE: [RFC PATCH] Revert "usb: chipidea: udc: .pullup is valid only when vbus is there"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



  
> On Mon, 11 Aug 2014, Peter Chen wrote:
> 
> > > Hello Peter,
> > >
> > > I have seen this call is still returning EOPNOTSUPP which is also
> > > returned by usb_gadget_connect and usb_gadget_disconnect if the
> > > pullup function is not available. Should it not handle that case
> somehow special?
> > >
> > >
> > > Is it still a valid condition to bailout if vbus is not active?
> > >
> >
> > Hi Michael,
> >
> > I did this for possible pullup dp without connection (eg load gadget
> > driver before vbus connect), it breaks USB spec, see 7.1.7.3 Connect
> and Disconnect Signaling at USB 2.0 spec.
> 
> 7.1.7.3 doesn't say anything about enabling the D+ pullup before Vbus is
> active.  The closest it comes is the definition of Delta-t2 (TSIGATT),
> but that is a _maximum_ time, not a _minimum_ time.
> 
> What makes you think turning on the pullup when Vbus is off is bad?
> 

www.usb.org/developers/docs/USB-IFTestProc1_3.pdf

Back-voltage Testing
Section 7.2.1 of the USB specification requires that no device shall supply (source)
current on VBUS at its upstream facing port at any time. From VBUS on its upstream
facing port, a device may only draw (sink) current. They may not provide power to the
pull-up resistor on D+/D- unless VBUS is present (see Section 7.1.5).
Devices/hubs that fail this requirement can cause upstream hubs and/or PCs to fail. 
Some of the failures that have been reported are:
- The PC fails to cold boot due to back-drive voltage effecting motherboard reset sequences.
- Hub fails to enumerate downstream devices due to reset anomalies.
- Motherboard failures to properly resume from suspend state.
- Introduction of device/hub knocks out one or more upstream devices.

If you go the Test Steps for Back-voltage Testing, the tested device which still pull-up dp
when the vbus is off may meet the problem at "Reconnect the USB cable to the back-voltage test fixture"
after enumeration, the vbus may be higher than 400mV at that time.

Peter

> > I don't know what exactly problem you met, but current pullup dp
> > during loading gadget driver behavior is not suitable for webcam and
> > android use case even vbus is there.
> 
> Why not?  What's wrong with it?
> 
> Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux