meta-ampere: Support virtual Ethernet over USB device
Implement systemd service to create an Ethernet over USB interface
for communication between CPU and BMC.
Tested:
1. Check usb0 ethernet interface in BMC console
root@mtjade:~# ifconfig usb0
usb0 Link encap:Ethernet HWaddr DA:F7:E9:A3:5A:0C
inet addr:192.168.0.10 Bcast:192.168.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:412 (412.0 B)
2. Check USB Ethernet device on Host Linux
$ lsusb | grep Ethernet
Bus 001 Device 004: ID 1d6b:0103 Linux Foundation NCM (Ethernet) Gadget
Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Icb7c096df426233e8f2ee7318f2a1805f07ab3a7
diff --git a/meta-common/recipes-ac01/usbnet/ampere-usbnet.bb b/meta-common/recipes-ac01/usbnet/ampere-usbnet.bb
new file mode 100644
index 0000000..f683f80
--- /dev/null
+++ b/meta-common/recipes-ac01/usbnet/ampere-usbnet.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Ampere Computing LLC Add Ethernet over USB gadget device"
+DESCRIPTION = "Add Ethernet over USB gadget device for Ampere systems"
+PR = "r1"
+
+LICENSE = "Apache-2.0"
+S = "${WORKDIR}"
+
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit systemd
+inherit obmc-phosphor-systemd
+
+DEPENDS = "systemd"
+RDEPENDS_${PN} = "bash"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = " \
+ ampere_add_usbnet_gadget.service \
+ "
+
+SRC_URI += "file://00-bmc-usb0.network"
+SRC_URI += "file://ampere_add_usbnet_gadget.sh"
+
+do_install_append() {
+ install -d ${D}${sbindir}
+ install -d ${D}/etc/systemd/network
+ install -m 744 ${WORKDIR}/ampere_add_usbnet_gadget.sh ${D}${sbindir}/
+ install -m 644 ${WORKDIR}/00-bmc-usb0.network \
+ ${D}/etc/systemd/network/
+}