LPC546xx - USB transfer stalled

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

LPC546xx - USB transfer stalled

跳至解决方案
2,164 次查看
hamatron
Contributor I

Hi

I have a problem with TransferStall on USB_HostHubInterruptInCallback ( usb_host_hub_app.c ) .

This happens when the device is connected to the host and will not advance beyond USB_HostHubProcessPortAttach's kPortRunWaitPortResetDone. 

In the case of Hid, it seems to be cleared as follows.

usb_host_hid.c

if (status == kStatus_USB_TransferStall)
{
    if (USB_HostHidClearHalt(hidInstance, transfer, USB_HostHidClearInHaltCallback,
   (USB_REQUEST_TYPE_DIR_IN |
   ((usb_host_pipe_t *)hidInstance->inPipe)->endpointAddress)) == kStatus_USB_Success)
   {
      USB_HostFreeTransfer(hidInstance->hostHandle, transfer);
      return;
   }
}

Why stall occur and How do I clear stall states?

Thanks for your reply

Regards

标签 (2)
0 项奖励
回复
1 解答
1,919 次查看
Sabina_Bruce
NXP Employee
NXP Employee

Hi Shuntaro,

Thank you for the information. First considering that the stall packet indicates that the endpoint has halted, or a control pipe does not support a certain request. Essentially it is unable to transmit or receive data. I tried the example with different devices and effectively got stuck on a stall when the device was not supported. In the example it self it is configured to accept only two id's.

First I'd like to check your device descriptors that you are using, as well as any relevant information that is printed on the terminal. This will help to find the root cause of the stall, since it is not best to clear the stall anytime it happens. The stall should only be cleared if the device is supported. 

Best Regards,

Sabina

在原帖中查看解决方案

0 项奖励
回复
3 回复数
1,919 次查看
hamatron
Contributor I

Hi Sabina, 

Thanks for your replying and apologize for lack of infomation. 

SDK :  SDK_2.x_LPC54606J256 version 2.5.0

example : host_hid_generic_bm 

Thank you. 

Shuntaro

0 项奖励
回复
1,920 次查看
Sabina_Bruce
NXP Employee
NXP Employee

Hi Shuntaro,

Thank you for the information. First considering that the stall packet indicates that the endpoint has halted, or a control pipe does not support a certain request. Essentially it is unable to transmit or receive data. I tried the example with different devices and effectively got stuck on a stall when the device was not supported. In the example it self it is configured to accept only two id's.

First I'd like to check your device descriptors that you are using, as well as any relevant information that is printed on the terminal. This will help to find the root cause of the stall, since it is not best to clear the stall anytime it happens. The stall should only be cleared if the device is supported. 

Best Regards,

Sabina

0 项奖励
回复
1,919 次查看
Sabina_Bruce
NXP Employee
NXP Employee

Hi Shuntaro,

I'll be more than happy assisting you with this behavior. However, in order to provide better support, can you please confirm the version of SDK you are using and the name of the example.

Thank you,

Sabina

0 项奖励
回复