use CDC-NCM instead of RNDIS

fix https://github.com/milk-v/milkv.io/issues/45

Signed-off-by: FUKAUMI Naoki <naoki@milkv.io>
This commit is contained in:
FUKAUMI Naoki
2024-06-13 11:54:06 +09:00
parent bc680ca7c9
commit 66f41db1eb
22 changed files with 241 additions and 18 deletions

View File

@ -350,7 +350,7 @@ appendWindowsPath = false
### Duoのターミナルに入る方法 ### Duoのターミナルに入る方法
- シリアルケーブルを使う - シリアルケーブルを使う
- USBネットワークを使う(RNDIS) - USBネットワークを使う(CDC-NCM)
- イーサネットインターフェースを使う(アドオンボードが必要) - イーサネットインターフェースを使う(アドオンボードが必要)
Duoのターミナルに入る際に必要なユーザー名とパスワードは以下の通りです。 Duoのターミナルに入る際に必要なユーザー名とパスワードは以下の通りです。
@ -378,7 +378,7 @@ DuoのLEDをまた点滅させたい場合、スクリプトのファイル名
### IO-Boardを使う ### IO-Boardを使う
IO-Boardを使用する場合、USBネットワーク(RNDIS)は使用できないので、IO-Boardのイーサネットインターフェースを使用してください。 IO-Boardを使用する場合、USBネットワーク(CDC-NCM)は使用できないので、IO-Boardのイーサネットインターフェースを使用してください。
IO-BoardのEthernetポートに固定MACアドレスを割り当てる必要がある場合は、以下のコマンドを実行してください(**コマンド中のMACアドレスは設定したいMACアドレスに置き換えてください。また、同一ネットワークセグメント内の異なるデバイスのMACアドレスは重複してはいけません**)。 IO-BoardのEthernetポートに固定MACアドレスを割り当てる必要がある場合は、以下のコマンドを実行してください(**コマンド中のMACアドレスは設定したいMACアドレスに置き換えてください。また、同一ネットワークセグメント内の異なるデバイスのMACアドレスは重複してはいけません**)。
```bash ```bash
@ -415,10 +415,10 @@ USBフラッシュドライブをアンマウントするコマンド。
umount /mnt/udisk umount /mnt/udisk
``` ```
USBネットワーク(RNDIS)の機能をIO-Board不使用時に使う。 USBネットワーク(CDC-NCM)の機能をIO-Board不使用時に使う。
```bash ```bash
ln -sf /mnt/system/usb-rndis.sh /mnt/system/usb.sh ln -sf /mnt/system/usb-ncm.sh /mnt/system/usb.sh
sync sync
``` ```
- それからボードを再起動してください。 - それからボードを再起動してください。

View File

@ -375,7 +375,7 @@ appendWindowsPath = false
### 登陆到 Duo 终端的方法 ### 登陆到 Duo 终端的方法
- 通过串口线 - 通过串口线
- 通过 USB 网卡 (RNDIS) 方式 - 通过 USB 网卡 (CDC-NCM) 方式
- 通过以太网接口(需要扩展板支持) - 通过以太网接口(需要扩展板支持)
登陆 Duo 终端的用户名和密码分别为: 登陆 Duo 终端的用户名和密码分别为:
@ -401,9 +401,9 @@ mv /mnt/system/blink.sh_backup /mnt/system/blink.sh && sync
### 使用 IO Board 底板 ### 使用 IO Board 底板
注意,使用 IO Board 底板时USB 网卡 (RNDIS) 不可用,如需使用网络功能,请使用底板上的以太网接口。 注意,使用 IO Board 底板时USB 网卡 (CDC-NCM) 不可用,如需使用网络功能,请使用底板上的以太网接口。
使用底板上的 4 个 USB 口,需要修改一下配置,将默认固件中的 `usb-rndis` 功能修改为 `usb-host` 使用底板上的 4 个 USB 口,需要修改一下配置,将默认固件中的 `usb-ncm` 功能修改为 `usb-host`
```bash ```bash
ln -sf /mnt/system/usb-host.sh /mnt/system/usb.sh ln -sf /mnt/system/usb-host.sh /mnt/system/usb.sh
@ -432,10 +432,10 @@ ls /mnt/udisk
umount /mnt/udisk umount /mnt/udisk
``` ```
不使用底板时,恢复 USB 网卡 (RNDIS) 的方法: 不使用底板时,恢复 USB 网卡 (CDC-NCM) 的方法:
```bash ```bash
ln -sf /mnt/system/usb-rndis.sh /mnt/system/usb.sh ln -sf /mnt/system/usb-ncm.sh /mnt/system/usb.sh
sync sync
``` ```

