2014-09-25 11:48:31 +02:00
|
|
|
#
|
|
|
|
# Copyright (C) 2012-2014 OpenWrt.org
|
|
|
|
#
|
|
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
|
|
# See /LICENSE for more information.
|
|
|
|
#
|
|
|
|
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
|
|
|
|
PKG_NAME:=usbmuxd
|
usbmuxd: update to the latest git version
There have been no releases since 2020-06-16.
Update to the latest git 360619c5f721f93f0b9d8af1a2df0b926fbcf281
Fix: --version did not print the version.
[1] changes to mode 3 CDC NCM by default. Revert back to mode 1:
Originally mode 1 was used, where a tethered iPhone appears as an
Ethernet interface, handled by the ipheth driver. This has been the
default for many years and is known to work on iPhone 3G, 4S, 7 Plus,
11 and newer. Since [2] ipheth supports CDC NCM in mode 1, and
configures the iPhone to use it.
In mode 3, the Ethernet interface is handled by kmod-usb-net-cdc-ncm.
This driver has better performance, but now the iPhone does not
provide DHCP or Internet connectivity, so we should revert to mode 1.
Analysing the network traffic, shows that both the iPhone and OpenWRT
are DHCP clients. The iPhone does not act as a DHCP server. I can set
a static IP on OpenWRT and lease 172.20.10.1 to the iPhone. Then I can
ping the iPhone and I have IPv4 connectivity. However the iPhone does
not provide Internet connectivity to OpenWRT. Maybe in mode 3, the
iPhone is a client meant to receive Internet over USB and therefore
it is not a gateway?
Attempts to switch old iPhones, such as 3G and 4S to mode 3 fail.
They remain in mode 1 and work correctly using the ipheth driver.
Comparison, tested on iPhone 7 Plus and 11
- mode 1 eth0 kmod-usb-net-ipheth 264 Mbit/s DHCP server, Internet
- mode 3 usb0 kmod-usb-net-cdc-ncm 304 Mbit/s DHCP client, no Internet
[1] https://github.com/libimobiledevice/usbmuxd/commit/c7a0dd9b82633ea347497626282e3051a469ef50
[2] https://github.com/openwrt/openwrt/commit/680f8738d02a1876ae4cd11aacf9cd56e520fadf
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
2024-04-22 14:07:12 +02:00
|
|
|
PKG_RELEASE:=1
|
2014-09-25 11:48:31 +02:00
|
|
|
|
usbmuxd: update to the latest git version
There have been no releases since 2020-06-16.
Update to the latest git 360619c5f721f93f0b9d8af1a2df0b926fbcf281
Fix: --version did not print the version.
[1] changes to mode 3 CDC NCM by default. Revert back to mode 1:
Originally mode 1 was used, where a tethered iPhone appears as an
Ethernet interface, handled by the ipheth driver. This has been the
default for many years and is known to work on iPhone 3G, 4S, 7 Plus,
11 and newer. Since [2] ipheth supports CDC NCM in mode 1, and
configures the iPhone to use it.
In mode 3, the Ethernet interface is handled by kmod-usb-net-cdc-ncm.
This driver has better performance, but now the iPhone does not
provide DHCP or Internet connectivity, so we should revert to mode 1.
Analysing the network traffic, shows that both the iPhone and OpenWRT
are DHCP clients. The iPhone does not act as a DHCP server. I can set
a static IP on OpenWRT and lease 172.20.10.1 to the iPhone. Then I can
ping the iPhone and I have IPv4 connectivity. However the iPhone does
not provide Internet connectivity to OpenWRT. Maybe in mode 3, the
iPhone is a client meant to receive Internet over USB and therefore
it is not a gateway?
Attempts to switch old iPhones, such as 3G and 4S to mode 3 fail.
They remain in mode 1 and work correctly using the ipheth driver.
Comparison, tested on iPhone 7 Plus and 11
- mode 1 eth0 kmod-usb-net-ipheth 264 Mbit/s DHCP server, Internet
- mode 3 usb0 kmod-usb-net-cdc-ncm 304 Mbit/s DHCP client, no Internet
[1] https://github.com/libimobiledevice/usbmuxd/commit/c7a0dd9b82633ea347497626282e3051a469ef50
[2] https://github.com/openwrt/openwrt/commit/680f8738d02a1876ae4cd11aacf9cd56e520fadf
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
2024-04-22 14:07:12 +02:00
|
|
|
PKG_SOURCE_PROTO:=git
|
|
|
|
PKG_SOURCE_URL:=https://github.com/libimobiledevice/usbmuxd.git
|
|
|
|
PKG_SOURCE_DATE:=2023-10-11
|
|
|
|
PKG_SOURCE_VERSION:=360619c5f721f93f0b9d8af1a2df0b926fbcf281
|
|
|
|
PKG_MIRROR_HASH:=e674ee39abbbae6dea7364be8b8287db2e333d033c226d4b2ed95f2e61a78576
|
2019-12-11 01:29:16 +01:00
|
|
|
|
2019-12-14 23:42:36 +01:00
|
|
|
PKG_MAINTAINER:=Rosen Penev <rosenp@gmail.com>
|
|
|
|
PKG_LICENSE:=GPL-2.0-or-later
|
2014-11-25 08:42:42 +01:00
|
|
|
PKG_LICENSE_FILES:=COPYING.GPLv2
|
2019-12-14 23:42:36 +01:00
|
|
|
PKG_CPE_ID:=cpe:/a:libimobiledevice:usbmuxd
|
2014-09-25 11:48:31 +02:00
|
|
|
|
usbmuxd: update to the latest git version
There have been no releases since 2020-06-16.
Update to the latest git 360619c5f721f93f0b9d8af1a2df0b926fbcf281
Fix: --version did not print the version.
[1] changes to mode 3 CDC NCM by default. Revert back to mode 1:
Originally mode 1 was used, where a tethered iPhone appears as an
Ethernet interface, handled by the ipheth driver. This has been the
default for many years and is known to work on iPhone 3G, 4S, 7 Plus,
11 and newer. Since [2] ipheth supports CDC NCM in mode 1, and
configures the iPhone to use it.
In mode 3, the Ethernet interface is handled by kmod-usb-net-cdc-ncm.
This driver has better performance, but now the iPhone does not
provide DHCP or Internet connectivity, so we should revert to mode 1.
Analysing the network traffic, shows that both the iPhone and OpenWRT
are DHCP clients. The iPhone does not act as a DHCP server. I can set
a static IP on OpenWRT and lease 172.20.10.1 to the iPhone. Then I can
ping the iPhone and I have IPv4 connectivity. However the iPhone does
not provide Internet connectivity to OpenWRT. Maybe in mode 3, the
iPhone is a client meant to receive Internet over USB and therefore
it is not a gateway?
Attempts to switch old iPhones, such as 3G and 4S to mode 3 fail.
They remain in mode 1 and work correctly using the ipheth driver.
Comparison, tested on iPhone 7 Plus and 11
- mode 1 eth0 kmod-usb-net-ipheth 264 Mbit/s DHCP server, Internet
- mode 3 usb0 kmod-usb-net-cdc-ncm 304 Mbit/s DHCP client, no Internet
[1] https://github.com/libimobiledevice/usbmuxd/commit/c7a0dd9b82633ea347497626282e3051a469ef50
[2] https://github.com/openwrt/openwrt/commit/680f8738d02a1876ae4cd11aacf9cd56e520fadf
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
2024-04-22 14:07:12 +02:00
|
|
|
PKG_FIXUP:=autoreconf
|
2014-09-25 11:48:31 +02:00
|
|
|
PKG_INSTALL:=1
|
2019-03-28 00:32:43 +01:00
|
|
|
PKG_BUILD_PARALLEL:=1
|
2014-09-25 11:48:31 +02:00
|
|
|
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
|
|
|
|
define Package/usbmuxd
|
|
|
|
SECTION:=utils
|
|
|
|
CATEGORY:=Utilities
|
2019-12-14 23:42:36 +01:00
|
|
|
SUBMENU:=libimobiledevice
|
2014-09-25 11:48:31 +02:00
|
|
|
TITLE:=USB multiplexing daemon
|
2019-12-14 23:42:36 +01:00
|
|
|
URL:=https://www.libimobiledevice.org/
|
2024-04-21 01:12:49 +02:00
|
|
|
DEPENDS:=+libusb-1.0 +libusbmuxd +libopenssl +libimobiledevice +usbutils
|
2014-09-25 11:48:31 +02:00
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/usbmuxd/description
|
|
|
|
This daemon is in charge of multiplexing connections over USB to an iPhone or
|
|
|
|
iPod touch. To users, it means you can sync your music, contacts, photos, etc.
|
|
|
|
over USB. To developers, it means you can connect to any listening localhost
|
|
|
|
socket on the device. usbmuxd is not used for tethering data transfer, which
|
|
|
|
uses a dedicated USB interface as a virtual network device.
|
|
|
|
endef
|
|
|
|
|
2019-12-14 23:42:36 +01:00
|
|
|
define Package/usbmuxd/conffiles
|
|
|
|
/etc/lockdown
|
|
|
|
/etc/lockdown/SystemConfiguration.plist
|
|
|
|
endef
|
|
|
|
|
usbmuxd: update to the latest git version
There have been no releases since 2020-06-16.
Update to the latest git 360619c5f721f93f0b9d8af1a2df0b926fbcf281
Fix: --version did not print the version.
[1] changes to mode 3 CDC NCM by default. Revert back to mode 1:
Originally mode 1 was used, where a tethered iPhone appears as an
Ethernet interface, handled by the ipheth driver. This has been the
default for many years and is known to work on iPhone 3G, 4S, 7 Plus,
11 and newer. Since [2] ipheth supports CDC NCM in mode 1, and
configures the iPhone to use it.
In mode 3, the Ethernet interface is handled by kmod-usb-net-cdc-ncm.
This driver has better performance, but now the iPhone does not
provide DHCP or Internet connectivity, so we should revert to mode 1.
Analysing the network traffic, shows that both the iPhone and OpenWRT
are DHCP clients. The iPhone does not act as a DHCP server. I can set
a static IP on OpenWRT and lease 172.20.10.1 to the iPhone. Then I can
ping the iPhone and I have IPv4 connectivity. However the iPhone does
not provide Internet connectivity to OpenWRT. Maybe in mode 3, the
iPhone is a client meant to receive Internet over USB and therefore
it is not a gateway?
Attempts to switch old iPhones, such as 3G and 4S to mode 3 fail.
They remain in mode 1 and work correctly using the ipheth driver.
Comparison, tested on iPhone 7 Plus and 11
- mode 1 eth0 kmod-usb-net-ipheth 264 Mbit/s DHCP server, Internet
- mode 3 usb0 kmod-usb-net-cdc-ncm 304 Mbit/s DHCP client, no Internet
[1] https://github.com/libimobiledevice/usbmuxd/commit/c7a0dd9b82633ea347497626282e3051a469ef50
[2] https://github.com/openwrt/openwrt/commit/680f8738d02a1876ae4cd11aacf9cd56e520fadf
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
2024-04-22 14:07:12 +02:00
|
|
|
CONFIGURE_ARGS += \
|
|
|
|
--with-systemd \
|
|
|
|
PACKAGE_VERSION=$(PKG_VERSION)
|
2014-09-25 11:48:31 +02:00
|
|
|
|
|
|
|
define Package/usbmuxd/install
|
2024-04-21 01:12:49 +02:00
|
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/usb
|
2019-12-14 23:42:36 +01:00
|
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
2024-04-21 01:12:49 +02:00
|
|
|
$(INSTALL_BIN) ./files/usbmuxd.hotplug $(1)/etc/hotplug.d/usb/40-usbmuxd
|
2019-12-14 23:42:36 +01:00
|
|
|
$(INSTALL_BIN) ./files/usbmuxd.init $(1)/etc/init.d/usbmuxd
|
2014-09-25 11:48:31 +02:00
|
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
2019-12-14 23:42:36 +01:00
|
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/usbmuxd $(1)/usr/sbin/
|
2014-09-25 11:48:31 +02:00
|
|
|
endef
|
|
|
|
|
|
|
|
$(eval $(call BuildPackage,usbmuxd))
|