Iphone: различия между версиями
(Новая страница: «== dmesg == Подключили iPhone/iPod. Посмотрели вывод команды <tt>dmesg</tt> # dmesg [27799.752021] usb 7-3: new high speed USB dev...») |
Нет описания правки |
||
Строка 77: | Строка 77: | ||
== ifuse == | == ifuse == | ||
ifuse - предоставляет доступ к файловой системе iPod/iPhone. | |||
Необходимо добавить пользователя в группу <tt>fuse</tt>: | |||
# gpasswd -a stanv fuse | |||
разрешить всем пользователям монтировать fuse - файловые системы: | |||
# control | grep fuse | |||
fusermount restricted (public wheelonly restricted) | |||
# control fusermount public | |||
# apt-get install ifuse | # apt-get install ifuse | ||
Строка 102: | Строка 111: | ||
ifuse on /home/stanv/iphone type fuse.ifuse (rw,nosuid,nodev,user=stanv) | ifuse on /home/stanv/iphone type fuse.ifuse (rw,nosuid,nodev,user=stanv) | ||
> fusermount -u iphone | > fusermount -u iphone | ||
Для устройств с установленным jailbreak + PwnageTool позволяет получить доступ к корневой файловой системе: | |||
> ifuse --root iphone | > ifuse --root iphone | ||
Failed to start AFC service 'com.apple.afc2' on the device. | Failed to start AFC service 'com.apple.afc2' on the device. | ||
Строка 108: | Строка 119: | ||
Note that PwnageTool installs it while blackra1n does not. | Note that PwnageTool installs it while blackra1n does not. | ||
== Мелодия для звонков == | |||
== Музыка == | |||
Синхронизировать музыку с iPod/iPhone можно с помощью: | |||
# Rhythmbox - используется в GNOME Desktop | |||
# Amarok - используется в KDE | |||
# gtkpod - GTK2 интерфейс | |||
Можно выбрать любой предпочитаемый менеджер.<br> | |||
Все они используют для доступа к iPod/iPhone библиотеку <tt>libgpod</tt>.<br> | |||
=== libgpod === | |||
Библиотека <tt>libgpod</tt> должна быть собрана с библиотекой <tt>libimobiledevice</tt>: | |||
> rpm -R libgpod4 | grep libimobiledevice | |||
libimobiledevice.so.0 | |||
Для начала нужно инициализировать iPod/iPhone для работы с libgpod: | |||
> ifuse ~/iphone | |||
> mkdir ~/iphone/iTunes_Control/Device | |||
> idevice_id -l | |||
zz35700ee3949a5da111c59112217f32ca06af50 | |||
> ipod-read-sysinfo-extended your_uuid_string ~/iphone | |||
Должен создаться файл: | |||
> ls -sh ~/iphone/iTunes_Control/Device/SysInfoExtended | |||
> fusermount -u /media/iphone | |||
Если iPod/iPhone до этого никогда не синхронизировался с iTunes, тогда нужно убедится в наличии файла: | |||
~/iphone/iTunes_Control/Device/HashInf | |||
Если он отсутствует, тогда его можно создать, воспользовавшись сервисом: [http://ihash.marcansoft.com iPhone/iPod hash generation] | |||
=== Программы AppStore === | |||
[[Категория: Documentation]] | [[Категория: Documentation]] | ||
== Cсылки == | |||
* [http://ihash.marcansoft.com iPhone/iPod hash generation] | |||
* [http://libimobiledevice.org libimobiledevice] |
Версия от 20:34, 10 апреля 2010
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
ifuse - предоставляет доступ к файловой системе iPod/iPhone.
Необходимо добавить пользователя в группу fuse:
# gpasswd -a stanv fuse
разрешить всем пользователям монтировать fuse - файловые системы:
# control | grep fuse fusermount restricted (public wheelonly restricted) # control fusermount public
# 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
Для устройств с установленным jailbreak + PwnageTool позволяет получить доступ к корневой файловой системе:
> 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.
Мелодия для звонков
Музыка
Синхронизировать музыку с iPod/iPhone можно с помощью:
- Rhythmbox - используется в GNOME Desktop
- Amarok - используется в KDE
- gtkpod - GTK2 интерфейс
Можно выбрать любой предпочитаемый менеджер.
Все они используют для доступа к iPod/iPhone библиотеку libgpod.
libgpod
Библиотека libgpod должна быть собрана с библиотекой libimobiledevice:
> rpm -R libgpod4 | grep libimobiledevice libimobiledevice.so.0
Для начала нужно инициализировать iPod/iPhone для работы с libgpod:
> ifuse ~/iphone > mkdir ~/iphone/iTunes_Control/Device > idevice_id -l zz35700ee3949a5da111c59112217f32ca06af50 > ipod-read-sysinfo-extended your_uuid_string ~/iphone
Должен создаться файл:
> ls -sh ~/iphone/iTunes_Control/Device/SysInfoExtended > fusermount -u /media/iphone
Если iPod/iPhone до этого никогда не синхронизировался с iTunes, тогда нужно убедится в наличии файла:
~/iphone/iTunes_Control/Device/HashInf
Если он отсутствует, тогда его можно создать, воспользовавшись сервисом: iPhone/iPod hash generation