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.
