Skip to content

Commit

Permalink
support gadget ncm and rndis at the same time
Browse files Browse the repository at this point in the history
  • Loading branch information
Neutree committed Aug 12, 2024
1 parent ab3c5d9 commit 0de38f3
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 118 deletions.
2 changes: 1 addition & 1 deletion build/tools/common/sd_tools/genimage_rootless.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ image boot.vfat {
"fip.bin",
"rawimages/boot.sd",
"usb.dev",
"usb.ncm0",
"usb.ncm",
"wifi.sta",
"gt9xx",
"logo.jpeg",
Expand Down
2 changes: 1 addition & 1 deletion build/tools/common/sd_tools/sd_gen_burn_image_rootless.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ cp -fv ${output_dir}/fip.bin ${output_dir}/input/
cp -fv ${output_dir}/rawimages/boot.sd ${output_dir}/input/rawimages/
cp -fv ${output_dir}/rawimages/rootfs.sd ${output_dir}/input/
touch ${output_dir}/input/usb.dev
touch ${output_dir}/input/usb.ncm0
touch ${output_dir}/input/usb.ncm
touch ${output_dir}/input/wifi.sta
touch ${output_dir}/input/gt9xx
touch ${output_dir}/input/fb
Expand Down
50 changes: 32 additions & 18 deletions buildroot/board/cvitek/SG200X/overlay/etc/init.d/S03usbdev
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ then
then
cat /boot/usb.serialnumber > strings/0x409/serialnumber
else
echo '20240808' > strings/0x409/serialnumber
cat /device_key > strings/0x409/serialnumber
fi
if [ -e /boot/usb.manufacturer ]
then
Expand All @@ -82,23 +82,6 @@ then
rm -rf configs/c.1/acm.GS0
ln -s functions/acm.GS0 configs/c.1/
fi
if [ -e /boot/usb.ncm0 ]
then
mkdir -p functions/ncm.usb0
rm -rf configs/c.1/ncm.usb0
ln -s functions/ncm.usb0 configs/c.1/
echo 02 > functions/rndis.usb0/class
echo 0d > functions/rndis.usb0/subclass
echo 00 > functions/rndis.usb0/protocol
elif [ -e /boot/usb.rndis0 ]
then
mkdir -p functions/rndis.usb0
rm -rf configs/c.1/rndis.usb0
ln -s functions/rndis.usb0 configs/c.1/
echo e0 > functions/rndis.usb0/class
echo 01 > functions/rndis.usb0/subclass
echo 03 > functions/rndis.usb0/protocol
fi

if [ -e /boot/usb.disk0 ]
then
Expand All @@ -124,13 +107,44 @@ then
cat /boot/usb.disk0 > functions/mass_storage.disk0/lun.0/file
fi
fi

# rndis
if [ -e /boot/usb.rndis ]
then
mkdir -p functions/rndis.usb0
ln -s functions/rndis.usb0 configs/c.1/
echo e0 > functions/rndis.usb0/class
echo 01 > functions/rndis.usb0/subclass
echo 03 > functions/rndis.usb0/protocol
fi

# ncm
if [ -e /boot/usb.ncm ]
then
mkdir -p functions/ncm.usb0
ln -s functions/ncm.usb0 configs/c.1/
fi

ls /sys/class/udc/ | cat > UDC
echo device > /proc/cviusb/otg_role
fi
fi

if [ "$1" = "stop" ]
then
# rndis
if [ -e /sys/kernel/config/usb_gadget/g0/configs/c.1/rndis.usb0 ]
then
unlink /sys/kernel/config/usb_gadget/g0/configs/c.1/rndis.usb0
rmdir /sys/kernel/config/usb_gadget/g0/functions/rndis.usb0
fi

# ncm
if [ -e /sys/kernel/config/usb_gadget/g0/configs/c.1/ncm.usb0 ]
then
unlink /sys/kernel/config/usb_gadget/g0/configs/c.1/ncm.usb0
rmdir /sys/kernel/config/usb_gadget/g0/functions/ncm.usb0
fi
echo '' > /sys/kernel/config/usb_gadget/g0/UDC
echo host > /proc/cviusb/otg_role
fi
Expand Down
28 changes: 0 additions & 28 deletions buildroot/board/cvitek/SG200X/overlay/etc/init.d/S10uuid
Original file line number Diff line number Diff line change
Expand Up @@ -45,32 +45,4 @@ then
ip link set eth0 address ${new_ethmac}
ifconfig eth0 up
echo "ethernet mac address: ${new_ethmac}"

if [ -e /boot/usb.ncm0 ]
then
if [ -e /boot/usb.ncm0.mac ]
then
new_mac=$(cat /boot/usb.ncm0.mac)
else
new_mac=$(hex2mac 48da356e$(sha512sum /sys/class/cvi-base/base_uid | head -c 4))
fi
ifconfig usb0 down
ip link set usb0 address ${new_mac}
ifconfig usb0 up
echo "ncm mac address: ${new_mac}"
fi

if [ -e /boot/usb.rndis0 ]
then
if [ -e /boot/usb.rndis0.mac ]
then
new_rndismac=$(cat /boot/usb.rndis0.mac)
else
new_rndismac=$(hex2mac 48da356e$(sha512sum /sys/class/cvi-base/base_uid | head -c 4))
fi
ifconfig usb0 down
ip link set usb0 address ${new_rndismac}
ifconfig usb0 up
echo "rndis mac address: ${new_rndismac}"
fi
fi
70 changes: 0 additions & 70 deletions buildroot/board/cvitek/SG200X/overlay/etc/init.d/S30rndis

This file was deleted.

0 comments on commit 0de38f3

Please sign in to comment.