всем привет.
имеется: айпод одного из последних поколений, а также желание работать с ним из-под *nix систем. т.к. я использую FreeBSD, то в этой заметке буду опираться на неё.
итак, в чем же весь сыр-бор? имелся старенький айпод нано 4 гб, который «на ура» распознался в FreeBSD 7.0 RELEASE, и все операции с песнями я осуществлял через GtkPod. на днях купил новенький айпод нано 4гб, и к моему удивлению, gtkpod перестал его корректно распознавать.
при запуске gtkpod стал выдавать сообщение, что он не может распознать «экстра информацию» айпода, и после добавления песен айпод отказывался их видеть, хотя ясно показывал в инфо, что xxxx мегабайт занято неизвестными данными.
в общем, в ходе лазаний по бескрайним просторам инета, выяснилось, что это связано с дополнительным уровнем защиты, которую эппл добавил в айподы последних поколений и в айфоны. база данных новых моделей эппловских девайсов теперь защищена чексуммой. в случае несовпадения этой чексуммы с содержимым базы данных айпода, айпод попросту игнорирует закинутые на него файлы, и не отображает их на своем дисплее. новая версия libgpod поддерживает запись этой сгенерированной чексуммы на айпод, однако, для генерации самой чексуммы требуется т.н. «firewire ID», который уникальный для разных моделей айподов. а посему, этот айдишник нужно «подсказать» проге вручную.
ниже рецепт решения проблемы:
ps: под линуксы процедура очень похожая. единственно, для получения идентификатора ипода используется команда:
«lsusb -v | grep -i Serial»
pps: полезные линки:
www.mail-archive.com/gtkpod-cvs2@lists.sourceforge.net/msg02174.html
ubuntuforums.org/showthread.php?t=611404
lilserenity.wordpress.com/2007/12/22/virgin-mobile-praise-ubuntu-and-ipod-nano-3g
имеется: айпод одного из последних поколений, а также желание работать с ним из-под *nix систем. т.к. я использую FreeBSD, то в этой заметке буду опираться на неё.
итак, в чем же весь сыр-бор? имелся старенький айпод нано 4 гб, который «на ура» распознался в FreeBSD 7.0 RELEASE, и все операции с песнями я осуществлял через GtkPod. на днях купил новенький айпод нано 4гб, и к моему удивлению, gtkpod перестал его корректно распознавать.
при запуске gtkpod стал выдавать сообщение, что он не может распознать «экстра информацию» айпода, и после добавления песен айпод отказывался их видеть, хотя ясно показывал в инфо, что xxxx мегабайт занято неизвестными данными.
в общем, в ходе лазаний по бескрайним просторам инета, выяснилось, что это связано с дополнительным уровнем защиты, которую эппл добавил в айподы последних поколений и в айфоны. база данных новых моделей эппловских девайсов теперь защищена чексуммой. в случае несовпадения этой чексуммы с содержимым базы данных айпода, айпод попросту игнорирует закинутые на него файлы, и не отображает их на своем дисплее. новая версия libgpod поддерживает запись этой сгенерированной чексуммы на айпод, однако, для генерации самой чексуммы требуется т.н. «firewire ID», который уникальный для разных моделей айподов. а посему, этот айдишник нужно «подсказать» проге вручную.
ниже рецепт решения проблемы:
- 1. ставим любой из популярных айпод-менеджеров под *nix, который __обязательно__ использует libgpod.
- я использую GTKPod 0.99.12.
- 2. проверяем, что версия либы libgpod не ниже 0.6.0
- 3. качаем 50hz.ws/dev/getserial.c.
- 4. собираем: gcc ./getserial.c -o ./getserial
- 5. подрубаем плеер к компу. маунтим его как msdosfs: mount_msdosfs /dev/da0s1 /mnt/ipod
- 6. запускаем ./getserial /dev/usbX, последовательно перебирая индекс X, начиная с 0
- 7. если программа выдаст что-то в духе:
- "[2:2] Apple Inc. — iPod
- iSerialNumber: 000A27001D37AD65"
- , значит мы нашли искомый идентификатор модели! ура!!
- 8. если пункт 6. прошел успешно, то идем в /mnt/ipod/iPod_Control/Device/ и здесь в файлик SysInfo вписываем
«FirewireGuid: 0xXXXXXXXXXXXXXXXX - где вместо XXXXXXXXXXXXXXXXX пишем наш найденный идентификатор.
- к примеру мой /mnt/ipod/iPod_Control/Device/SysInfo теперь выглядит так:
- »ModelNumStr: xA005
- FirewireGuid: 0x000A27001D37AD65"
- 9. сохраняем изменения в этом файле.
- 10. запускаем gtkpod, закидываем музыку через него на айпод. жмем «сохранить». размаунчиваем айпод.
- 11. включаем айпод… теперь айпод видит закинутую на него музыку!!!
ps: под линуксы процедура очень похожая. единственно, для получения идентификатора ипода используется команда:
«lsusb -v | grep -i Serial»
pps: полезные линки:
www.mail-archive.com/gtkpod-cvs2@lists.sourceforge.net/msg02174.html
ubuntuforums.org/showthread.php?t=611404
lilserenity.wordpress.com/2007/12/22/virgin-mobile-praise-ubuntu-and-ipod-nano-3g