From e7428cbc37f9dc0f3f8e73be489fe3b96ee863ca Mon Sep 17 00:00:00 2001 From: FranHsu Date: Fri, 22 Feb 2019 20:13:49 +0800 Subject: meta-gsj: Add USB-NIC systemd configuration for GSJ board. (From meta-quanta rev: 41ff54605a8df6e456e2035b410114545bc94284) Tested: Build Quanta GSJ board image and load on the EVB. Ensure that BMC boots to console, and the USB network interface is working. Fix typo. Change-Id: If93ae6fe2b0181d96630c802adc7e5e216b1de42 Signed-off-by: FranHsu Signed-off-by: Andrew Geissler --- .../usb-network/files/00-bmc-usb0.network | 7 ++++++ .../usb-network/files/usb_network.service | 9 +++++++ .../usb-network/files/usb_network.sh | 27 ++++++++++++++++++++ .../recipes-phosphor/usb-network/usb-network.bb | 29 ++++++++++++++++++++++ 4 files changed, 72 insertions(+) create mode 100644 meta-quanta/meta-gsj/recipes-phosphor/usb-network/files/00-bmc-usb0.network create mode 100644 meta-quanta/meta-gsj/recipes-phosphor/usb-network/files/usb_network.service create mode 100644 meta-quanta/meta-gsj/recipes-phosphor/usb-network/files/usb_network.sh create mode 100644 meta-quanta/meta-gsj/recipes-phosphor/usb-network/usb-network.bb diff --git a/meta-quanta/meta-gsj/recipes-phosphor/usb-network/files/00-bmc-usb0.network b/meta-quanta/meta-gsj/recipes-phosphor/usb-network/files/00-bmc-usb0.network new file mode 100644 index 000000000..94839637b --- /dev/null +++ b/meta-quanta/meta-gsj/recipes-phosphor/usb-network/files/00-bmc-usb0.network @@ -0,0 +1,7 @@ +[Match] +Name=usb0 +[Address] +Address=169.254.95.118/16 +[Network] +LinkLocalAddressing=yes +IPv6AcceptRA=no diff --git a/meta-quanta/meta-gsj/recipes-phosphor/usb-network/files/usb_network.service b/meta-quanta/meta-gsj/recipes-phosphor/usb-network/files/usb_network.service new file mode 100644 index 000000000..913f5fbee --- /dev/null +++ b/meta-quanta/meta-gsj/recipes-phosphor/usb-network/files/usb_network.service @@ -0,0 +1,9 @@ +[Unit] +Description=enable usb network + +[Service] +Type=oneshot +ExecStart=/bin/bash -c '/usr/sbin/usb_network.sh' + +[Install] +WantedBy=multi-user.target diff --git a/meta-quanta/meta-gsj/recipes-phosphor/usb-network/files/usb_network.sh b/meta-quanta/meta-gsj/recipes-phosphor/usb-network/files/usb_network.sh new file mode 100644 index 000000000..45fa888be --- /dev/null +++ b/meta-quanta/meta-gsj/recipes-phosphor/usb-network/files/usb_network.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +cd /sys/kernel/config/usb_gadget + +if [ ! -f "g1" ]; then + mkdir g1 + cd g1 + + echo 0x1d6b > idVendor # Linux foundation + echo 0x0104 > idProduct # Multifunction composite gadget + mkdir -p strings/0x409 + echo "Linux" > strings/0x409/manufacturer + echo "Ethernet/RNDIS gadget" > strings/0x409/product + + mkdir -p configs/c.1 + echo 100 > configs/c.1/MaxPower + mkdir -p configs/c.1/strings/0x409 + echo "RNDIS" > configs/c.1/strings/0x409/configuration + + mkdir -p functions/rndis.usb0 + + ln -s functions/rndis.usb0 configs/c.1 + + echo f0839000.udc > UDC + +fi +exit 0 diff --git a/meta-quanta/meta-gsj/recipes-phosphor/usb-network/usb-network.bb b/meta-quanta/meta-gsj/recipes-phosphor/usb-network/usb-network.bb new file mode 100644 index 000000000..591ca5afd --- /dev/null +++ b/meta-quanta/meta-gsj/recipes-phosphor/usb-network/usb-network.bb @@ -0,0 +1,29 @@ +FILESEXTRAPATHS_append := "${THISDIR}/files:" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658" + +DEPENDS += "systemd" +RDEPENDS_${PN} += "libsystemd" +RDEPENDS_${PN} += "bash" + +SRC_URI += "file://usb_network.sh \ + file://usb_network.service \ + file://00-bmc-usb0.network" + +do_install() { + install -d ${D}/${sbindir} + install -m 0755 ${WORKDIR}/usb_network.sh ${D}/${sbindir} + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/usb_network.service ${D}${systemd_unitdir}/system + + install -d ${D}${sysconfdir_native}/systemd/network/ + install -m 0644 ${WORKDIR}/00-bmc-usb0.network ${D}${sysconfdir_native}/systemd/network +} + +NATIVE_SYSTEMD_SUPPORT = "1" +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "usb_network.service" +FILES_${PN} += "${sysconfdir_native}/systemd/network/00-bmc-usb0.network" + +inherit allarch systemd \ No newline at end of file -- cgit v1.2.3