Re: Documentation for Raw USB ConfigFS

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

 



On Tue, May 19, 2020, at 2:51 PM, Krzysztof Opasiak wrote:
> 
> 
> On 19.05.2020 21:40, Sid Spry wrote:
> > On Tue, May 19, 2020, at 2:12 PM, Sid Spry wrote:
> >> On Mon, May 18, 2020, at 6:58 PM, Peter Chen wrote:
> >>>   
> >>>>> 2. Try exactly the same script I gave you, do not try change any
> >>>>> charaters (except the position for your application)
> >>>>>
> >>>>>>> cd /sys/kernel/config/usb_gadget
> >>>>>>> cd g1
> >>>>>>> echo "0x1d6b" > idVendor
> >>>>>>> echo "0x0105" > idProduct
> >>>>>>> mkdir /dev/usb-ffs
> >>>>>>> mkdir functions/ffs.usb
> >>>>>>> mount -t functionfs usb /dev/usb-ffs ln -s functions/ffs.usb
> >>>>>>> configs/c.1 /home/root/usb_test/ffs_test/ffs-test & /* your own
> >>>>>>> test application */ while [ ! -e /dev/usb-ffs/ep1 ] do  echo "."
> >>>>>>>   sleep 1;
> >>>>>>> done
> >>>>>
> >>>>>>
> >>>>>> [1]: I actually did not have CONFIG_USB_CONFIGFS_F_FS nor F_NCM/ECM
> >>>> set however the necessary code seemed to have been pulled in some other way
> >>>> and the modules were available. They were loaded, and as explained my shell-
> >>>> based configfs code worked. They are set now and the problem persists.
> >>>>>
> >>>>
> >>>> Hi, sorry I was not clear. The kernel config is fine, and
> >>>> CONFIG_USB_CONFIGFS_F_FS is set. I run your exact script (minus the ffs-test
> >>>> line) and it fails to create the functions/ffs.usb directory as I described before. I can
> >>>> create other functions just fine.
> >>>
> >>> You may enable debug at configfs.c, f_fs.c and your udc driver to see
> >>> what happened.
> >>>
> >>
> >> Thanks for your help Peter. Unfortunately I have hit a brick wall. The
> >> examples in libusbgx also fail to work, and I tried that library after
> >> a friend recommended it as perhaps having secret mojo. I enabled the
> >> userspace debug helpers in the kernel but they do not seem to offer me
> >> any insight, and there's no relevant dmesg output.
> >>
> >> My device is an Allwinner H2+, and the UDC seems to be the Inventra
> >> Highspeed Dual Role Controller. I've also got the DesignWare USB3/USB2
> >> cores enabled from my upstream but I think they are not being loaded.
> >>
> >> If anyone can look I'd appreciate it, this is just a hobby project.
> >> It's a good chance for me to do some kernel debugging but I'm a bit
> >> lost.
> >>
> >> Thanks for the help so far.
> >>
> > 
> > Sorry for double post again. Alternatively, if anyone can recommend a device which they know has working ffs configfs gadget functionality, I'll just buy a board with that instead.
> 
> Can you send me the strace log from the libusbgx example that does not 
> work for you?
> 

I apologize for the anticlimax, but some minor option I changed seemed to gate the bug. It may have been that I compiled in the DWC controller's dual mode instead of leaving it as module and this claimed the UDC in some way? The DWC dual-mode was compiled in as it caused a compilation issue in an older kernel.

I can now create the directory. Will get back if I can get the driver code working, the example references the linux source code in a strange way, haven't figured out how to add all headers.



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

  Powered by Linux