--- /dev/null
+#
+# Copyright (C) 2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PECL_NAME:=dio
+PECL_LONGNAME:=Direct I/O functions
+
+PKG_VERSION:=0.0.6
+PKG_RELEASE:=1
+PKG_MD5SUM:=95bde93a41def9c2d97532eeb0c83bd3
+
+PKG_NAME:=php5-pecl-$(PECL_NAME)
+PKG_SOURCE:=$(PECL_NAME)-$(PKG_VERSION).tgz
+PKG_SOURCE_URL:=http://pecl.php.net/get/
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PECL_NAME)-$(PKG_VERSION)
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
+include ../php5/pecl.mk
+
+$(eval $(call PECLPackage,$(PECL_NAME),$(PECL_LONGNAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))
--- /dev/null
+--- a/dio.c
++++ b/dio.c
+@@ -442,6 +442,26 @@ PHP_FUNCTION(dio_tcsetattr)
+
+ /* assign to correct values... */
+ switch (Baud_Rate) {
++#ifdef B460800
++ case 460800:
++ BAUD = B460800;
++ break;
++#endif
++#ifdef B230400
++ case 230400:
++ BAUD = B230400;
++ break;
++#endif
++#ifdef B115200
++ case 115200:
++ BAUD = B115200;
++ break;
++#endif
++#ifdef B57600
++ case 57600:
++ BAUD = B57600;
++ break;
++#endif
+ case 38400:
+ BAUD = B38400;
+ break;