View File

@ -337,7 +337,7 @@ To rollback this change in `/etc/wsl.conf` file set `appendWindowsPath` as true.
### The method to log in to the Duo terminal ### The method to log in to the Duo terminal
- Using a serial cable. - Using a serial cable.
- Using a USB network (RNDIS). - Using a USB network (CDC-NCM).
- Using the Ethernet interface (requires the IO-Board). - Using the Ethernet interface (requires the IO-Board).
The username and password for logging into the Duo terminal are as follows: The username and password for logging into the Duo terminal are as follows:
@ -365,7 +365,7 @@ mv /mnt/system/blink.sh_backup /mnt/system/blink.sh && sync
### Using the IO-Board baseboard ### Using the IO-Board baseboard
Note that when using the IO-Board, the USB network (RNDIS) is not available, Please use the Ethernet interface on the IO-Board. Note that when using the IO-Board, the USB network (CDC-NCM) is not available, Please use the Ethernet interface on the IO-Board.
If you need to assign a fixed MAC address to the Ethernet port of the IO-Board, please execute the following command(**Replace the MAC address in the command with the MAC address you want to set, and please note that MAC addresses of different devices within the same network segment must not be duplicated**): If you need to assign a fixed MAC address to the Ethernet port of the IO-Board, please execute the following command(**Replace the MAC address in the command with the MAC address you want to set, and please note that MAC addresses of different devices within the same network segment must not be duplicated**):
@ -405,10 +405,10 @@ The command to unmount a USB flash drive:
umount /mnt/udisk umount /mnt/udisk
``` ```
To restore the functionality of the USB network (RNDIS) when not using the IO-Board, you can follow these steps: To restore the functionality of the USB network (CDC-NCM) when not using the IO-Board, you can follow these steps:
```bash ```bash
ln -sf /mnt/system/usb-rndis.sh /mnt/system/usb.sh ln -sf /mnt/system/usb-ncm.sh /mnt/system/usb.sh
sync sync
``` ```

View File

@ -261,6 +261,7 @@ CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_RNDIS=y CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_ACM=y CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_F_UAC1=y CONFIG_USB_CONFIGFS_F_UAC1=y
# CONFIG_USB_AUDIO is not set # CONFIG_USB_AUDIO is not set
CONFIG_USB_ROLE_SWITCH=y CONFIG_USB_ROLE_SWITCH=y

View File

@ -210,6 +210,7 @@ CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_RNDIS=y CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_ACM=y CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_ROLE_SWITCH=y CONFIG_USB_ROLE_SWITCH=y
CONFIG_MMC=y CONFIG_MMC=y
CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI=y

View File

@ -177,6 +177,7 @@ CONFIG_USB_GADGET=y
CONFIG_USB_CONFIGFS=y CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_RNDIS=y CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_ROLE_SWITCH=y CONFIG_USB_ROLE_SWITCH=y

View File

@ -204,6 +204,7 @@ CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_RNDIS=y CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_ACM=y CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_F_UAC1=y CONFIG_USB_CONFIGFS_F_UAC1=y
# CONFIG_USB_AUDIO is not set # CONFIG_USB_AUDIO is not set
CONFIG_USB_ROLE_SWITCH=y CONFIG_USB_ROLE_SWITCH=y

View File

@ -212,6 +212,7 @@ CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_RNDIS=y CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_ACM=y CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_ROLE_SWITCH=y CONFIG_USB_ROLE_SWITCH=y
CONFIG_MMC=y CONFIG_MMC=y
CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI=y

View File

@ -207,6 +207,7 @@ CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_RNDIS=y CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_ACM=y CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_ROLE_SWITCH=y CONFIG_USB_ROLE_SWITCH=y
CONFIG_MMC=y CONFIG_MMC=y
CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI=y

View File

@ -417,6 +417,7 @@ CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_RNDIS=y CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_ACM=y CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_F_UAC1=y CONFIG_USB_CONFIGFS_F_UAC1=y
# CONFIG_USB_AUDIO is not set # CONFIG_USB_AUDIO is not set
CONFIG_USB_ROLE_SWITCH=y CONFIG_USB_ROLE_SWITCH=y

View File

@ -417,6 +417,7 @@ CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_RNDIS=y CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_ACM=y CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_F_UAC1=y CONFIG_USB_CONFIGFS_F_UAC1=y
# CONFIG_USB_AUDIO is not set # CONFIG_USB_AUDIO is not set
CONFIG_USB_ROLE_SWITCH=y CONFIG_USB_ROLE_SWITCH=y

