aboutsummaryrefslogtreecommitdiff
path: root/utils/usbmuxd
diff options
context:
space:
mode:
Diffstat (limited to 'utils/usbmuxd')
-rw-r--r--utils/usbmuxd/Makefile6
-rw-r--r--utils/usbmuxd/files/usbmuxd.hotplug24
2 files changed, 28 insertions, 2 deletions
diff --git a/utils/usbmuxd/Makefile b/utils/usbmuxd/Makefile
index 32fbc6857..e584d9106 100644
--- a/utils/usbmuxd/Makefile
+++ b/utils/usbmuxd/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=usbmuxd
PKG_VERSION:=1.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://www.libimobiledevice.org/downloads
@@ -31,7 +31,7 @@ define Package/usbmuxd
SUBMENU:=libimobiledevice
TITLE:=USB multiplexing daemon
URL:=https://www.libimobiledevice.org/
- DEPENDS:=+librt +libusb-1.0 +libusbmuxd +libopenssl +libimobiledevice
+ DEPENDS:=+libusb-1.0 +libusbmuxd +libopenssl +libimobiledevice +usbutils
endef
define Package/usbmuxd/description
@@ -50,7 +50,9 @@ endef
CONFIGURE_ARGS += --with-systemd
define Package/usbmuxd/install
+ $(INSTALL_DIR) $(1)/etc/hotplug.d/usb
$(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/usbmuxd.hotplug $(1)/etc/hotplug.d/usb/40-usbmuxd
$(INSTALL_BIN) ./files/usbmuxd.init $(1)/etc/init.d/usbmuxd
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/usbmuxd $(1)/usr/sbin/
diff --git a/utils/usbmuxd/files/usbmuxd.hotplug b/utils/usbmuxd/files/usbmuxd.hotplug
new file mode 100644
index 000000000..84986cc96
--- /dev/null
+++ b/utils/usbmuxd/files/usbmuxd.hotplug
@@ -0,0 +1,24 @@
+case "$ACTION" in
+ bind)
+ dev=/sys$DEVPATH
+
+ [ ! -f /tmp/iPhone.lock ] && [ -d ${dev}/net ] &&
+ {
+ readlink ${dev}/driver | grep -q ipheth &&
+ {
+ sleep 5
+ carrier_path=${dev}/net/*/carrier
+ carrier=`cat ${carrier_path}`
+
+ [ "${carrier}" = "0" ] &&
+ {
+ touch /tmp/iPhone.lock
+ logger -p daemon.error -t iPhone ${carrier_path} = ${carrier}
+ logger -p daemon.error -t iPhone `/usr/bin/usbreset iPhone`
+ /etc/init.d/usbmuxd restart
+ sleep 5 && rm -f /tmp/iPhone.lock &
+ }
+ }
+ }
+ ;;
+esac