From 0264a6f71c9b6be59d6d3ac691ac31656a7004f6 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 30 Apr 2015 10:10:28 +0200 Subject: usb-rndis-systemd: remove RNDIS interface/udhcp setup Since we use networkd now for RNDIS network interface setup now, we can remove the custom part which starts up the RNDIS device and sets up a DHCP server. --- recipes-core/usb-rndis/files/start-rndis.sh | 4 +- .../usb-rndis/files/tegra/udhcpd-usb-rndis.conf | 117 --------------------- .../usb-rndis/files/tegra/usb-rndis-udhcpd.service | 9 -- recipes-core/usb-rndis/files/tegra/usb-rndis.rules | 2 - recipes-core/usb-rndis/files/udhcpd-usb-rndis.conf | 117 --------------------- recipes-core/usb-rndis/usb-rndis-systemd.bb | 48 ++++----- 6 files changed, 21 insertions(+), 276 deletions(-) delete mode 100644 recipes-core/usb-rndis/files/tegra/udhcpd-usb-rndis.conf delete mode 100644 recipes-core/usb-rndis/files/tegra/usb-rndis-udhcpd.service delete mode 100644 recipes-core/usb-rndis/files/tegra/usb-rndis.rules delete mode 100644 recipes-core/usb-rndis/files/udhcpd-usb-rndis.conf (limited to 'recipes-core') diff --git a/recipes-core/usb-rndis/files/start-rndis.sh b/recipes-core/usb-rndis/files/start-rndis.sh index ae6448b..e226bbe 100644 --- a/recipes-core/usb-rndis/files/start-rndis.sh +++ b/recipes-core/usb-rndis/files/start-rndis.sh @@ -2,9 +2,7 @@ # configures the usb gadget to provide rnidis, case "$1" in start) - /sbin/modprobe g_ether dev_addr=00:14:2d:ff:ff:ff host_addr=00:14:2d:ff:ff:fe ; \ - sleep 1 && /sbin/ip address add 192.168.11.2/24 dev usb0; /sbin/ip link set usb0 up \ - && /usr/sbin/udhcpd -S /etc/udhcpd-usb-rndis.conf + /sbin/modprobe g_ether dev_addr=00:14:2d:ff:ff:ff host_addr=00:14:2d:ff:ff:fe ;; stop) diff --git a/recipes-core/usb-rndis/files/tegra/udhcpd-usb-rndis.conf b/recipes-core/usb-rndis/files/tegra/udhcpd-usb-rndis.conf deleted file mode 100644 index bf69097..0000000 --- a/recipes-core/usb-rndis/files/tegra/udhcpd-usb-rndis.conf +++ /dev/null @@ -1,117 +0,0 @@ -# Sample udhcpd configuration file (/etc/udhcpd.conf) -# Values shown are defaults - -# The start and end of the IP lease block -start 192.168.11.1 -end 192.168.11.1 - -# The interface that udhcpd will use -interface rndis0 - -# The maximum number of leases (includes addresses reserved -# by OFFER's, DECLINE's, and ARP conflicts). Will be corrected -# if it's bigger than IP lease block, but it ok to make it -# smaller than lease block. -max_leases 1 - -# The amount of time that an IP will be reserved (leased to nobody) -# if a DHCP decline message is received (seconds) -#decline_time 3600 - -# The amount of time that an IP will be reserved -# if an ARP conflict occurs (seconds) -#conflict_time 3600 - -# How long an offered address is reserved (seconds) -#offer_time 60 - -# If client asks for lease below this value, it will be rounded up -# to this value (seconds) -#min_lease 60 - -# The location of the pid file -#pidfile /var/run/udhcpd.pid - -# The location of the leases file -# As we want to service a point to point connection over USB: -# do not use a persistent file -lease_file /var/run/udhcpd-rndis.leases - -# The time period at which udhcpd will write out leases file. -# If this is 0, udhcpd will never automatically write leases file. -# Specified in seconds. -#auto_time 7200 - -# Every time udhcpd writes a leases file, the below script will be called -#notify_file # default: no script -#notify_file dumpleases # useful for debugging - -# The following are bootp specific options -# next server to use in bootstrap -#siaddr 192.168.0.22 # default: 0.0.0.0 (none) -# tftp server name -#sname zorak # default: none -# tftp file to download (e.g. kernel image) -#boot_file /var/nfs_root # default: none - -# Static leases map -#static_lease 00:60:08:11:CE:4E 192.168.0.54 -#static_lease 00:60:08:11:CE:3E 192.168.0.44 - -# The remainder of options are DHCP options and can be specified with the -# keyword 'opt' or 'option'. If an option can take multiple items, such -# as the dns option, they can be listed on the same line, or multiple -# lines. -# Examples: -#opt dns 192.168.10.2 192.168.10.10 -option subnet 255.255.255.0 -#opt router 192.168.10.2 -#opt wins 192.168.10.10 -#option dns 129.219.13.81 # appended to above DNS servers for a total of 3 -option domain usb_local -option lease 864000 # default: 10 days -#option msstaticroutes 10.0.0.0/8 10.127.0.1 # single static route -#option staticroutes 10.0.0.0/8 10.127.0.1, 10.11.12.0/24 10.11.12.1 -# Arbitrary option in hex form: -#option 0x08 01020304 # option 8: "cookie server IP addr: 1.2.3.4" - -# Currently supported options (for more info, see options.c): -#opt lease NUM -#opt subnet IP -#opt broadcast IP -#opt router IP_LIST -#opt ipttl NUM -#opt mtu NUM -#opt hostname STRING # client's hostname -#opt domain STRING # client's domain suffix -#opt search STRING_LIST # search domains -#opt nisdomain STRING -#opt timezone NUM # (localtime - UTC_time) in seconds. signed -#opt tftp STRING # tftp server name -#opt bootfile STRING # tftp file to download (e.g. kernel image) -#opt bootsize NUM # size of that file -#opt rootpath STRING # (NFS) path to mount as root fs -#opt wpad STRING -#opt serverid IP # default: server's IP -#opt message STRING # error message (udhcpd sends it on success too) -#opt vlanid NUM # 802.1P VLAN ID -#opt vlanpriority NUM # 802.1Q VLAN priority -# Options specifying server(s) -#opt dns IP_LIST -#opt wins IP_LIST -#opt nissrv IP_LIST -#opt ntpsrv IP_LIST -#opt lprsrv IP_LIST -#opt swapsrv IP -# Options specifying routes -#opt routes IP_PAIR_LIST -#opt staticroutes STATIC_ROUTES # RFC 3442 classless static route option -#opt msstaticroutes STATIC_ROUTES # same, using MS option number -# Obsolete options, no longer supported -#opt logsrv IP_LIST # 704/UDP log server (not syslog!) -#opt namesrv IP_LIST # IEN 116 name server, obsolete (August 1979!!!) -#opt cookiesrv IP_LIST # RFC 865 "quote of the day" server, rarely (never?) used -#opt timesrv IP_LIST # RFC 868 time server, rarely (never?) used -# TODO: in development -#opt userclass STRING # RFC 3004. set of LASCII strings. "I am a printer" etc -#opt sipserv STRING LIST # RFC 3361. flag byte, then: 0: domain names, 1: IP addrs \ No newline at end of file diff --git a/recipes-core/usb-rndis/files/tegra/usb-rndis-udhcpd.service b/recipes-core/usb-rndis/files/tegra/usb-rndis-udhcpd.service deleted file mode 100644 index 3762198..0000000 --- a/recipes-core/usb-rndis/files/tegra/usb-rndis-udhcpd.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=dhcp deamon for rndis NIC, meant to be started from udev rule - -[Service] -ExecStart=/usr/sbin/udhcpd -fS /etc/udhcpd-usb-rndis.conf - -[Install] -WantedBy=multi-user.target - diff --git a/recipes-core/usb-rndis/files/tegra/usb-rndis.rules b/recipes-core/usb-rndis/files/tegra/usb-rndis.rules deleted file mode 100644 index 1f3475e..0000000 --- a/recipes-core/usb-rndis/files/tegra/usb-rndis.rules +++ /dev/null @@ -1,2 +0,0 @@ -#when a host connects over rndis, give the rnids0 NIC a IP address and up it -SUBSYSTEM=="android_usb", ATTR{state}=="CONFIGURED", RUN+="/bin/sh -c '/sbin/ip address add 192.168.11.2/24 dev rndis0; /sbin/ip link set rndis0 up' ",TAG+="systemd",ENV{SYSTEMD_WANTS}="usb-rndis-udhcpd.service" diff --git a/recipes-core/usb-rndis/files/udhcpd-usb-rndis.conf b/recipes-core/usb-rndis/files/udhcpd-usb-rndis.conf deleted file mode 100644 index ea0c0ea..0000000 --- a/recipes-core/usb-rndis/files/udhcpd-usb-rndis.conf +++ /dev/null @@ -1,117 +0,0 @@ -# Sample udhcpd configuration file (/etc/udhcpd.conf) -# Values shown are defaults - -# The start and end of the IP lease block -start 192.168.11.1 -end 192.168.11.1 - -# The interface that udhcpd will use -interface usb0 - -# The maximum number of leases (includes addresses reserved -# by OFFER's, DECLINE's, and ARP conflicts). Will be corrected -# if it's bigger than IP lease block, but it ok to make it -# smaller than lease block. -max_leases 1 - -# The amount of time that an IP will be reserved (leased to nobody) -# if a DHCP decline message is received (seconds) -#decline_time 3600 - -# The amount of time that an IP will be reserved -# if an ARP conflict occurs (seconds) -#conflict_time 3600 - -# How long an offered address is reserved (seconds) -#offer_time 60 - -# If client asks for lease below this value, it will be rounded up -# to this value (seconds) -#min_lease 60 - -# The location of the pid file -#pidfile /var/run/udhcpd.pid - -# The location of the leases file -# As we want to service a point to point connection over USB: -# do not use a persistent file -lease_file /var/run/udhcpd-rndis.leases - -# The time period at which udhcpd will write out leases file. -# If this is 0, udhcpd will never automatically write leases file. -# Specified in seconds. -#auto_time 7200 - -# Every time udhcpd writes a leases file, the below script will be called -#notify_file # default: no script -#notify_file dumpleases # useful for debugging - -# The following are bootp specific options -# next server to use in bootstrap -#siaddr 192.168.0.22 # default: 0.0.0.0 (none) -# tftp server name -#sname zorak # default: none -# tftp file to download (e.g. kernel image) -#boot_file /var/nfs_root # default: none - -# Static leases map -#static_lease 00:60:08:11:CE:4E 192.168.0.54 -#static_lease 00:60:08:11:CE:3E 192.168.0.44 - -# The remainder of options are DHCP options and can be specified with the -# keyword 'opt' or 'option'. If an option can take multiple items, such -# as the dns option, they can be listed on the same line, or multiple -# lines. -# Examples: -#opt dns 192.168.10.2 192.168.10.10 -option subnet 255.255.255.0 -#opt router 192.168.10.2 -#opt wins 192.168.10.10 -#option dns 129.219.13.81 # appended to above DNS servers for a total of 3 -option domain usb_local -option lease 864000 # default: 10 days -#option msstaticroutes 10.0.0.0/8 10.127.0.1 # single static route -#option staticroutes 10.0.0.0/8 10.127.0.1, 10.11.12.0/24 10.11.12.1 -# Arbitrary option in hex form: -#option 0x08 01020304 # option 8: "cookie server IP addr: 1.2.3.4" - -# Currently supported options (for more info, see options.c): -#opt lease NUM -#opt subnet IP -#opt broadcast IP -#opt router IP_LIST -#opt ipttl NUM -#opt mtu NUM -#opt hostname STRING # client's hostname -#opt domain STRING # client's domain suffix -#opt search STRING_LIST # search domains -#opt nisdomain STRING -#opt timezone NUM # (localtime - UTC_time) in seconds. signed -#opt tftp STRING # tftp server name -#opt bootfile STRING # tftp file to download (e.g. kernel image) -#opt bootsize NUM # size of that file -#opt rootpath STRING # (NFS) path to mount as root fs -#opt wpad STRING -#opt serverid IP # default: server's IP -#opt message STRING # error message (udhcpd sends it on success too) -#opt vlanid NUM # 802.1P VLAN ID -#opt vlanpriority NUM # 802.1Q VLAN priority -# Options specifying server(s) -#opt dns IP_LIST -#opt wins IP_LIST -#opt nissrv IP_LIST -#opt ntpsrv IP_LIST -#opt lprsrv IP_LIST -#opt swapsrv IP -# Options specifying routes -#opt routes IP_PAIR_LIST -#opt staticroutes STATIC_ROUTES # RFC 3442 classless static route option -#opt msstaticroutes STATIC_ROUTES # same, using MS option number -# Obsolete options, no longer supported -#opt logsrv IP_LIST # 704/UDP log server (not syslog!) -#opt namesrv IP_LIST # IEN 116 name server, obsolete (August 1979!!!) -#opt cookiesrv IP_LIST # RFC 865 "quote of the day" server, rarely (never?) used -#opt timesrv IP_LIST # RFC 868 time server, rarely (never?) used -# TODO: in development -#opt userclass STRING # RFC 3004. set of LASCII strings. "I am a printer" etc -#opt sipserv STRING LIST # RFC 3361. flag byte, then: 0: domain names, 1: IP addrs \ No newline at end of file diff --git a/recipes-core/usb-rndis/usb-rndis-systemd.bb b/recipes-core/usb-rndis/usb-rndis-systemd.bb index d229123..1ea8090 100644 --- a/recipes-core/usb-rndis/usb-rndis-systemd.bb +++ b/recipes-core/usb-rndis/usb-rndis-systemd.bb @@ -2,54 +2,46 @@ SECTION = "network" SUMMARY = "RNDIS usb client configuration and startup" RDEPENDS_${PN} = "" # The license is meant for this recipe and the files it installs. -# RNDIS is part of the kernel, udhcpd is part of busybox +# RNDIS is part of the kernel, systemd-networkd is part of systemd LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690" PR = "r1" # Tegra Kernels: -# The kernel provides with CONFIG_USB_G_ANDROID a composite gadget driver among other with RNDIS functionality. -# Others: -# The kernel provides with CONFIG_USB_ETH_RNDIS a USB gadget driver which provides RNDIS functionality. - -# This package contains systemd files to configure RNDIS at startup, configures a fix IP localy and provides a dhcp server on the new interface. -# Local IP is 192.168.11.2, remote IP is 192.168.11.1 +# The kernel provides with CONFIG_USB_G_ANDROID a composite gadget driver +# among other with RNDIS functionality. +# i.MX6 Kernels: +# The kernel provides with CONFIG_USB_ETH_RNDIS an USB gadget driver which +# provides RNDIS functionality. +# Vybrid Kernels: +# The kernel provides with CONFIG_USB_CONFIGFS_RNDIS an USB gadget driver +# which provides RNDIS functionality. RNDIS needs to be configured and +# enabled through configfs, which is done by libusbg (usbg.service) + +# This package contains systemd files to configure RNDIS at startup (Tegra +# and i.MX6), configures a fix IP locally and provides a DHCP server using +# systemd-networkd +# Local IP is 192.168.11.1, remote IP is 192.168.11.2 inherit allarch systemd -SRC_URI_COMMON = " \ +SRC_URI = " \ file://start-rndis.sh \ file://usb-rndis.service \ - file://udhcpd-usb-rndis.conf \ -" - -SRC_URI = " \ - ${SRC_URI_COMMON} \ -" - -SRC_URI_tegra = " \ - ${SRC_URI_COMMON} \ - file://usb-rndis.rules \ - file://usb-rndis-udhcpd.service \ " do_install() { - install -d ${D}/${sysconfdir} ${D}/${bindir} + install -d ${D}/${bindir} install -m 0755 ${WORKDIR}/start-rndis.sh ${D}/${bindir}/ - install -m 0644 ${WORKDIR}/udhcpd-usb-rndis.conf ${D}/${sysconfdir}/ install -d ${D}${systemd_unitdir}/system/ install -m 0644 ${WORKDIR}/usb-rndis.service ${D}${systemd_unitdir}/system } -do_install_append_tegra() { - install -d ${D}/${sysconfdir}/udev/rules.d - install -m 0644 ${WORKDIR}/usb-rndis.rules ${D}/${sysconfdir}/udev/rules.d - install -m 0644 ${WORKDIR}/usb-rndis-udhcpd.service ${D}${systemd_unitdir}/system -} - -FILES_${PN} += "${systemd_unitdir}/system" +FILES_${PN} += " \ + ${systemd_unitdir}/system \ +" NATIVE_SYSTEMD_SUPPORT = "1" SYSTEMD_PACKAGES = "${PN}" -- cgit v1.2.3