日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

firefly-rk3288使用USB GADGET实现大容量存储脚本

發布時間:2023/12/16 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 firefly-rk3288使用USB GADGET实现大容量存储脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#!/bin/sh

UMS_EN=off
ADB_EN=off
MTP_EN=off

make_config_string()
{
tmp=CONFIGSTRINGif[?n"CONFIG_STRING if [ -n "CONFIGS?TRINGif[?n"CONFIG_STRING" ]; then
CONFIG_STRING=KaTeX parse error: Expected group after '_' at position 6: {tmp}_?{1}
else
CONFIG_STRING=$1
fi
}

parameter_init()
{
while read line
do
case “$line” in
usb_mtp_en)
MTP_EN=on
make_config_string mtp
;;
usb_adb_en)
ADB_EN=on
make_config_string adb
;;
usb_ums_en)
UMS_EN=on
make_config_string ums
;;
esac
done < $DIR/.usb_config

case "$CONFIG_STRING" inums)PID=0x0000;;mtp)PID=0x0001;;adb)PID=0x0006;;mtp_adb | adb_mtp)PID=0x0011;;ums_adb | adb_ums)PID=0x0018;;*)PID=0x0019esac

}

configfs_init()
{
mount -t configfs none /sys/kernel/config
mkdir /sys/kernel/config/usb_gadget/rockchip -m 0770
echo 0x2207 > /sys/kernel/config/usb_gadget/rockchip/idVendor
echo $PID > /sys/kernel/config/usb_gadget/rockchip/idProduct
mkdir /sys/kernel/config/usb_gadget/rockchip/strings/0x409 -m 0770
echo “0123456789ABCDEF” > /sys/kernel/config/usb_gadget/rockchip/strings/0x409/serialnumber
echo “rockchip” > /sys/kernel/config/usb_gadget/rockchip/strings/0x409/manufacturer
echo “rk3xxx” > /sys/kernel/config/usb_gadget/rockchip/strings/0x409/product
mkdir /sys/kernel/config/usb_gadget/rockchip/configs/b.1 -m 0770
mkdir /sys/kernel/config/usb_gadget/rockchip/configs/b.1/strings/0x409 -m 0770
echo 500 > /sys/kernel/config/usb_gadget/rockchip/configs/b.1/MaxPower
echo “$CONFIG_STRING” > /sys/kernel/config/usb_gadget/rockchip/configs/b.1/strings/0x409/configuration
}

function_init()
{
if [ $UMS_EN = on ];then
mkdir /sys/kernel/config/usb_gadget/rockchip/functions/mass_storage.0
echo /dev/disk/by-partlabel/userdata > /sys/kernel/config/usb_gadget/rockchip/functions/mass_storage.0/lun.0/file
ln -s /sys/kernel/config/usb_gadget/rockchip/functions/mass_storage.0 /sys/kernel/config/usb_gadget/rockchip/configs/b.1/mass_storage.0
fi

if [ $ADB_EN = on ];then mkdir /sys/kernel/config/usb_gadget/rockchip/functions/mass_storage.usb0 mkfs.vfat /dev/ram0 mount /dev/ram0 /media/usb0/ echo /dev/ram0 > /sys/kernel/config/usb_gadget/rockchip/functions/mass_storage.usb0/lun.0/file ln -s /sys/kernel/config/usb_gadget/rockchip/functions/mass_storage.usb0 /sys/kernel/config/usb_gadget/rockchip/configs/b.1/fi if [ $MTP_EN = on ];then mkdir /sys/kernel/config/usb_gadget/rockchip/functions/mtp.gs0 ln -s /sys/kernel/config/usb_gadget/rockchip/functions/mtp.gs0 /sys/kernel/config/usb_gadget/rockchip/configs/b.1/mtp.gs0 fi

}

case “$1” in
start)
DIR=$(cd dirname $0; pwd)
if [ ! -e “$DIR/.usb_config” ]; then
echo “$0: Cannot find .usb_config”
exit 0
fi

parameter_init if [ -z $CONFIG_STRING ]; then echo "$0: no function be selected" exit 0 fi configfs_init function_initUDC=`ls /sys/class/udc/ | awk '{print $1}'` echo $UDC > /sys/kernel/config/usb_gadget/rockchip/UDC ;;

stop)
echo “none” > /sys/kernel/config/usb_gadget/rockchip/UDC
;;
restart|reload)
;;
*)
echo “Usage: $0 {start|stop|restart}”
exit 1
esac

總結

以上是生活随笔為你收集整理的firefly-rk3288使用USB GADGET实现大容量存储脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。