debian@beaglebone:~$ sudo bash create-hid-BB.sh
create-hid-BB.sh: line 44: echo: write error: Device or resource busy
create-hid-BB.sh: line 29: echo: write error: Device or resource busy
create-hid-BB.sh: line 30: echo: write error: Device or resource busy
create-hid-BB.sh: line 31: echo: write error: Device or resource busy
cp: error writing '/sys/kernel/config/usb_gadget/kb/functions/hid.usb0/report_desc': Device or resource busy
ln: failed to create symbolic link '/sys/kernel/config/usb_gadget/kb/configs/c.1/hid.usb0': File exists
create-hid-BB.sh: line 44: echo: write error: Device or resource busy
debian@beaglebone:~$ sudo bash create-hid-BB.sh
create-hid-BB.sh: line 29: echo: write error: Device or resource busy
create-hid-BB.sh: line 30: echo: write error: Device or resource busy
create-hid-BB.sh: line 31: echo: write error: Device or resource busy
cp: error writing '/sys/kernel/config/usb_gadget/kb/functions/hid.usb0/report_desc': Device or resource busy
ln: failed to create symbolic link '/sys/kernel/config/usb_gadget/kb/configs/c.1/hid.usb0': File exists
create-hid-BB.sh: line 44: echo: write error: Device or resource busy
debian@beaglebone:~$ sudo bash -ex create-hid-BB.sh
[sudo] password for debian:
+ grep g_multi
+ lsmod
+ mount
+ grep /sys/kernel/config
+ umount /sys/kernel/config
+ mount none -t configfs /sys/kernel/config
+ kbdir=/sys/kernel/config/usb_gadget/kb
+ '[' '!' -d /sys/kernel/config/usb_gadget/kb ']'
+ mkdir /sys/kernel/config/usb_gadget/kb
+ echo 0x1337
+ echo 0x1337
+ echo 0x0100
+ echo 0x0110
+ '[' '!' -d /sys/kernel/config/usb_gadget/kb/configs/c.1 ']'
+ mkdir /sys/kernel/config/usb_gadget/kb/configs/c.1
+ echo 500
+ '[' '!' -d /sys/kernel/config/usb_gadget/kb/functions/hid.usb0 ']'
+ mkdir /sys/kernel/config/usb_gadget/kb/functions/hid.usb0
+ echo 1
+ echo 1
+ echo 8
+ cp report_descriptor_kb.bin /sys/kernel/config/usb_gadget/kb/functions/hid.usb0/report_desc
+ ln -s /sys/kernel/config/usb_gadget/kb/functions/hid.usb0 /sys/kernel/config/usb_gadget/kb/configs/c.1
+ '[' -d /sys/class/udc/musb-hdrc.0.auto ']'
+ '[' -d /sys/class/udc/musb-hdrc.0 ']'
+ echo musb-hdrc.0
create-hid-BB.sh: line 44: echo: write error: Device or resource busy
Same command again:
debian@beaglebone:~$ sudo bash -ex create-hid-BB.sh
+ lsmod
+ grep g_multi
+ grep /sys/kernel/config
+ mount
+ umount /sys/kernel/config
+ mount none -t configfs /sys/kernel/config
+ kbdir=/sys/kernel/config/usb_gadget/kb
+ '[' '!' -d /sys/kernel/config/usb_gadget/kb ']'
+ echo 0x1337
+ echo 0x1337
+ echo 0x0100
+ echo 0x0110
+ '[' '!' -d /sys/kernel/config/usb_gadget/kb/configs/c.1 ']'
+ echo 500
+ '[' '!' -d /sys/kernel/config/usb_gadget/kb/functions/hid.usb0 ']'
+ echo 1
create-hid-BB.sh: line 29: echo: write error: Device or resource busy
root@beaglebone:/home/debian/cfg/usb_gadget/g1# pwd
/home/debian/cfg/usb_gadget/g1
root@beaglebone:/home/debian/cfg/usb_gadget/g1# ls
bcdDevice bcdUSB bDeviceClass bDeviceProtocol bDeviceSubClass bMaxPacketSize0 configs functions idProduct idVendor os_desc strings UDC
root@beaglebone:/home/debian/cfg/usb_gadget/g1# ls -al /sys/class/udc
total 0
drwxr-xr-x 2 root root 0 Jan 16 09:30 .
drwxr-xr-x 58 root root 0 Jan 16 09:30 ..
lrwxrwxrwx 1 root root 0 Jan 16 09:29 musb-hdrc.0.auto -> ../../devices/platform/ocp/47400000.usb/47401400.usb/musb-hdrc.0.auto/udc/musb-hdrc.0.auto
root@beaglebone:/home/debian/cfg/usb_gadget/g1# echo musb-hdrc.0.auto > UDC
-su: echo: write error: Device or resource busy
root@beaglebone:/home/debian/cfg/usb_gadget/g1# echo musb-hdrc.0 > UDC
-su: echo: write error: No such device
root@beaglebone:/home/debian/cfg/usb_gadget/g1# uname -r
4.4.91-ti-r133