Re: USB HID Gadget Support for Intel Edison

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The upstream sources for platform/intel-mid aren't in any public git
repos and are distributed
as a tarball. I  have been unable to find any platform/intel-mid
specific mailing lists, so
I created my own repos and tickets to track my progress. I haven't
done much work in the
kernel, but I'm trying to learn. If there are more appropriate or
effective ways to approach Intel,
the Linux (usb) community, or a solution... please let me know. :)

On Fri, Jan 9, 2015 at 1:16 AM, Andrzej Pietrasiewicz
<andrzej.p@xxxxxxxxxxx> wrote:
> In the very same file there is an example platform driver; well, at least
> the most important hid-specific parts of it. You must add the usual
> module boilerplate code and in module's init do platform_device_register(),
> while in module's exit do platform_device_unregister().

This ticket tracks my progress as I attempt to understand what parts
of platform/intel-mid to edit.
https://github.com/instantinfrastructure/edison-src/issues/1
I'm currently trying to figure out what all the *_init functions do
hoping I can find where to place the module boilerplate
platform_device_[un]register functions.
I found some references to folks just adding directly to
drivers/usb/gadget/hid.c
https://github.com/instantinfrastructure/linux-yocto-3.10/commit/4a7c648b3d0cf96ccaf6b6fd133577293984ca45
but I still get errors:

# modprobe g_hid
[11677.348746] Device 'hidg.0' does not have a release() function, it
is broken and must be fixed.
modprobe: ERROR: could not insert 'g_hid': No such device

> You might also want to have a look at a configfs-composed gadget

configfs looks awesome! Having just been added to 3.19.0-rc series,
I'm not sure I could get it that kernel to work on the Edison.
There are quite a few differences in platform/intel-mid  in 3.10.17 w/
the intel patches and the vanilla 3.19.0-rc series.
I've tried reaching out to someone from the platform/intel-mid team at
Intel, but have as of yet been unsuccessful.

I also looked at gadgetfs but get failed to start errors:

```
root@edison:~# mkdir /dev/gadget
root@edison:~# rmmod g_multi
root@edison:~# mount -t gadgetfs gadetfs /dev/gadget
[   54.781038] nop dwc3-device.1: failed to start (null): -120
root@edison:~# ls /dev/gadget
dwc3-gadget
root@edison:~# ls /dev/gadget/dwc3-gadget/
ls: /dev/gadget/dwc3-gadget/: Not a directory
root@edison:~# dmesg | tail -10
[   44.184839] g_multi gadget: unbind function 'acm'/f5d7f840
[   44.184862] g_multi gadget: unbind function 'Mass Storage Function'/f5c8c380
[   44.184878] g_multi gadget: unbind
[   44.184947]  lun0: close backing file
[   44.284976] gs_close: ttyGS0 (f5453400,f5e8c300) ...
[   44.285005] gs_close: ttyGS0 (f5453400,f5e8c300) done!
[   44.286415] usb0: stop stats: rx/tx 0/20, errs 0/0
[   54.779953] gadgetfs: USB Gadget filesystem, version 24 Aug 2004
[   54.781010] udc dwc3-device.1: registering UDC driver [(null)]
[   54.781038] nop dwc3-device.1: failed to start (null): -120
root@edison:~# uname -a
Linux edison 3.10.17-poky-edison+ #6 SMP PREEMPT Fri Jan 9 19:27:34
UTC 2015 i686 GNU/Linux
```

===== Upstream sources and the resultant repos ====
The edison-src build system and platform/intel-mid patch (Yocto derived BSP from
  https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=24389)

* https://github.com/instantinfrastructure/edison-src)

The yocto-3.10.17 sources with the patch applied
(https://github.com/instantinfrastructure/edison-src/blob/master/device-software/meta-edison/recipes-kernel/linux/files/upstream_to_edison.patch)

* https://github.com/instantinfrastructure/linux-yocto-3.10
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux