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] 
> <javascript:>>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