Hi Felix,

Were you able to make it work at the end? If you did, do you mind giving me 
some help? I see you are using gadgetfs but I'm not sure how this works. 
 Do you know of any documentation or tutorial on the subject? 

Thanks for all the help,
Bart

On Wednesday, 18 December 2013 14:24:18 UTC, [email protected] 
wrote:
>
> Hello Darrell,
>
> thank you very much. You've helped me a lot. It did fail as you've said it 
> would. I've received the following lines in the logfile of the host 
> computer:
> [ 6634.154670] usb 2-1.2: new high-speed USB device number 11 using 
> ehci_hcd
> [ 6634.249933] usb 2-1.2: New USB device found, idVendor=0525, 
> idProduct=a4a4
> [ 6634.249937] usb 2-1.2: New USB device strings: Mfr=1, Product=2, 
> SerialNumber=3
> [ 6634.249940] usb 2-1.2: Product: My Source/Sink Product
> [ 6634.249942] usb 2-1.2: Manufacturer: Licensed to Code, LLC
> [ 6634.249945] usb 2-1.2: SerialNumber: 
> emg8c8t4tfu7n9oo0viqrkn5bp97lxgcbwjp4bceyvrbs42nahnth3hjf22olbj
>
> I tried to fix the file "inode.c" as [1] suggests but I could not find the 
> file in  /usr/src/kernel/drivers/usb/gadget/ or anywhere else ("opkg search 
> *inode.c*" turned out empty).
> Reading your other post I think you might be in the same place. I'll wait 
> till they release more information or patch the kernel.
>
>
> [1] https://github.com/dominicgs/USBProxy/tree/master/doc
>
>
> On Tuesday, December 17, 2013 5:33:43 PM UTC+1, Darrell Bailey 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/d/optout.

Reply via email to