View File

@ -5,12 +5,14 @@ MSC_PID=0x1008
RNDIS_PID=0x1009 RNDIS_PID=0x1009
UVC_PID=0x100A UVC_PID=0x100A
UAC_PID=0x100B UAC_PID=0x100B
NCM_PID=0x100C
ADB_VID=0x18D1 ADB_VID=0x18D1
ADB_PID=0x4EE0 ADB_PID=0x4EE0
ADB_PID_M1=0x4EE2 ADB_PID_M1=0x4EE2
ADB_PID_M2=0x4EE4 ADB_PID_M2=0x4EE4
MANUFACTURER="Cvitek" MANUFACTURER="Cvitek"
PRODUCT="USB Com Port" PRODUCT="USB Com Port"
PRODUCT_NCM="NCM"
PRODUCT_RNDIS="RNDIS" PRODUCT_RNDIS="RNDIS"
PRODUCT_UVC="UVC" PRODUCT_UVC="UVC"
PRODUCT_UAC="UAC" PRODUCT_UAC="UAC"
@ -39,6 +41,11 @@ case "$2" in
cvg) cvg)
CLASS=cvg CLASS=cvg
;; ;;
ncm)
CLASS=ncm
PID=$NCM_PID
PRODUCT=$PRODUCT_NCM
;;
rndis) rndis)
CLASS=rndis CLASS=rndis
PID=$RNDIS_PID PID=$RNDIS_PID
@ -62,7 +69,7 @@ case "$2" in
;; ;;
*) *)
if [ "$1" = "probe" ] ; then 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 exit 1
fi fi
esac esac
@ -86,6 +93,11 @@ res_check() {
EP_IN=$(($EP_IN+$TMP_NUM)) EP_IN=$(($EP_IN+$TMP_NUM))
EP_OUT=$(($EP_OUT+$TMP_NUM)) EP_OUT=$(($EP_OUT+$TMP_NUM))
INTF_NUM=$(($INTF_NUM+$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) TMP_NUM=$(find $CVI_GADGET/functions/ -name "rndis*" | wc -l)
EP_OUT=$(($EP_OUT+$TMP_NUM)) EP_OUT=$(($EP_OUT+$TMP_NUM))
TMP_NUM=$(($TMP_NUM * 2)) TMP_NUM=$(($TMP_NUM * 2))
@ -117,6 +129,10 @@ res_check() {
EP_IN=$(($EP_IN+1)) EP_IN=$(($EP_IN+1))
EP_OUT=$(($EP_OUT+1)) EP_OUT=$(($EP_OUT+1))
fi fi
if [ "$CLASS" = "ncm" ] ; then
EP_IN=$(($EP_IN+1))
EP_OUT=$(($EP_OUT+1))
fi
if [ "$CLASS" = "rndis" ] ; then if [ "$CLASS" = "rndis" ] ; then
EP_IN=$(($EP_IN+2)) EP_IN=$(($EP_IN+2))
EP_OUT=$(($EP_OUT+1)) EP_OUT=$(($EP_OUT+1))
@ -197,6 +213,9 @@ probe() {
if [ "$CLASS" = "mass_storage" ] ; then if [ "$CLASS" = "mass_storage" ] ; then
echo $MSC_FILE >$CVI_GADGET/functions/$CLASS.usb$FUNC_NUM/lun.0/file echo $MSC_FILE >$CVI_GADGET/functions/$CLASS.usb$FUNC_NUM/lun.0/file
fi fi
if [ "$CLASS" = "ncm" ] ; then
ln -s $CVI_FUNC/ncm.usb$FUNC_NUM $CVI_GADGET/configs/c.1
fi
if [ "$CLASS" = "rndis" ] ; then if [ "$CLASS" = "rndis" ] ; then
#OS STRING #OS STRING
echo 1 >$CVI_GADGET/os_desc/use echo 1 >$CVI_GADGET/os_desc/use
@ -284,7 +303,7 @@ case "$1" in
ls /sys/class/udc/ >$CVI_GADGET/UDC 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 start"
echo "Usage: $0 stop" echo "Usage: $0 stop"
exit 1 exit 1

View File

@ -0,0 +1,28 @@
#!/bin/sh
/etc/uhubon.sh device >> /tmp/ncm.log 2>&1
/etc/run_usb.sh probe ncm >> /tmp/ncm.log 2>&1
if test -e /usr/bin/burnd; then
/etc/run_usb.sh probe acm >> /tmp/ncm.log 2>&1
fi
/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
sleep 2
mkdir -p /lib/firmware
if test -e /usr/bin/burnd; then
burnd &
if test -e /lib/firmware/arduino.elf; then
sleep 2
echo stop > /sys/class/remoteproc/remoteproc0/state
echo start > /sys/class/remoteproc/remoteproc0/state
fi
fi

View File

@ -0,0 +1,28 @@
#!/bin/sh
/etc/uhubon.sh device >> /tmp/ncm.log 2>&1
/etc/run_usb.sh probe ncm >> /tmp/ncm.log 2>&1
if test -e /usr/bin/burnd; then
/etc/run_usb.sh probe acm >> /tmp/ncm.log 2>&1
fi
/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
sleep 2
mkdir -p /lib/firmware
if test -e /usr/bin/burnd; then
burnd &
if test -e /lib/firmware/arduino.elf; then
sleep 2
echo stop > /sys/class/remoteproc/remoteproc0/state
echo start > /sys/class/remoteproc/remoteproc0/state
fi
fi

View File

@ -0,0 +1,28 @@
#!/bin/sh
/etc/uhubon.sh device >> /tmp/ncm.log 2>&1
/etc/run_usb.sh probe ncm >> /tmp/ncm.log 2>&1
if test -e /usr/bin/burnd; then
/etc/run_usb.sh probe acm >> /tmp/ncm.log 2>&1
fi
/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
sleep 2
mkdir -p /lib/firmware
if test -e /usr/bin/burnd; then
burnd &
if test -e /lib/firmware/arduino.elf; then
sleep 2
echo stop > /sys/class/remoteproc/remoteproc0/state
echo start > /sys/class/remoteproc/remoteproc0/state
fi
fi

View File

@ -1 +1 @@
usb-rndis.sh usb-ncm.sh

View File

@ -0,0 +1,28 @@
#!/bin/sh
/etc/uhubon.sh device >> /tmp/ncm.log 2>&1
/etc/run_usb.sh probe ncm >> /tmp/ncm.log 2>&1
if test -e /usr/bin/burnd; then
/etc/run_usb.sh probe acm >> /tmp/ncm.log 2>&1
fi
/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
sleep 2
mkdir -p /lib/firmware
if test -e /usr/bin/burnd; then
burnd &
if test -e /lib/firmware/arduino.elf; then
sleep 2
echo stop > /sys/class/remoteproc/remoteproc0/state
echo start > /sys/class/remoteproc/remoteproc0/state
fi
fi

View File

@ -0,0 +1,28 @@
#!/bin/sh
/etc/uhubon.sh device >> /tmp/ncm.log 2>&1
/etc/run_usb.sh probe ncm >> /tmp/ncm.log 2>&1
if test -e /usr/bin/burnd; then
/etc/run_usb.sh probe acm >> /tmp/ncm.log 2>&1
fi
/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
sleep 2
mkdir -p /lib/firmware
if test -e /usr/bin/burnd; then
burnd &
if test -e /lib/firmware/arduino.elf; then
sleep 2
echo stop > /sys/class/remoteproc/remoteproc0/state
echo start > /sys/class/remoteproc/remoteproc0/state
fi
fi

View File

@ -0,0 +1,28 @@
#!/bin/sh
/etc/uhubon.sh device >> /tmp/ncm.log 2>&1
/etc/run_usb.sh probe ncm >> /tmp/ncm.log 2>&1
if test -e /usr/bin/burnd; then
/etc/run_usb.sh probe acm >> /tmp/ncm.log 2>&1
fi
/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
sleep 2
mkdir -p /lib/firmware
if test -e /usr/bin/burnd; then
burnd &
if test -e /lib/firmware/arduino.elf; then
sleep 2
echo stop > /sys/class/remoteproc/remoteproc0/state
echo start > /sys/class/remoteproc/remoteproc0/state
fi
fi

View File

@ -1 +1 @@
usb-rndis.sh usb-ncm.sh

View File

@ -0,0 +1,28 @@
#!/bin/sh
/etc/uhubon.sh device >> /tmp/ncm.log 2>&1
/etc/run_usb.sh probe ncm >> /tmp/ncm.log 2>&1
if test -e /usr/bin/burnd; then
/etc/run_usb.sh probe acm >> /tmp/ncm.log 2>&1
fi
/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
sleep 2
mkdir -p /lib/firmware
if test -e /usr/bin/burnd; then
burnd &
if test -e /lib/firmware/arduino.elf; then
sleep 2
echo stop > /sys/class/remoteproc/remoteproc0/state
echo start > /sys/class/remoteproc/remoteproc0/state
fi
fi

View File

@ -1 +1 @@
usb-rndis.sh usb-ncm.sh