Usbmuxd for accessing IOS devices from android devices

We have libimobiledevice we just need to install usbmuxd to access the usb through socket for IOS devices.

1 Like

I tried compiling but facing the following issues :-

~/download/usbmuxd_termux $ sudo src/usbmuxd --pidfile=/data/data/com.termux/files/usr/var/run/usbmuxd -f -S /data/data/com.termux/files/usr/var/run/usbmux_sock -p -vv
[11:06:40.197][3] usbmuxd v1.1.1-git-75af3bc starting up
[11:06:40.198][4] Creating socket
[11:06:40.199][4] Listening on /data/data/com.termux/files/usr/var/run/usbmux_sock
[11:06:40.199][5] client_init [11:06:40.199][5] device_init
[11:06:40.199][4] Initializing USB
[11:06:40.199][3] Using libusb 1.0.28
[11:06:40.200][4] Registering for libusb hotplug events
[timestamp] [threadID] facility level [function call]

[ 0.001435] [00007d25] libusb: debug [libusb_hotplug_register_callback] new hotplug cb 0xb400007b1582c1d0 with handle 1
[ 0.001513] [00007d25] libusb: debug [libusb_get_device_list]
[ 0.001532] [00007d25] libusb: debug [libusb_get_device_descriptor]
[11:06:40.201][4] Found new device with v/p 05ac:12a8 at 1-49
[ 0.001562] [00007d25] libusb: debug [libusb_open] open 1.49
[ 0.001688] [00007d25] libusb: debug [usbi_add_event_source] add fd 7 events 4
[11:06:40.201][4] Requesting current mode from device 1-49
[ 0.001745] [00007d25] libusb: debug [libusb_submit_transfer] transfer 0xb400007b9582c650
[ 0.001759] [00007d25] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[11:06:40.201][4] 1 device detected
[11:06:40.201][3] Initialization complete
[ 0.001878] [00007d25] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.001891] [00007d25] libusb: debug [handle_events] event sources modified, reallocating event data
[ 0.001907] [00007d25] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 0ms
[ 0.001920] [00007d25] libusb: debug [usbi_wait_for_events] poll() returned 0
[ 0.002410] [00007d25] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.002451] [00007d25] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 0ms
[ 0.002469] [00007d25] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 0.002499] [00007d25] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=4
[ 0.002511] [00007d25] libusb: debug [handle_control_completion] handling completion status 0
[ 0.002528] [00007d25] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 0.002545] [00007d25] libusb: debug [usbi_handle_transfer_completion] transfer 0xb400007b9582c650 has callback 0x618270bbdc
[11:06:40.202][4] Received response 3:3:3:0 for get_mode request for device 1-49
[11:06:40.202][2] Skipping switch device 1-49 mode from 1 to 1
[ 0.002752] [00007d25] libusb: debug [libusb_get_configuration]
[ 0.002997] [00007d25] libusb: debug [libusb_get_configuration] active config 1
[11:06:40.202][3] Found usbmux interface for device 1-49: 1
[11:06:40.202][4] Found interface 1 with endpoints 04/85 for device 1-49
[11:06:40.202][3] Changing configuration of device 1-49: 1 β†’ 4
[ 0.003086] [00007d25] libusb: debug [libusb_kernel_driver_active] interface 0
[ 0.003111] [00007d25] libusb: debug [libusb_kernel_driver_active] interface 1
[ 0.003123] [00007d25] libusb: debug [libusb_kernel_driver_active] interface 2
[ 0.003136] [00007d25] libusb: debug [libusb_set_configuration] configuration 4
[11:06:40.202][2] Could not set configuration 4 for device 1-49: LIBUSB_ERROR_BUSY
[11:06:40.202][3] Found usbmux interface for device 1-49: 1
[11:06:40.202][4] Found interface 1 with endpoints 04/85 for device 1-49
[11:06:40.202][3] Changing configuration of device 1-49: 1 β†’ 3
[ 0.003256] [00007d25] libusb: debug [libusb_kernel_driver_active] interface 0
[ 0.003265] [00007d25] libusb: debug [libusb_kernel_driver_active] interface 1
[ 0.003276] [00007d25] libusb: debug [libusb_set_configuration] configuration 3
[11:06:40.202][2] Could not set configuration 3 for device 1-49: LIBUSB_ERROR_BUSY
[ 0.003319] [00007d25] libusb: debug [parse_endpoint] skipping descriptor 0x25
[11:06:40.202][3] Changing configuration of device 1-49: 1 β†’ 2
[ 0.003344] [00007d25] libusb: debug [libusb_kernel_driver_active] interface 0
[ 0.003352] [00007d25] libusb: debug [libusb_kernel_driver_active] interface 1
[ 0.003363] [00007d25] libusb: debug [libusb_kernel_driver_active] interface 2
[ 0.003385] [00007d25] libusb: debug [libusb_set_configuration] configuration 2
[11:06:40.203][2] Could not set configuration 2 for device 1-49: LIBUSB_ERROR_BUSY
[ 0.003423] [00007d25] libusb: debug [libusb_claim_interface] interface 1
[11:06:40.203][2] Could not claim interface 1 for device 1-49: LIBUSB_ERROR_NOT_FOUND
[ 0.003456] [00007d25] libusb: debug [libusb_free_transfer] transfer 0xb400007b9582c650
[11:06:40.203][2] Cannot find device entry while removing USB device 0xb400007bb5826290 on location 0x10031
[ 0.003500] [00007d25] libusb: debug [libusb_release_interface] interface 1
[ 0.003511] [00007d25] libusb: debug [libusb_close]
[ 0.003522] [00007d25] libusb: debug [usbi_remove_event_source] remove fd 7
[ 0.003591] [00007d25] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.003603] [00007d25] libusb: debug [handle_events] event sources modified, reallocating event data
[ 0.003626] [00007d25] libusb: debug [usbi_wait_for_events] poll() 2 fds with timeout in 0ms
[ 0.003639] [00007d25] libusb: debug [usbi_wait_for_events] poll() returned 0
^C[11:07:45.957][3] Caught signal 2, exiting
[11:07:45.957][4] Event processing interrupted
[11:07:45.957][3] usbmuxd shutting down
[11:07:45.957][5] device_kill_connections
[65.758005] [00007d25] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[65.758026] [00007d25] libusb: debug [usbi_wait_for_events] poll() 2 fds with timeout in 100ms
[65.858465] [00007d25] libusb: debug [usbi_wait_for_events] poll() returned 0
[11:07:46.058][5] usb_shutdown
[65.858600] [00007d25] libusb: debug [libusb_hotplug_deregister_callback] deregister hotplug cb 1
[65.858664] [00007d25] libusb: debug [libusb_exit] destroying default context
[65.858678] [00007d25] libusb: debug [libusb_unref_device] destroy device 1.49
[65.858688] [00007d25] libusb: debug [libusb_unref_device] destroy device 1.48
[65.858697] [00007d25] libusb: debug [libusb_unref_device] destroy device 1.1
[65.858706] [00007d25] libusb: debug [usbi_remove_event_source] remove fd 6
[65.858739] [00007d25] libusb: debug [usbi_remove_event_source] remove fd 5
[11:07:46.058][5] device_shutdown
[11:07:46.058][5] client_shutdown
[11:07:46.058][3] Shutdown complete

You have root access? Wonder if that’s needed

I have 64 bit arm cpu with root access

let me know what you need me to test

Yes root is needed to work with libusb even to do lsusb else we will have to rewrite the entire usbmuxd with android usb framework.