Was soll ich überprüfen, um einen USB -HID -Schreibfehler zu lösen?Linux

Linux verstehen
Anonymous
 Was soll ich überprüfen, um einen USB -HID -Schreibfehler zu lösen?

Post by Anonymous »

Ich schreibe Daten zum Host mit einem USB -HID.#!/bin/sh

usb_id=1
case "$1" in
start)
#1 mount configfs
mount -t configfs none /sys/kernel/config

#2 create hid mouse gadget
cd /sys/kernel/config/usb_gadget
mkdir g1
cd g1

#echo "0x0103" > idVendor
#echo "0xA213" > idProduct

echo "0x0483" > idVendor
echo "0xA058" > idProduct

mkdir strings/0x409

echo "0123456789ABCDEF" > strings/0x409/serialnumber
echo "TEST ENG Co.,Ltd." > strings/0x409/manufacturer
echo "HID_CAT" > strings/0x409/product

sleep 1

#3 create cfg
mkdir configs/c.1
mkdir configs/c.1/strings/0x409

echo "HID" > configs/c.1/strings/0x409/configuration
echo 0xc0 > configs/c.1/bmAttributes
echo 500 > configs/c.1/MaxPower

sleep 1

#4 create function
#hid mouse
mkdir functions/hid.usb0

echo 0 > functions/hid.usb0/subclass
echo 0 > functions/hid.usb0/protocol
echo 64 > functions/hid.usb0/report_length

# Write report descriptor
#hexdump /sys/kernel/config/usb_gadget/g1/functions/hid.usb0/report_desc

echo -ne "\x06\x06\xFF\x09\x01\xA1\x01\x85\x4F\x09\x4F\x15\x00\x25\xFF\x75\xF8\x95\x02\xB1\x82\x85\x4F\x09\x4F\x91\x82\x85\x49\x09\x49\x15\x00\x25\xFF\x75\xF8\x95\x02\x81\x82\x85\x49\x09\x49\xB1\x82\xC0" > functions/hid.usb0/report_desc

sleep 1

#5. hid mouse
ln -s functions/hid.usb0 configs/c.1

sleep 1

#8. start gadget
my_udc=$(echo `ls /sys/class/udc/` | cut -d ' ' -f ${usb_id})
echo ${my_udc}

if [[ ${my_udc} != "" ]]; then
echo "${my_udc}" > /sys/kernel/config/usb_gadget/g1/UDC
fi

sleep 1
;;
stop)
echo "" > /sys/kernel/config/usb_gadget/g1/UDC
rm /sys/kernel/config/usb_gadget/g1/configs/c.1/hid.usb0/
rmdir /sys/kernel/config/usb_gadget/g1/configs/c.1/strings/0x409/
rmdir /sys/kernel/config/usb_gadget/g1/configs/c.1/
rmdir /sys/kernel/config/usb_gadget/g1/functions/hid.usb0/
rmdir /sys/kernel/config/usb_gadget/g1/strings/0x409/
rmdir /sys/kernel/config/usb_gadget/g1/

umount /sys/kernel/config
;;
restart|reload)
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1

esac

exit $?
< /code>
Wenn ich versuche, Daten in den folgenden Befehl zu schreiben, < /p>

echo -ne "\ x97 \ x77 "> /dev /hidg0 < /p>
< /blockquote>
Die folgende Fehlermeldung wurde angezeigt. < /p>

[ 555.161464] configfs -gadget gadget: USB_EP_QUEUE -Fehler auf int
Endpoint -11 Sh: Schreibfehler: Ressource vorübergehend nicht verfügbar < /p>
< /blockquote>
, aber der Lesevorgang ist jedoch bestanden.
Was soll ich überprüfen, um dieses Problem zu lösen?>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post