Firefly开源社区

标题: 如何将rk3399设置成usb gadget hid模式,插入PC端能识别到鼠键 [打印本页]

作者: 挺_tzt9t    时间: 2018-12-5 09:26
标题: 如何将rk3399设置成usb gadget hid模式,插入PC端能识别到鼠键
本帖最后由 挺_tzt9t 于 2018-12-11 10:33 编辑

你好,我烧录的是Linux Kernel4.4以上的系统,我按照源码下的Documentation/usb/gadget_hid.txt,进行修改,并且也修改了menuconfig ,<*>   USB Gadget Support  ---><*>   USB Gadget Drivers (HID Gadget) 能编译进内核,查找了相关资料说应该会在 /dev下面生成个hidg的节点,但是修改烧录后,并没有生成,插到PC端没有任何反应。
抓了log,自己定义的status = platform_device_register(&my_hid); 返回是成功的。
status = platform_driver_probe(&hidg_plat_driver,hidg_plat_driver_probe); 也是成功的。
status = usb_composite_probe(&hidg_driver);返回是失败的。在这函数下继续跟进,发现是udc/core.c的usb_gadget_probe_driver有异常couldn't find an available UDC
这方面我是的第一次接触,是不是还有其他地方没有修改,有遗漏,请指导下,谢谢。
还有个问题我看了源码里有个linux-sdk/kernel/drivers/usb/gadget/f_hid_rk.c,好像是配置成usb hid设备吧?拿来用的话一堆未定义,该文件是不是也要用到?


作者: 挺_tzt9t    时间: 2018-12-12 16:42
有人能帮忙解答下吗,为什么“couldn't find an available UDC”
对应的list_for_each_entry(udc, &udc_list, list)这里循环语句都没进去,应该是双向链表里面根本就没内容,求解啊。
尝试了在make menuconfig 下USB Peripheral Controller->Dummy HCD (DEVELOPMENT)选择这个的话,会生成hidg0节点,而且还在/dev下生成hidraw0 ,这应该是自身模拟,测试也是正常的(串口运行调试代码,hdmi显示屏上也会有相应的结果)。但我想要的不是自身模拟,需要正常出来hidg节点,以及type-c插到PC上会有鼠键识别。
作者: 挺_tzt9t    时间: 2018-12-14 10:31
已解决
作者: snow_person01    时间: 2018-12-23 19:22
怎么解决的呢?
作者: joyeuxqiang    时间: 2019-3-8 16:24
怎么解决的呢?
作者: 鸩羽千夜    时间: 2019-12-6 18:30
博主,这个问题怎么解决的,能不能帮忙回一下,这个节点最后是怎么弄出来的,
作者: Gavin家良    时间: 2020-4-16 15:50
估计是没有修改config导致,直接menuconfig是不行的
作者: 明日之丈    时间: 2021-11-2 18:54
最后是怎么解决的啊,现在也再弄这个问题




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1