问题:通过uuu烧录toradex imx8mp-verdin时,板卡进入initramfs之后uuu主机通过fbk无法与板卡通信
环境:toradex yocto scarthgap
内核:6.6.74
设备树:imx8mp-verdin-nonwifi-mallow.dts
initramfs:fsl-image-mfgtool-initramfs-verdin-imx8mp.cpio.gz.u-boot(来自toradex yocto)或者fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.zst.u-boot(来自LF_v6.12.3-1.0.0_images_IMX8MPEVK)
目前线索:uuu.pdf-> FBK: Android fastboot protocol, implement at initramfs. See project imx-uuc ,需要在/init中手动挂载以下脚本并获取udc设备手动启动fastboot监听,来源:imx-uuc->linuxrc
mount -t sysfs none /sys
mount -t proc none /proc
mount -t devtmpfs none /dev
mount -t configfs none /sys/kernel/config
UDC_DIR=/sys/class/udc
GADGET_NAME=g1
while true; do*
if [ “$(ls -A $UDC_DIR)” ]; then
for udc in $UDC_DIR/*; do
udc_name=$(basename $udc)
如果 gadget 目录不存在,创建 gadget
if [ ! -d /sys/kernel/config/usb_gadget/$GADGET_NAME ]; then
mkdir -p /sys/kernel/config/usb_gadget/$GADGET_NAME
cd /sys/kernel/config/usb_gadget/$GADGET_NAME
echo 0x1fc9 > idVendor # NXP Vendor ID
echo 0x0152 > idProduct # Product ID,按需修改
mkdir -p strings/0x409
echo “0123456789” > strings/0x409/serialnumber
echo “NXP” > strings/0x409/manufacturer
echo “FBK Gadget” > strings/0x409/product
mkdir -p configs/c.1
echo 120 > configs/c.1/MaxPower
mkdir -p functions/fastboot.0
ln -s functions/fastboot.0 configs/c.1/
绑定 UDC
echo $udc_name > UDC
fi
gadget 已启动,进入 shell 等待连接
exec /bin/sh
done
else
echo “No UDC found, retry after 5 seconds”
sleep 5
fi
done
细节问题:目前挂载/sys之后还是不能获取到udc设备,在内核中打开了以下设备以及dwc3 platform还是不能找到udc中的设备,设备树暂时还未修改,dmesg报错dwc3未正常启动
Device Drivers
USB support
USB gadget support (very last entry)
Mass storage
Function filesystem (functionFS
HID Gadget
USB Physical Layer drivers
Freescale MXS USB PHY support
sh-5.2# dmesg
[11.750414] dwc3 38100000.usb: Configuration mismatch, dr mode forced to gadget
[11.766399] platform 38100000.usb:deferred probe pending