use CDC-NCM instead of RNDIS
Ref:
66f41db1eb
Signed-off-by: carbon <carbon@milkv.io>
This commit is contained in:
@ -5,12 +5,14 @@ MSC_PID=0x1008
|
||||
RNDIS_PID=0x1009
|
||||
UVC_PID=0x100A
|
||||
UAC_PID=0x100B
|
||||
NCM_PID=0x100C
|
||||
ADB_VID=0x18D1
|
||||
ADB_PID=0x4EE0
|
||||
ADB_PID_M1=0x4EE2
|
||||
ADB_PID_M2=0x4EE4
|
||||
MANUFACTURER="Cvitek"
|
||||
PRODUCT="USB Com Port"
|
||||
PRODUCT_NCM="NCM"
|
||||
PRODUCT_RNDIS="RNDIS"
|
||||
PRODUCT_UVC="UVC"
|
||||
PRODUCT_UAC="UAC"
|
||||
@ -39,6 +41,11 @@ case "$2" in
|
||||
cvg)
|
||||
CLASS=cvg
|
||||
;;
|
||||
ncm)
|
||||
CLASS=ncm
|
||||
PID=$NCM_PID
|
||||
PRODUCT=$PRODUCT_NCM
|
||||
;;
|
||||
rndis)
|
||||
CLASS=rndis
|
||||
PID=$RNDIS_PID
|
||||
@ -62,7 +69,7 @@ case "$2" in
|
||||
;;
|
||||
*)
|
||||
if [ "$1" = "probe" ] ; then
|
||||
echo "Usage: $0 probe {acm|msc|cvg|rndis|uvc|uac1|adb}"
|
||||
echo "Usage: $0 probe {acm|msc|cvg|ncm|rndis|uvc|uac1|adb}"
|
||||
exit 1
|
||||
fi
|
||||
esac
|
||||
@ -86,6 +93,11 @@ res_check() {
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "ncm*" | wc -l)
|
||||
TMP_NUM=$(($TMP_NUM * 2))
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "rndis*" | wc -l)
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
TMP_NUM=$(($TMP_NUM * 2))
|
||||
@ -117,6 +129,10 @@ res_check() {
|
||||
EP_IN=$(($EP_IN+1))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
fi
|
||||
if [ "$CLASS" = "ncm" ] ; then
|
||||
EP_IN=$(($EP_IN+1))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
fi
|
||||
if [ "$CLASS" = "rndis" ] ; then
|
||||
EP_IN=$(($EP_IN+2))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
@ -197,6 +213,9 @@ probe() {
|
||||
if [ "$CLASS" = "mass_storage" ] ; then
|
||||
echo $MSC_FILE >$CVI_GADGET/functions/$CLASS.usb$FUNC_NUM/lun.0/file
|
||||
fi
|
||||
if [ "$CLASS" = "ncm" ] ; then
|
||||
ln -s $CVI_FUNC/ncm.usb$FUNC_NUM $CVI_GADGET/configs/c.1
|
||||
fi
|
||||
if [ "$CLASS" = "rndis" ] ; then
|
||||
#OS STRING
|
||||
echo 1 >$CVI_GADGET/os_desc/use
|
||||
@ -284,7 +303,7 @@ case "$1" in
|
||||
ls /sys/class/udc/ >$CVI_GADGET/UDC
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 probe {acm|msc|cvg|uvc|uac1} {file (msc)}"
|
||||
echo "Usage: $0 probe {acm|msc|cvg|ncm|uvc|uac1} {file (msc)}"
|
||||
echo "Usage: $0 start"
|
||||
echo "Usage: $0 stop"
|
||||
exit 1
|
||||
|
||||
@ -1 +1 @@
|
||||
usb-rndis.sh
|
||||
usb-ncm.sh
|
||||
15
device/milkv-duo256m-glibc-arm64-sd/overlay/mnt/system/usb-ncm.sh
Executable file
15
device/milkv-duo256m-glibc-arm64-sd/overlay/mnt/system/usb-ncm.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
/etc/uhubon.sh device >> /tmp/ncm.log 2>&1
|
||||
/etc/run_usb.sh probe ncm >> /tmp/ncm.log 2>&1
|
||||
/etc/run_usb.sh start ncm >> /tmp/ncm.log 2>&1
|
||||
|
||||
sleep 0.5
|
||||
ifconfig usb0 192.168.42.1
|
||||
|
||||
count=`ps | grep dnsmasq | grep -v grep | wc -l`
|
||||
if [ ${count} -lt 1 ] ;then
|
||||
echo "/etc/init.d/S80dnsmasq start" >> /tmp/ncm.log 2>&1
|
||||
/etc/init.d/S80dnsmasq start >> /tmp/ncm.log 2>&1
|
||||
fi
|
||||
|
||||
15
device/milkv-duo256m-musl-riscv64-sd/overlay/mnt/system/usb-ncm.sh
Executable file
15
device/milkv-duo256m-musl-riscv64-sd/overlay/mnt/system/usb-ncm.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
/etc/uhubon.sh device >> /tmp/ncm.log 2>&1
|
||||
/etc/run_usb.sh probe ncm >> /tmp/ncm.log 2>&1
|
||||
/etc/run_usb.sh start ncm >> /tmp/ncm.log 2>&1
|
||||
|
||||
sleep 0.5
|
||||
ifconfig usb0 192.168.42.1
|
||||
|
||||
count=`ps | grep dnsmasq | grep -v grep | wc -l`
|
||||
if [ ${count} -lt 1 ] ;then
|
||||
echo "/etc/init.d/S80dnsmasq start" >> /tmp/ncm.log 2>&1
|
||||
/etc/init.d/S80dnsmasq start >> /tmp/ncm.log 2>&1
|
||||
fi
|
||||
|
||||
40
device/milkv-duos-glibc-arm64-sd/overlay/mnt/system/usb-ncm.sh
Executable file
40
device/milkv-duos-glibc-arm64-sd/overlay/mnt/system/usb-ncm.sh
Executable file
@ -0,0 +1,40 @@
|
||||
#!/bin/sh
|
||||
|
||||
usb_en=453
|
||||
usb_select=510
|
||||
|
||||
function set_gpio()
|
||||
{
|
||||
local gpio_num=$1
|
||||
local gpio_val=$2
|
||||
local gpio_path="/sys/class/gpio/gpio${gpio_num}"
|
||||
|
||||
if test -d ${gpio_path}; then
|
||||
echo "GPIO ${gpio_num} already exported" >> /tmp/ncm.log 2>&1
|
||||
else
|
||||
echo ${gpio_num} > /sys/class/gpio/export
|
||||
fi
|
||||
|
||||
echo out > ${gpio_path}/direction
|
||||
sleep 0.1
|
||||
echo ${gpio_val} > ${gpio_path}/value
|
||||
}
|
||||
|
||||
set_gpio ${usb_en} 0
|
||||
sleep 0.5
|
||||
set_gpio ${usb_select} 0
|
||||
sleep 0.5
|
||||
|
||||
/etc/uhubon.sh device >> /tmp/ncm.log 2>&1
|
||||
/etc/run_usb.sh probe ncm >> /tmp/ncm.log 2>&1
|
||||
/etc/run_usb.sh start ncm >> /tmp/ncm.log 2>&1
|
||||
|
||||
sleep 0.5
|
||||
ifconfig usb0 192.168.42.1
|
||||
|
||||
count=`ps | grep dnsmasq | grep -v grep | wc -l`
|
||||
if [ ${count} -lt 1 ] ;then
|
||||
echo "/etc/init.d/S80dnsmasq start" >> /tmp/ncm.log 2>&1
|
||||
/etc/init.d/S80dnsmasq start >> /tmp/ncm.log 2>&1
|
||||
fi
|
||||
|
||||
40
device/milkv-duos-musl-riscv64-sd/overlay/mnt/system/usb-ncm.sh
Executable file
40
device/milkv-duos-musl-riscv64-sd/overlay/mnt/system/usb-ncm.sh
Executable file
@ -0,0 +1,40 @@
|
||||
#!/bin/sh
|
||||
|
||||
usb_en=453
|
||||
usb_select=510
|
||||
|
||||
function set_gpio()
|
||||
{
|
||||
local gpio_num=$1
|
||||
local gpio_val=$2
|
||||
local gpio_path="/sys/class/gpio/gpio${gpio_num}"
|
||||
|
||||
if test -d ${gpio_path}; then
|
||||
echo "GPIO ${gpio_num} already exported" >> /tmp/ncm.log 2>&1
|
||||
else
|
||||
echo ${gpio_num} > /sys/class/gpio/export
|
||||
fi
|
||||
|
||||
echo out > ${gpio_path}/direction
|
||||
sleep 0.1
|
||||
echo ${gpio_val} > ${gpio_path}/value
|
||||
}
|
||||
|
||||
set_gpio ${usb_en} 0
|
||||
sleep 0.5
|
||||
set_gpio ${usb_select} 0
|
||||
sleep 0.5
|
||||
|
||||
/etc/uhubon.sh device >> /tmp/ncm.log 2>&1
|
||||
/etc/run_usb.sh probe ncm >> /tmp/ncm.log 2>&1
|
||||
/etc/run_usb.sh start ncm >> /tmp/ncm.log 2>&1
|
||||
|
||||
sleep 0.5
|
||||
ifconfig usb0 192.168.42.1
|
||||
|
||||
count=`ps | grep dnsmasq | grep -v grep | wc -l`
|
||||
if [ ${count} -lt 1 ] ;then
|
||||
echo "/etc/init.d/S80dnsmasq start" >> /tmp/ncm.log 2>&1
|
||||
/etc/init.d/S80dnsmasq start >> /tmp/ncm.log 2>&1
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user