Also, I forgot the step where you actually mount the gadgetfs but I think
you already knew that.


On Tue, Dec 17, 2013 at 11:33 AM, Darrell Bailey <[email protected]> wrote:

> I'm not too sure about your HID issue. I'll look into it. The problem with
> the usb.c file is that in the file its "musb_hdrc" but that is actually
> wrong. You need to edit the file and then compile and it would fall through
> the switch perfectly fine. The actual name is "musb-hdrc". I'm not sure how
> whoever wrote the file messed up the name.
>
> Now, once you load gadget fs and compile usb.c, you still need to make one
> change, which will unfortunately require a kernel recompile. Information it
> can be found here:
> http://permalink.gmane.org/gmane.linux.usb.general/99672
>
> So for a test, i suggest starting over and doing these steps:
>
> 1. make sure you are connected via ssh over the network and not ssh
> through the usb0 network as we need to unload that module.
>
> 2. using rmmod, unload g_multi and libcomposite, in that order
>
> 3. modprobe gadgetfs
>
> 4. compile usb.c using one of the make commands at the top of the file,
> the first is for polling io and the second is for async io
>
> 5. run the output executable, if all goes well, the BBB will freeze....
> lol, this is alright though, this means that gadgetfs is working, if you
> had it hooked up to a windows machine, you should have even heard the
> "bladoonk" sound.
>
> 6. Go to the link I provided and follow the instructions on recompiling
> the kernel to get the appropriate fixes for the freeze problem.
>
> 7. run usb.c again and everything should be gravy. Using usb.c as a
> template, you should be able to start writing your software.
>
>
>
> I have been considering creating some type of site dedicated to the gadget
> framework because there is literally one files worth of documentation on
> it, and while it is an excellent piece of software, its difficult to
> understand and really needs tutorials and docs. I just don't have the
> time...
>
>
> On Tue, Dec 17, 2013 at 9:50 AM, <[email protected]> wrote:
>
>> Well, it loads and leaves the following traces in the logfiles:
>>
>> [ 4535.674596] gadgetfs: USB Gadget filesystem, version 24 Aug 2004
>>
>> but I did not get it to work. I've tried to use the following example
>> [1], but it does not compile. Even if it would compile, I do not understand
>> the program as "my_hid" structure that one is supposed to copy into this
>> program is never used anywhere in the associated snippet. And still it
>> relies on /dev/hidX to be present, which on my machine is not there.
>>
>> I've also tried the code found on [2] but this does not work because
>> /dev/gadget/ep0 etc. is not present. (The program did not even branch into
>> the "else if (stat (DEVNAME = "musb_hdrc", &statb) == 0) {" branch. I had
>> to manually force it there).
>> Trying to create the nodes with "mknod ep1in c 240 1" resulted "mknod:
>> `ep1in`: Operation not permitted".
>>
>> Could somebody please provide me with a (concise) example of how to use
>> my beaglebone black as a hid (mouse or keyboard) device? I would be really
>> grateful.
>>
>> Thank you
>>
>>
>> This is an excerpt from the boot log about loading the musb-hdrc driver:
>> Jan 01 01:36:03 beaglebone kernel: usbcore: registered new interface
>> driver cdc_acm
>> Jan 01 01:36:03 beaglebone kernel: cdc_acm: USB Abstract Control Model
>> driver for USB modems and ISDN adapters
>> Jan 01 01:36:03 beaglebone kernel: Initializing USB Mass Storage driver...
>> Jan 01 01:36:03 beaglebone kernel: usbcore: registered new interface
>> driver usb-storage
>> Jan 01 01:36:03 beaglebone kernel: USB Mass Storage support registered.
>> Jan 01 01:36:03 beaglebone kernel: musb-hdrc: version 6.0, ?dma?, otg
>> (peripheral+host)
>> Jan 01 01:36:03 beaglebone kernel: musb-hdrc musb-hdrc.0.auto: pdev->id =
>> 0
>> Jan 01 01:36:03 beaglebone kernel: musb-hdrc musb-hdrc.0.auto:
>> drivers/usb/musb/musb_dsps.c:468 dsps_musb_init: OK
>> Jan 01 01:36:03 beaglebone kernel: musb-hdrc musb-hdrc.0.auto: *** mode=3
>> Jan 01 01:36:03 beaglebone kernel: musb-hdrc musb-hdrc.0.auto: ***
>> power=250
>> Jan 01 01:36:03 beaglebone kernel: musb-hdrc musb-hdrc.1.auto: pdev->id =
>> 1
>> Jan 01 01:36:03 beaglebone kernel: musb-hdrc musb-hdrc.1.auto:
>> drivers/usb/musb/musb_dsps.c:468 dsps_musb_init: OK
>> Jan 01 01:36:03 beaglebone kernel: musb-hdrc musb-hdrc.1.auto: *** mode=1
>> Jan 01 01:36:03 beaglebone kernel: musb-hdrc musb-hdrc.1.auto: ***
>> power=250
>> Jan 01 01:36:03 beaglebone kernel: musb-hdrc musb-hdrc.1.auto: MUSB HDRC
>> host driver
>> Jan 01 01:36:03 beaglebone kernel: musb-hdrc musb-hdrc.1.auto: new USB
>> bus registered, assigned bus number 1
>> Jan 01 01:36:03 beaglebone kernel: usb usb1: New USB device found,
>> idVendor=1d6b, idProduct=0002
>> Jan 01 01:36:03 beaglebone kernel: usb usb1: New USB device strings:
>> Mfr=3, Product=2, SerialNumber=1
>> Jan 01 01:36:03 beaglebone kernel: usb usb1: Product: MUSB HDRC host
>> driver
>> Jan 01 01:36:03 beaglebone kernel: usb usb1: Manufacturer: Linux 3.8.13
>> musb-hcd
>>
>> [1] https://www.kernel.org/doc/Documentation/usb/gadget_hid.txt
>> [2] http://www.linux-usb.org/gadget/usb.c
>>
>>
>>
>> On Monday, December 16, 2013 4:20:19 AM UTC+1, [email protected] wrote:
>>>
>>> If you've gotten gadgetfs to load then you're good. Your software just
>>> creates files in the /dev/gadgetfs folder to communicate with the usb
>>> device. Its all user space from here on.
>>>
>>> On Wednesday, November 20, 2013 9:17:27 AM UTC-5,
>>> [email protected] wrote:
>>>>
>>>> Hi Steve,
>>>>
>>>> could you please help me out with this problem? So far I've tried using
>>>> gadgetfs on the angstrom (v2012.12, kernel 3.8.13) on the beagleboard 
>>>> black.
>>>> I can succesfully modprobe g_zero after forcefully removing g_multi
>>>> (which acts as a usb-network interface to the computer, as well as a
>>>> storage device).
>>>> Whenever I try to load (modprobe) g_hid, i only get the error message
>>>> "ERROR: could not insert 'g_hid': No such device".
>>>> Modprobing gadgetfs gives me the following message in the syslog
>>>> "gadgetfs: USB Gadget filesystem, version 24 Aug 2004" and creating a dir
>>>> called /dev/gadget (mkdir -p /dev/gadget), then mounting it to the gadgetfs
>>>> filesystem (mount -t gadgetfs gadgetfs /dev/gadget)
>>>> gives me the following device
>>>> /dev/gadget/musb-hdrc but I do not know what to do with it.
>>>>
>>>> Thanks in advance.
>>>>
>>>> Regards
>>>>  Felix
>>>>
>>>> On Wednesday, September 25, 2013 6:20:13 PM UTC+2, Steve French wrote:
>>>>>
>>>>> Felix,
>>>>> I can help you figure this out if you want, but it begs the
>>>>> question...why not do this with something like a Teensy2 for half the
>>>>> price?  The Teensy2 would be perfect for this.  There are example projects
>>>>> that could get you doing exactly this within a few minutes of taking the
>>>>> Teensy2 out of the box!
>>>>> thx!
>>>>> -frenchy
>>>>>
>>>>> --
>>>>> Respectfully,
>>>>> Steve French
>>>>> 800.664.7256.office
>>>>>
>>>>> President, Volt Vision
>>>>> www.voltvision.com
>>>>>
>>>>>
>>>>> On Monday, September 23, 2013 2:21:40 PM UTC-4,
>>>>> [email protected] wrote:
>>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> I'm currently looking for help/information regarding the possibility
>>>>>> to use the Beaglebone Black as an external device (attached to a computer
>>>>>> via USB) emulating a mouse (USB HID Device). The BBB should register with
>>>>>> the computer as normal mouse and send eg. random movements to it.
>>>>>> My questions are the following:
>>>>>> 1. Is this theoretically possible?
>>>>>> 2. How would I achieve this? (So far I've searched for "USB HID mouse
>>>>>> BBB emulation", but have only come up with solutions for arduinos)
>>>>>> 3. Is there maybe an tutorial on this?
>>>>>> 4. Is there an API for this?
>>>>>> 5. Could someone provide me with a short example program?
>>>>>>
>>>>>> Thank you very much in advance.
>>>>>>
>>>>>> WIth kind regards
>>>>>>  Felix
>>>>>>
>>>>>>
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to