Add network via usb (#119)

This commit is contained in:
tiopex
2024-09-04 11:51:51 +02:00
committed by GitHub
parent cb4a379249
commit f0c2f995f9
6 changed files with 136 additions and 2 deletions

View File

@@ -7,6 +7,7 @@ st_exec_func(){
}
echo peripheral > /sys/devices/platform/soc/1c13000.usb/musb-hdrc.1.auto/mode
killall umtprd
/mnt/apps/usb-mtd/remove.sh g2
modprobe -r g_serial
mount none /sys/kernel/config -t configfs
gadget-hid

View File

@@ -0,0 +1,36 @@
#!/bin/sh
SYSDIR=/sys/kernel/config/usb_gadget/
DEVDIR=$SYSDIR/$1
[ -d $DEVDIR ] || exit
echo '' > $DEVDIR/UDC
echo "Removing strings from configurations"
for dir in $DEVDIR/configs/*/strings/*; do
[ -d $dir ] && rmdir $dir
done
echo "Removing functions from configurations"
for func in $DEVDIR/configs/*.*/*.*; do
[ -e $func ] && rm $func
done
echo "Removing configurations"
for conf in $DEVDIR/configs/*; do
[ -d $conf ] && rmdir $conf
done
echo "Removing functions"
for func in $DEVDIR/functions/*.*; do
[ -d $func ] && rmdir $func
done
echo "Removing strings"
for str in $DEVDIR/strings/*; do
[ -d $str ] && rmdir $str
done
echo "Removing gadget"
rmdir $DEVDIR

View File

@@ -3,4 +3,27 @@
echo peripheral > /sys/devices/platform/soc/1c13000.usb/musb-hdrc.1.auto/mode
modprobe -r g_serial
killall umtprd
/mnt/apps/usb-mtd/remove.sh g2
mount none /sys/kernel/config -t configfs
mkdir /sys/kernel/config/usb_gadget/g2
cd /sys/kernel/config/usb_gadget/g2
mkdir configs/c.1
mkdir functions/ffs.mtp
mkdir strings/0x409
mkdir configs/c.1/strings/0x409
echo 0x0100 > idProduct
echo 0x1D6B > idVendor
echo "Miyoo Handheld" > strings/0x409/manufacturer
echo "Miyoo CFW 2.0" > strings/0x409/product
echo "Conf 1" > configs/c.1/strings/0x409/configuration
echo 120 > configs/c.1/MaxPower
ln -s functions/ffs.mtp configs/c.1
mkdir /dev/ffs-mtp
mount -t functionfs mtp /dev/ffs-mtp
umtprd &
sleep 1
ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/g2/UDC

View File

@@ -0,0 +1,51 @@
#!/bin/busybox sh
MAC_HOST="12:34:56:78:9a:bd"
MAC_DEV="12:34:56:78:9a:bc"
echo peripheral > /sys/devices/platform/soc/1c13000.usb/musb-hdrc.1.auto/mode
modprobe -r g_serial
killall umtprd
/mnt/apps/usb-mtd/remove.sh g2
sleep 1
mount none /sys/kernel/config -t configfs
mkdir /sys/kernel/config/usb_gadget/g2
cd /sys/kernel/config/usb_gadget/g2
mkdir configs/c.1
mkdir strings/0x409
mkdir functions/rndis.usb0
mkdir configs/c.1/strings/0x409
echo 0x0104 > idProduct
echo 0x1D6B > idVendor
echo "0x0200" > bcdUSB
echo "0x02" > bDeviceClass
echo "0x00" > bDeviceSubClass
echo "0x3066" > bcdDevice
echo "1" > os_desc/use
echo "0xcd" > os_desc/b_vendor_code
echo "MSFT100" > os_desc/qw_sign
echo "RNDIS" > functions/rndis.usb0/os_desc/interface.rndis/compatible_id
echo "5162001" > functions/rndis.usb0/os_desc/interface.rndis/sub_compatible_id
echo $MAC_HOST > functions/rndis.usb0/host_addr
echo $MAC_DEV > functions/rndis.usb0/dev_addr
echo "Miyoo Handheld" > strings/0x409/manufacturer
echo "Miyoo CFW 2.0" > strings/0x409/product
echo "Conf 1" > configs/c.1/strings/0x409/configuration
echo 120 > configs/c.1/MaxPower
ln -s functions/rndis.usb0 configs/c.1
ln -s configs/c.1 os_desc
sleep 1
ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/g2/UDC
sleep 5
echo "" > UDC
echo "0x00" > bDeviceClass
ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/g2/UDC
ifconfig usb0 up 169.254.147.2

View File

@@ -0,0 +1,3 @@
title=usb-network
description=IP:169.254.147.2
exec=/mnt/apps/usb-network/usb-network.sh

View File

@@ -26,9 +26,29 @@ fi
# load kernel modules
# load usb gadget
modprobe g_ffs idVendor=0x1fc9 idProduct=0x0146 iSerialNumber="01234567" iProduct="Miyoo CFW 2.0" iManufacturer="Miyoo Handheld" functions=mtp >> "${LOGS}" 2>&1
mkdir /dev/ffs-mtp && mount -t functionfs mtp /dev/ffs-mtp >> "${LOGS}" 2>&1
mount none /sys/kernel/config -t configfs
mkdir /sys/kernel/config/usb_gadget/g2
cd /sys/kernel/config/usb_gadget/g2
mkdir configs/c.1
mkdir functions/ffs.mtp
mkdir strings/0x409
mkdir configs/c.1/strings/0x409
echo 0x0100 > idProduct
echo 0x1D6B > idVendor
echo "Miyoo Handheld" > strings/0x409/manufacturer
echo "Miyoo CFW 2.0" > strings/0x409/product
echo "Conf 1" > configs/c.1/strings/0x409/configuration
echo 120 > configs/c.1/MaxPower
ln -s functions/ffs.mtp configs/c.1
mkdir /dev/ffs-mtp
mount -t functionfs mtp /dev/ffs-mtp
umtprd >> "${LOGS}" 2>&1 &
sleep 1
ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/g2/UDC
# Load the expected one screen driver from here with modprobe
## automatically from rootfs/lib/modules/VERSION