恰遇~ 2021-11-23 14:21 采纳率: 0%
浏览 33
已结题

设置成usb gadget hid模式,插入PC端不能识别到鼠键

你好,我烧录的是Linux Kernel4.4以上的系统,我按照源码下的Documentation/usb/gadget_hid.txt,进行修改,并且也修改了menuconfig ,<> USB Gadget Support ---> < USB Gadget Drivers (HID Gadget) 能编译进内核(能出现g_hid.ko和usb_f_hid.ko),查找了相关资料说应该会在 /dev下面生成个hidg的节点,但是修改烧录后,并没有生成,插到PC端出现最后一图

img

抓了log,自己定义的status = platform_device_register(&my_hid); 返回是成功的。

想请问一下这个注册成功了为什么没出来节点呢?

  • 写回答

1条回答 默认 最新

  • 恰遇~ 2021-11-23 20:48
    关注

    随后一直按流程打印信息,到这个log :udc-core: couldn't find an available UDC - added [g_hid] to list of pending drivers
    好像是不能匹配,去绑定,到不了下面
    found:
    ret = udc_bind_to_driver(udc, driver);

    函数是这个

    int usb_gadget_probe_driver(struct usb_gadget_driver *driver)
    {
        struct usb_udc        *udc = NULL;
        int            ret = -ENODEV;
    
        if (!driver || !driver->bind || !driver->setup)
            return -EINVAL;
    
        mutex_lock(&udc_lock);
        if (driver->udc_name) {
            list_for_each_entry(udc, &udc_list, list) {
                ret = strcmp(driver->udc_name, dev_name(&udc->dev));
                if (!ret)
                    break;
            }
            if (ret)
                ret = -ENODEV;
            else if (udc->driver)
                ret = -EBUSY;
            else
                goto found;
        } else {
            list_for_each_entry(udc, &udc_list, list) {
                /* For now we take the first one */
                if (!udc->driver)
                    goto found;
            }
        }
    
        if (!driver->match_existing_only) {
            list_add_tail(&driver->pending, &gadget_driver_pending_list);
            pr_info("udc-core: couldn't find an available UDC - added [%s] to list of pending drivers\n",
                driver->function);
            ret = 0;
        }
    
        mutex_unlock(&udc_lock);
        return ret;
    found:
        ret = udc_bind_to_driver(udc, driver);
        mutex_unlock(&udc_lock);
        return ret;
    }
    
    

    请问是哪一步没配置呢?求大佬们帮帮忙,谢谢

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月1日
  • 创建了问题 11月23日

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样