Re: Slightly off-topic, USB code in Linux working, but fails in U-Boot

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

 



On Thu, 13 Feb 2014, Peter Chen wrote:

> > > - If you have a usb bus analyzer, please check if the GET_DESCRPTOR sends out successfully.
> > > (Most probably, I don't think it sends out)
> > 
> > I've attached a screen cap of the USB capture. At the to in red is the "SETUP txn" that fails in u-boot (shows Timed Out). Below on the second capture, the Get Descriptor succeeds to the same device, but this time from Linux.

Have you compared the capture result with the same thing on a Linux PC?

Can you make the capture data available publicly?

> > Should the analyzer show the IN/OUT portion of the first get-descriptor or does that only show up when the device responds? I'm no too familiar with USB protocol.
> 
> Using plain text to send email next time please, you can upload capture at some
> place.
> 
> For GET_DESCRIPTOR:
> 
> setup stage:
> host sends setup token
> host sends data (8 bytes here)
> device sends IN for response

Not exactly.

	Host sends SETUP packet, which consists of a SETUP token
	followed by 8 bytes of data and a 2-byte CRC.

	Device sends ACK for response.

> data stage:
> host sends IN token
> device sends data (8 bytes here)
> host sends OUT for response

	Host sends IN token packet.

	Device sends DATA0 or DATA1 packet containing data and CRC.

	Host sends ACK for response.

> status stage:
> host sends OUT 
> host sends 0-byte data
> device sends IN for response

	Host sends OUT token packet.

	Host sends 0-length DATA1 packet.

	Device sends ACK for response.

> Since I can't see device IN response for setup stage from your capture
> log, but I assume the device is ok.

If the SETUP packet is invalid, the device won't respond to it.  If the 
SETUP packet is valid, the device MUST respond with ACK.

> So your problem may is the host does not send out IN token for data
> stage, please check the function qh_urb_transaction at u-boot
> (if the name is the same with linux) to see if the qtd for data
> stage is setup correctly.

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