mirror of
https://github.com/brain-hackers/buildbrain
synced 2026-03-29 01:01:09 +09:00
Use NCM instead of RNDIS for USB ethernet gadget
This commit is contained in:
@@ -6,5 +6,5 @@ SRC=$1
|
|||||||
DST=$2
|
DST=$2
|
||||||
|
|
||||||
install -g root -o root -m 0644 $SRC/lib/systemd/system/boot.mount $DST/lib/systemd/system/boot.mount
|
install -g root -o root -m 0644 $SRC/lib/systemd/system/boot.mount $DST/lib/systemd/system/boot.mount
|
||||||
install -g root -o root -m 0644 $SRC/lib/systemd/system/rndis_gadget.service $DST/lib/systemd/system/rndis_gadget.service
|
install -g root -o root -m 0644 $SRC/lib/systemd/system/ethernet_gadget.service $DST/lib/systemd/system/ethernet_gadget.service
|
||||||
install -g root -o root -m 0755 $SRC/usr/bin/enable_rndis_gadget $DST/usr/bin/enable_rndis_gadget
|
install -g root -o root -m 0755 $SRC/usr/bin/enable_ethernet_gadget $DST/usr/bin/enable_ethernet_gadget
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Enable Ethernet USB Gadget
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/usr/bin/enable_ethernet_gadget
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Enable RNDIS USB Gadget
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
ExecStart=/usr/bin/enable_rndis_gadget
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
29
os-brainux/override/usr/bin/enable_ethernet_gadget
Executable file
29
os-brainux/override/usr/bin/enable_ethernet_gadget
Executable file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
g=/sys/kernel/config/usb_gadget/eth
|
||||||
|
|
||||||
|
mkdir ${g}
|
||||||
|
|
||||||
|
echo "0x0200" > ${g}/bcdUSB
|
||||||
|
echo "0x0200" > ${g}/bcdDevice
|
||||||
|
|
||||||
|
mkdir -p ${g}/strings/0x409
|
||||||
|
echo "0123456789" > ${g}/strings/0x409/serialnumber
|
||||||
|
echo "SHARP" > ${g}/strings/0x409/manufacturer
|
||||||
|
echo "Brain" > ${g}/strings/0x409/product
|
||||||
|
|
||||||
|
mkdir -p ${g}/configs/c.1/strings/0x409
|
||||||
|
echo "NCM Config" > ${g}/configs/c.1/strings/0x409/configuration
|
||||||
|
echo 250 > ${g}/configs/c.1/MaxPower
|
||||||
|
|
||||||
|
mkdir ${g}/functions/ncm.usb0
|
||||||
|
echo "8a:15:8b:44:3a:02" > ${g}/functions/ncm.usb0/dev_addr
|
||||||
|
echo "8a:15:8b:44:3a:01" > ${g}/functions/ncm.usb0/host_addr
|
||||||
|
|
||||||
|
ln -s ${g}/functions/ncm.usb0 ${g}/configs/c.1/
|
||||||
|
|
||||||
|
echo "ci_hdrc.0" > ${g}/UDC
|
||||||
|
|
||||||
|
sleep 1
|
||||||
|
ifconfig usb0 up
|
||||||
|
dhclient
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
g=/sys/kernel/config/usb_gadget/eth
|
|
||||||
|
|
||||||
mkdir ${g}
|
|
||||||
|
|
||||||
echo "0x3066" > ${g}/bcdDevice
|
|
||||||
echo "1" > ${g}/os_desc/use
|
|
||||||
echo "0xcd" > ${g}/os_desc/b_vendor_code
|
|
||||||
echo "MSFT100" > ${g}/os_desc/qw_sign
|
|
||||||
|
|
||||||
mkdir ${g}/functions/rndis.rn0
|
|
||||||
echo "RNDIS" > ${g}/functions/rndis.rn0/os_desc/interface.rndis/compatible_id
|
|
||||||
echo "5162001" > ${g}/functions/rndis.rn0/os_desc/interface.rndis/sub_compatible_id
|
|
||||||
echo "8a:15:8b:44:3a:02" > ${g}/functions/rndis.rn0/dev_addr
|
|
||||||
echo "8a:15:8b:44:3a:01" > ${g}/functions/rndis.rn0/host_addr
|
|
||||||
|
|
||||||
mkdir ${g}/configs/c.1
|
|
||||||
ln -s ${g}/functions/rndis.rn0 ${g}/configs/c.1/
|
|
||||||
|
|
||||||
echo "ci_hdrc.0" > ${g}/UDC
|
|
||||||
|
|
||||||
sleep 1
|
|
||||||
ifconfig usb0 up
|
|
||||||
dhclient
|
|
||||||
@@ -139,7 +139,7 @@ EOF
|
|||||||
systemctl enable boot.mount
|
systemctl enable boot.mount
|
||||||
|
|
||||||
# Enable RNDIS gadget
|
# Enable RNDIS gadget
|
||||||
systemctl enable rndis_gadget
|
systemctl enable ethernet_gadget
|
||||||
|
|
||||||
# Get wild
|
# Get wild
|
||||||
cat <<EOF > /etc/apt/sources.list
|
cat <<EOF > /etc/apt/sources.list
|
||||||
|
|||||||
Reference in New Issue
Block a user