Iphone

Материал из ALT Linux Wiki
Версия от 19:29, 10 апреля 2010; 62.148.128.175 (обсуждение) (Новая страница: «== dmesg == Подключили iPhone/iPod. Посмотрели вывод команды <tt>dmesg</tt> # dmesg [27799.752021] usb 7-3: new high speed USB dev...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

dmesg

Подключили iPhone/iPod. Посмотрели вывод команды dmesg

# dmesg
[27799.752021] usb 7-3: new high speed USB device using ehci_hcd and address 3
[27799.890247] usb 7-3: New USB device found, idVendor=05ac, idProduct=1294
[27799.890252] usb 7-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[27799.890255] usb 7-3: Product: iPhone
[27799.890258] usb 7-3: Manufacturer: Apple Inc.
[27799.890261] usb 7-3: SerialNumber: XXX
[27799.890420] usb 7-3: configuration #1 chosen from 4 choices

usbmuxd

usbmuxd - USB Multiplex Daemon. Демон для общения с iPod/iPhone устройствами.

Позволяет различным приложениям одновременно работать с устройством iPod/iPhone.

# apt-get install usbmuxd

Убедились что в системе заведен пользователь usbmux.

Если не заведен, добавляем руками:

# id usbmux
id: usbmux: No such user
# adduser -d /dev/null -s /bin/false usbmux
# id usbmux
uid=503(usbmux) gid=503(usbmux) groups=503(usbmux)

Редактируем правила для udev, с целью чтобы usb устройство принадлежало пользователю usbmux.

Нужно добавить в файл опцию OWNER="usbmux" в строку:

# rpm -qf /lib/udev/rules.d/85-usbmuxd.rules 
usbmuxd-1.0.3-alt1
# vim /lib/udev/rules.d/85-usbmuxd.rules
ACTION=="add", SUBSYSTEM=="usb", OWNER="usbmux", ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[0-9]", .......

После редактирования файла /lib/udev/rules.d/85-usbmuxd.rules необходимо чтобы udevd перечитал правила:

# udevadm control --reload-rules

При повторном подключении USB-провода к iPod/iPhone проверяем:

# l /dev/bus/usb/007/ | grep usbmux
crw-rw-r--  1 usbmux root 189, 772 Apr 10 19:46 005
# pgrep -l usbmux
12056 usbmuxd
l /var/run/usbmuxd
srw-rw-rw- 1 root root 0 Apr 10 19:46 /var/run/usbmuxd

iproxy

После настройки usbmuxd можно использовать iproxy.

iproxy - ssh тунель с поверх USB. Для iPod/iPhone с установленным jailbreak и установленным openssh сервером.

# rpmquery -f /usr/bin/iproxy
usbmuxd-1.0.3-alt1
> iproxy 
usage: iproxy LOCAL_TCP_PORT DEVICE_TCP_PORT
> iproxy 2222 22
waiting for connection
> ssh -p 2222 root@127.0.0.1
root@127.0.0.1's password: 
Stanv:~ root# uname -a
Darwin Stanv 10.0.0d3 Darwin Kernel Version 10.0.0d3: Fri Sep 25 23:35:35 PDT 2009; root:xnu-1357.5.30~3/RELEASE_ARM_S5L8920X iPhone2,1 arm N88AP Darwin

libmobiledevice

libmobiledevice
библиотека более высокого уровня, для своих нужд использует libusbmuxd

Предоставляет набор вспомогательных утилит:

> idevice_id -l
XXX...
> ideviceinfo
ActivationPublicKey: L
ActivationState: FactoryActivated
...
> idevicesyslog

ifuse

# apt-get install ifuse
# mkdir iphone
> ifuse iphone 
stanv@c2q: ~/ > l iphone 
итого 4
drwx------ 39 stanv stanv 4096 Апр 10 20:17 ../
drwxr-xr-x  3 stanv stanv  102 Апр  3 23:37 Photos/
drwxr-xr-x  7 stanv stanv  272 Апр  3 23:32 iTunes_Control/
drwxr-xr-x  2 stanv stanv  102 Мар 21 01:45 Downloads/
drwxr-xr-x  2 stanv stanv  102 Мар  9 08:48 Safari/
drwxr-xr-x 14 stanv stanv  544 Мар  9 00:07 ./
drwxr-xr-x  2 stanv stanv   68 Мар  9 00:07 PublicStaging/
drwxr-xr-x  3 stanv stanv  136 Фев  7 23:07 EBooks/
drwxr-xr-x  2 stanv stanv  102 Фев  7 13:47 Recordings/
drwxr-xr-x  2 stanv stanv   68 Фев  4 23:29 Music/
drwxr-xr-x  2 stanv stanv   68 Фев  4 23:29 Playlists/
drwxr-xr-x  4 stanv stanv  136 Фев  2 18:13 DCIM/
-rw-r--r--  1 stanv stanv    0 Янв 24 22:42 com.apple.itdbprep.postprocess.lock
-rw-r--r--  1 stanv stanv    0 Янв 24 22:42 com.apple.itunes.lock_sync
drwxr-xr-x  2 stanv stanv   68 Янв 24 22:42 Podcasts/
drwxr-xr-x  2 stanv stanv   68 Янв 24 22:42 Purchases/
> mount | grep ifuse
ifuse on /home/stanv/iphone type fuse.ifuse (rw,nosuid,nodev,user=stanv)
> fusermount -u iphone
> ifuse --root iphone 
Failed to start AFC service 'com.apple.afc2' on the device.
This service enables access to the root filesystem of your device.
Your device needs to be jailbroken and have this service installed.
Note that PwnageTool installs it while blackra1n does not.