Which version of system do you use? Khadas official images, self built images, or others?
Khadas official images
Please describe your issue below:
可以创建ffs的gadget,但是无法将gadget绑定到UDC
Post a console log of your issue below:
出现以下错误信息
root@Khadas:/sys/kernel/config/usb_gadget/g1# echo fdd00000.crgudc2 > UDC
[ 4335.855750][7 T2245 ..] udc fdd00000.crgudc2: failed to start g1: -19
-bash: echo: write error: No such device
numbqq
2
Hello @yxmstar
你是想要做什么呢?固件是最新版本1.7.1-240930
吗?
我想要将视频流通过usb发送,应该是,从服务器同步下来的
numbqq
4
Hello @yxmstar
详细描述下你的使用场景和操作步骤,以及期望的结果。
yxmstar
5
将编码后的视频流通过usb发送到平板端,平板APP接收usb数据并解码显示,除此之外双端还有一些数据交互。
mount -t configfs none /sys/kernel/config/
cd /sys/kernel/config/usb_gadget/
mkdir g1
cd g1
echo "0x0200" > bcdUSB
echo "0xef" > bDeviceClass
echo "2" > bDeviceSubClass
echo "0x302E" > idVendor
echo "0x0519" > idProduct
echo "0x3000" > bcdDevice
echo "0x01" > bDeviceProtocol
mkdir strings/0x409
echo "Solex Tech" > strings/0x409/manufacturer
echo "MFI Usb Camera" > strings/0x409/product
echo "32021919830108" > strings/0x409/serialnumber
cd functions
mkdir ffs.iap2
cd ../configs
mkdir c.1
echo "1" > c.1/MaxPower
echo "0xC0" > c.1/bmAttributes
cd ../functions
ln -s ffs.iap2 ../configs/c.1
cd ../
echo "$(ls /sys/class/udc/)" > UDC
mkdir -p /dev/usb-ffs/iap2
mount -o uid=2000,gid=2000 -t functionfs iap2 /dev/usb-ffs/iap2
#cd - >/dev/null 2>&1
以上是我的操作步骤,我希望能打通usb通道来进行数据收发
numbqq
6
Hello @yxmstar
那你可以试试USB网络。参考文档使能USB网络:VIM4 USB Gadget [Khadas Docs]
使能后,你就可以通过usb0 网卡进行数据传输了。
Hello,
RNDIS方式对于商业平板支持性不好,该内核不支持FFS类型吗?
numbqq
8
内核是支持FFS的,而且可以正常配置RNDIS,参考:/usr/local/bin/usb-gadget
你是必须要用iap2吗?上面的配置你有在其他平台成功实践过吗?
我想要通过USB直接收发数据,上面配置我在其他平台成功过,RNDIS方案暂时不考虑,
yxmstar
10
怎么样能让fdd00000.crgudc2设备绑定到ffs类型的UDC描述符中?或者有其他方案可以实现我的需求吗?
numbqq
11
你是不是要先启动用户层应用然后再设置UDC ?比如:adb,需要先运行用户层程序adbd,然后才能执行echo "$(ls /sys/class/udc/)" > UDC
。