Luckfox Pico Pro Max如何使用sd卡镜像使用umtprd?

  • 您好,USB 在设备模式下模拟高速设备(UVC UAC UMS MTP)的时候会占用高速节点, 相关细节请自行查阅资料或源码,ADB和 MTP 可能因为节点冲突无法同时使用

    开启 MTP 功能 示例操作如下:
    1 SDK 下执行 ./build.sh buildrootconfig ,打开 BR2_PACKAGE_UMTPRD
    2 重新打包 rootfs.img 并烧录
    3 进入系统将默认配置 gadgetfs 的启动脚本 S50usbdevice S99usb0config删除或者移出 /etc/init.d 目录
    4 重启
    5 构建 umtprd 配置文件

    Code: Select all

    mkdir -p /etc/umtprd
    vi /etc/umtprd/umtprd.conf
    
    /etc/umtprd/umtprd.conf

    Code: Select all

    loop_on_disconnect 1
    #将 /userdata 设置为共享目录
    storage "/userdata"      "share folder" "rw"
    
    manufacturer "MyCompany"  
    product "MyMTP" 
    serial "01234567"
    firmware_version "Rev A"  
    interface "MTP" 
    
    
    usb_vendor_id  0x1D6B # Linux Foundation
    usb_product_id 0x0100 # PTP Gadget                                           
    usb_class 0x6         # Image                                
    usb_subclass 0x1      # Still Imaging device                 
    usb_protocol 0x1      # 
    
    usb_dev_version 0x3008 
    
    
    usb_functionfs_mode 0x1
    
    usb_dev_path   "/dev/ffs-mtp/ep0"
    usb_epin_path  "/dev/ffs-mtp/ep1"                 
    usb_epout_path "/dev/ffs-mtp/ep2"
    usb_epint_path "/dev/ffs-mtp/ep3"
    
    usb_max_packet_size 0x200
    
    6 配置 gadgetfs

    Code: Select all

    mount -t configfs none /sys/kernel/config
    cd /sys/kernel/config/usb_gadget
    mkdir g1
    cd g1
    
    echo 0x1d6b > idVendor 
    echo 0x0100 > idProduct
    
    
    mkdir strings/0x409
    echo "01234567" > strings/0x409/serialnumber
    echo "MyCompany" > strings/0x409/manufacturer
    echo "MyMTP"     > strings/0x409/product
    
    mkdir configs/c.1
    mkdir functions/ffs.mtp
    ln -s functions/ffs.mtp configs/c.1
    
    
    mkdir -p /dev/ffs-mtp
    mount -t functionfs mtp /dev/ffs-mtp
    
    7 启动 umtprd

    Code: Select all

    umtprd &
    
    8 启动 UDC

    Code: Select all

    ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/g1/UDC