
SETUP: Indicates the start of a setup transaction in a control transfer.The PID value indicates the type of the token packet. Token packetĮvery setup transaction starts with a token packet. Other fields depend on the type of packet. Packet identifier (PID) that indicates the type of packet, the direction of the transaction, and in the case of a handshake packet, it indicates success or failure of the transaction.Sync field that indicates the start of packet.Each transaction contains three types of packets: token packet, data packet, and handshake packet.Ĭertain fields are common to all packets. Now, let's look at the layout of a control transfer.Ī control transfer is divided into three transactions: setup transaction, data transaction, and status transaction. For low and full speed devices, 10% of the bandwidth 20% for high and SuperSpeed transfers devices. Low speed, 8 bytes full and high speed, 64 bytes SuperSpeed, 512 bytes.īecause control transfers are high priority transfers, certain amount of bandwidth is reserved on the bus by the host. The maximum packet size of the default endpoint depends on the bus speed of the device.It is active even before a configuration is selected. The default endpoint is active as soon as a connection is established between the host and the device.The default endpoint is available at the device level and is not defined in any interface of the device.The default endpoint is bidirectional, that is, the host can send data to the endpoint and receive data from it within one transfer.The address of the default endpoint is 0.Let's begin by studying these characteristics of the default endpoint. The purpose of a control transfer is to enable the host to obtain device information, configure the device, or perform control operations that are unique to the device. Any transfer that targets the default endpoint is called a control transfer. About the default endpointĪll USB devices must support at least one endpoint called the default endpoint.


#Get command packet sender driver
This article explains the structure of a control transfer and how a client driver should send a control request to the device.
