You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FunctionFS配置3个端点(2个中断IN、1个批量OUT)启动失败,错误码-524排查求助

FunctionFS配置3个端点(2个中断IN、1个批量OUT)启动失败,错误码-524排查求助

各位好,我现在在Linux上用FunctionFS实现一个USB Gadget,配置了3个端点:EP1 IN(中断传输)、EP2 IN(中断传输)、EP3 OUT(批量传输)。但执行绑定UDC的命令时失败了:

echo <udc> > /sys/kernel/config/usb_gadget/mygadget/UDC

对应的内核报错如下:

configfs-gadget 5100000.udc-controller: failed to start mygadget: -524
sh: write error: No error information

下面是我C代码里相关的描述符定义:

.intf = {
    .bLength = sizeof(vendor_descs.hs_descs.intf),
    .bDescriptorType = USB_DT_INTERFACE,
    .bNumEndpoints = 3,
    .bInterfaceClass = USB_CLASS_VENDOR_SPEC,
    .iInterface = 1,
    .bInterfaceNumber = 0,
    .bAlternateSetting = 0,
    .bInterfaceSubClass = 0x00,
    .bInterfaceProtocol = 0x00,
},
.ep_in_cmd = {
    .bLength = sizeof(vendor_descs.hs_descs.ep_in_cmd),
    .bDescriptorType = USB_DT_ENDPOINT,
    .bmAttributes = USB_ENDPOINT_XFER_INT,
    .bEndpointAddress = 1 | USB_DIR_IN,
    .wMaxPacketSize = __cpu_to_le16(64),
    .bInterval = 0x04,
},
.ep_in_video = {
    .bLength = sizeof(vendor_descs.hs_descs.ep_in_video),
    .bDescriptorType = USB_DT_ENDPOINT,
    .bmAttributes = USB_ENDPOINT_XFER_INT,
    .bEndpointAddress = 2 | USB_DIR_IN,
    .wMaxPacketSize = __cpu_to_le16(64),
    .bInterval = 0x04,
},
.ep_out_cmd = {
    .bLength = sizeof(vendor_descs.hs_descs.ep_out_cmd),
    .bDescriptorType = USB_DT_ENDPOINT,
    .bmAttributes = USB_ENDPOINT_XFER_BULK,
    .bEndpointAddress = 3 | USB_DIR_OUT,
    .wMaxPacketSize = __cpu_to_le16(512),
    .bInterval = 0x00,
},

我已经仔细检查过这些点:

  • 接口描述符里的.bNumEndpoints = 3确实正确设置了
  • 描述符总长度用了.length = __cpu_to_le32(sizeof(vendor_descs)),格式没问题
  • 绑定UDC前已经把描述符和字符串写入了ep0
  • /sys/class/udc/里能看到有效的UDC设备5100000.udc-controller
  • /dev/ffs_vendor/下已经成功创建了ep0、ep1、ep2、ep3这几个端点

想请教各位大佬,这个错误码-524对应的根本原因可能是什么?

我的环境信息:

  • Linux内核:5.x(自定义编译版本)
  • 使用FunctionFS descriptor v2
  • USB工作在高速模式
  • Allwinner SoC,UDC控制器为5100000.udc-controller

感谢各位的指导!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 10:48:00