diff --git a/community/iwd/APKBUILD b/community/iwd/APKBUILD
index 63f0b56adf57c98960619385eeb1989e1433b9d3..ae5272a44c033eb9ab982f062081891376df21ac 100644
--- a/community/iwd/APKBUILD
+++ b/community/iwd/APKBUILD
@@ -1,17 +1,20 @@
 # Contributor: Milan P. Stanić <mps@arvanta.net>
 # Maintainer: Milan P. Stanić <mps@arvanta.net>
 pkgname=iwd
-pkgver=0.18
+pkgver=0.19
 pkgrel=0
 pkgdesc="Internet Wireless Daemon"
 url="https://iwd.wiki.kernel.org/"
-arch="all !s390x"
+arch="all"
 license="LGPL-2.1-or-later"
 makedepends="ell-dev dbus-dev readline-dev linux-headers asciidoc"
 checkdepends="coreutils"
 subpackages="$pkgname-doc $pkgname-openrc"
 source="https://mirrors.edge.kernel.org/pub/linux/network/wireless/$pkgname-${pkgver}.tar.gz
 	dbus-netdev-group.patch
+	fix-resolvconf-path.patch
+	doc-dns-resolv-main.conf.patch
+	disable-eapol-test.patch
 	iwd.initd
 	"
 builddir="$srcdir/$pkgname-${pkgver}"
@@ -44,6 +47,9 @@ package() {
 		"$pkgdir"/etc/init.d/$pkgname
 }
 
-sha512sums="1a65e725d103e9e569165adde6d35ff1e47c449b7c66d77b0e78de21acdfa59f3a44b4ec8369eeed30c9f70b4440962fdf757410f26e6b522f32afd6acf3daa4  iwd-0.18.tar.gz
+sha512sums="793b6b7533aaae253a6e7fec5fcd81eab3ec4d3fb07dd44cd0b68c5108885333548f990999708382b916dce770ae7112d1fa877aa5b8edf827835c98bd1d100c  iwd-0.19.tar.gz
 7d3bc26b558ebfd22335b946f09abd5326e885275979c617af7def1468ade23ba7605f3b13aaf91836035c130aaec04be0ff2708a898f3ae835e0eef4e78fa0e  dbus-netdev-group.patch
+926fb41280306c6ca81cfb01e9031ac9d3b595715fc7b0c1d478a9758f23f7de92e7f0fca557754fef44c9da4359c0bdcfc1efee032996275aa713a675dcb244  fix-resolvconf-path.patch
+98c711d5df897cbe24033a51277037f15092e57bdd75f62235f34fb6502cd601e6f1f1426ca981fac540550634abb0e39e9a8f04a45c5dfff94ad421adb0a01f  doc-dns-resolv-main.conf.patch
+313b442b368c5be0ae6b7a400889c0fd9e7ffc057ad69b3df58e1106ab75febf7b4a7b44dd28b4b3f3a0c54534b6e8f7ff6798b3388b20df947dfff6c4837b38  disable-eapol-test.patch
 1a913fa19a76a18d92b8f44cb5b4b99a64b4e2f7d2b4a486bf1ba2f939aea7dcca772fca91483011ada58aaa3addc29c76ececd708b2187e57f72aa040ac77e6  iwd.initd"
diff --git a/community/iwd/disable-eapol-test.patch b/community/iwd/disable-eapol-test.patch
new file mode 100644
index 0000000000000000000000000000000000000000..6887b1c008898fcd96e4b5b803ce7613b3deaa3e
--- /dev/null
+++ b/community/iwd/disable-eapol-test.patch
@@ -0,0 +1,22 @@
+--- a/Makefile.am	2019-08-20 17:25:10.375741405 +0200
++++ b/Makefile.am	2019-08-20 17:27:19.502589536 +0200
+@@ -395,8 +395,7 @@
+ 				src/ie.h src/ie.c
+ unit_test_mpdu_LDADD = $(ell_ldadd)
+ 
+-unit_test_eapol_SOURCES = unit/test-eapol.c \
+-				src/crypto.h src/crypto.c \
++unit_test_eapol_SOURCES = src/crypto.h src/crypto.c \
+ 				src/ie.h src/ie.c \
+ 				src/watchlist.h src/watchlist.c \
+ 				src/eapol.h src/eapol.c \
+
+@@ -326,7 +326,7 @@
+ unit_tests = unit/test-cmac-aes \
+ 		unit/test-hmac-md5 unit/test-hmac-sha1 unit/test-hmac-sha256 \
+ 		unit/test-prf-sha1 unit/test-kdf-sha256 \
+-		unit/test-crypto unit/test-eapol unit/test-mpdu \
++		unit/test-crypto unit/test-mpdu \
+ 		unit/test-ie unit/test-util unit/test-ssid-security \
+ 		unit/test-arc4 unit/test-wsc unit/test-eap-mschapv2 \
+ 		unit/test-eap-sim unit/test-sae unit/test-p2p
diff --git a/community/iwd/doc-dns-resolv-main.conf.patch b/community/iwd/doc-dns-resolv-main.conf.patch
new file mode 100644
index 0000000000000000000000000000000000000000..482e146c4af134782dab7b4fbb2610e323f12c57
--- /dev/null
+++ b/community/iwd/doc-dns-resolv-main.conf.patch
@@ -0,0 +1,20 @@
+--- a/doc/main.conf	2019-08-04 21:22:04.000000000 +0200
++++ b/doc/main.conf	2019-08-20 16:41:41.409278810 +0200
+@@ -8,6 +8,12 @@
+ max_4way_handshake_time=5
+ 
+ [General]
++# Enable/Disable iwd internal dhcp client
++enable_network_config=True
++#
++# DNS helper to use: resolvconf or systemd
++# Default to systemd-resolved service
++dns_resolve_method=resolvconf
+ #
+ # Enable/Disable sending EAPoL packets over NL80211.  Enabled by default if
+ # kernel support is available.  Doing so sends all EAPoL traffic over directly
+@@ -130,3 +136,4 @@
+ # desired. The default is 1.0, which does not affect the calculated ranking.
+ #
+ # rank_5g_factor=1.0
++
diff --git a/community/iwd/fix-resolvconf-path.patch b/community/iwd/fix-resolvconf-path.patch
new file mode 100644
index 0000000000000000000000000000000000000000..c84e4cb76ad4e43f3b6d925522f917c6f6450e47
--- /dev/null
+++ b/community/iwd/fix-resolvconf-path.patch
@@ -0,0 +1,11 @@
+--- a/src/resolve.c	2019-08-04 21:22:04.000000000 +0200
++++ b/src/resolve.c	2019-08-20 16:34:10.694830083 +0200
+@@ -242,7 +242,7 @@
+ 	.remove = resolve_systemd_remove,
+ };
+ 
+-#define RESOLVCONF_PATH "/sbin/resolvconf"
++#define RESOLVCONF_PATH "/usr/sbin/resolvconf"
+ 
+ static void resolve_resolvconf_add_dns(uint32_t ifindex, uint8_t type,
+ 						char **dns_list, void *data)