Ipod Video

From YobiWiki
Revision as of 21:33, 24 November 2010 by <bdi>PhilippeTeuwen</bdi> (talk | contribs) (Reverted edits by Etegohy (Talk) to last revision by PhilippeTeuwen)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Hardware

  • From the serial number I can see this is a iPod Video 30G of the initial fifth generation (not 5.5g)
  • Specifications
  • First contact: have a look to the Features Guide (pdf)

Tools

Just a quick inventory of what I could find under Debian, if not already covered in the rest of this page:

  • ipod - tool for retrieving informations from iPods
    • Detection works well, but no idea what to do with normal mode
      The default action is to create an IpodDeviceEventListener object and respond to iPod/HAL signals
  • banshee - Audio Management and Playback application
  • banshee-daap - Audio Management and Playback application (DAAP sharing plugin)
  • python-gpod - a library to read and write songs and artwork to an iPod
  • python-ipod - ipod library

See also 10 Alternatives to iTunes for managing your iPod

First time

scsi 3:0:0:0: Direct-Access     Apple    iPod             1.62 PQ: 0 ANSI: 0
SCSI device sdb: 58605120 512-byte hdwr sectors (30006 MB)
sdb: Write Protect is off
sdb: Mode Sense: 68 00 00 08
sdb: assuming drive cache: write through
 sdb: [mac] sdb1 sdb2 sdb3
sd 3:0:0:0: Attached scsi removable disk sdb
sd 3:0:0:0: Attached scsi generic sg2 type 0
# file -s /dev/sdb1
/dev/sdb1: Apple Partition data (block size: 0): 
           first type: Apple_MDFW, 
           name: firmware, 
           number of blocks: 131072, 
           second type: Apple_HFS, 
           name: disk, 
           number of blocks: 58473976,
# file -s /dev/sdb2
/dev/sdb2: data
# file -s /dev/sdb3
/dev/sdb3: Macintosh HFS Extended version 4 data last mounted by: '10.0', 
           created: Thu May 24 11:40:21 2007, 
           last modified: Fri May 25 10:54:01 2007, 
           last checked: Thu May 24 20:40:21 2007, 
           block size: 4096, 
           number of blocks: 7309247, 
           free blocks: 7302027

Trying ipodpatcher:

$ ./ipodpatcher -l
ipodpatcher v1.0 with v1.1 bootloaders - (C) Dave Chapman 2006-2007
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

[INFO] Scanning disk devices...
[INFO] Ipod found - Video (aka 5th Generation) ("macpod") - /dev/sdb
[INFO] Reading partition table from /dev/sdb
[INFO] Sector size is 512 bytes
[INFO] Part    Start Sector    End Sector   Size (MB)   Type
[INFO]    0              63        131134        64.0   Empty (0x00)
[INFO]    1          131136      58605111     28551.7   HFS/HFS+ (0xffffffff)
[INFO] Ipod model: Video (aka 5th Generation) ("macpod")
[INFO] ************************************************************************
[INFO] *** WARNING FOR ROCKBOX USERS
[INFO] *** You must convert this ipod to FAT32 format (aka a "winpod")
[INFO] *** if you want to run Rockbox.  Rockbox WILL NOT work on this ipod.
[INFO] *** See http://www.rockbox.org/twiki/bin/view/Main/IpodConversionToFAT32
[INFO] ************************************************************************

Listing firmware partition contents: 

Image 1:
    Main firmware - 7500800 bytes
Image 2:
    RSRC - 5242880 bytes
Image 3:
    AUPD - 1074176 bytes
Image 4:
    HIBE - 33556480 bytes

Macpod to winpod

My ipod was formatted for Mac so I had to install iTunes on a Windows machine, I skip nasty details, the only Windows I have is at the office, the enterprise proxy blocking apple store website, having to go through a VPN thanks to openvpn, etc)
Just start iTunes, plug the iPod and the soft proposes to "restore" it.
now I get:

scsi 2:0:0:0: Direct-Access     Apple    iPod             1.62 PQ: 0 ANSI: 0
SCSI device sdb: 58605120 512-byte hdwr sectors (30006 MB)
sdb: Write Protect is off
sdb: Mode Sense: 68 00 00 08
sdb: assuming drive cache: write through
 sdb: sdb1 sdb2
sd 2:0:0:0: Attached scsi removable disk sdb
sd 2:0:0:0: Attached scsi generic sg2 type 0
# file -s /dev/sdb1
/dev/sdb1: data
# file -s /dev/sdb2
/dev/sdb2: x86 boot sector, 
           code offset 0x3c, 
           OEM-ID "*UOKJIHC", 
           sectors/cluster 8, 
           Media descriptor 0xf8, 
           heads 255, 
           hidden sectors 160650, 
           sectors 58444470 (volumes > 32 MB) , 
           FAT (32 bit), 
           sectors/FAT 57019, 
           serial number 0x38786c67, 
           label: "IPOD       "
$ ./ipodpatcher -l
ipodpatcher v1.0 with v1.1 bootloaders - (C) Dave Chapman 2006-2007
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

[INFO] Scanning disk devices...
[INFO] Ipod found - Video (aka 5th Generation) ("winpod") - /dev/sdb
[INFO] Reading partition table from /dev/sdb
[INFO] Sector size is 512 bytes
[INFO] Part    Start Sector    End Sector   Size (MB)   Type
[INFO]    0              63        160649        78.4   Empty (0x00)
[INFO]    1          160650      58605119     28537.3   W95 FAT32 (0x0b)
[INFO] Ipod model: Video (aka 5th Generation) ("winpod")

Listing firmware partition contents: 

Image 1:
    Main firmware - 7500800 bytes
Image 2:
    RSRC - 5242880 bytes
Image 3:
    AUPD - 1074176 bytes
echo -e "p\nq"|fdisk /dev/sdb
 
The number of cylinders for this disk is set to 3648.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): 
Disk /dev/sdb: 30.0 GB, 30005821440 bytes
255 heads, 63 sectors/track, 3648 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes 

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          10       80293+   0  Empty
/dev/sdb2              11        3648    29222235    b  W95 FAT32

Using the original Apple firmware with a Linux computer

Music

Audio formats supported: AAC (16 to 320 Kbps), Protected AAC (from iTunes Store), MP3 (16 to 320 Kbps), MP3 VBR, Audible (formats 2, 3 and 4), Apple Lossless, AIFF and WAV

gnupod-tools

gnupod-tools - command-line tools for the iPod family of portable music players

Works apparently and sync with iTunesDB

mount /dev/sdb2 /mnt/ipod
gnupod_INIT -m /mnt/ipod
gnupod_addsong -m /mnt/ipod  .../music/*mp3
mktunes -m /mnt/ipod
umount /dev/sdb2
eject /dev/sdb2

But seems to import blindly video files too, which aren't playable at the end, and both music and video files appear both in the Music and Video entries of the ipod, which is wrong. Gtkpod seems a better alternative.

Gtkpod

  • gtkpod - manage songs and playlists on an Apple iPod

Seems to work, didn't try much.
See below to add video support.

Contacts

Export from LDAP server

  • Go to phpLDAPadmin interface
  • export
    • BaseDN: dc=addressbook,dc=yobi,dc=be
    • Search scope: sub
    • Search Filter: (objectClass=person)
    • Save as file
    • Export format: vCard 2.1
recode UTF8..latin1 addressbook.vcf
csplit --prefix=contact --suffix-format="%04d.vcf" --elide-empty-files --silent addressbook.vcf /BEGIN:VCARD/ {*}
cp contact*.vcf /mnt/ipod/Contacts/

Export from Mozilla

Photos

gpixpod

gpixpod - Organize photos on your iPod, freely!
  • Not on Debian but Ubuntu...
  • deb can be downloaded here and installed on Debian sid
  • Works well, but I had to force the iPod model in Edit->Preferences

Others

tripod - iPod photo uploader
  • I get KDE crashes :-(
kipi-plugins - contains IpodExport: Export images to an ipod device
  • Same code as for tripod, didn't try

Should become possible with gtkpod in the future

Videos

According to the specs, iPod can play the following video formats:

  • H.264 video
    • up to 1.5 Mbps
    • 640 by 480 pixels
    • 30 frames per sec.
    • Baseline Low-Complexity Profile with AAC-LC audio up to 160 Kbps, 48 kHz, stereo audio
    • in .m4v, .mp4, and .mov file formats
  • H.264 video
    • up to 768 Kbps
    • 320 by 240 pixels
    • 30 frames per sec.
    • Baseline Profile up to Level 1.3 with AAC-LC audio up to 160 Kbps, 48 kHz, stereo audio
    • in .m4v, .mp4, and .mov file formats
  • MPEG-4 video
    • up to 2.5 Mbps
    • 640 by 480 pixels
    • 30 frames per sec.
    • Simple Profile with AAC-LC audio up to 160 Kbps, 48 kHz, stereo audio
    • in .m4v, .mp4, and .mov file formats

Encoding: ffmpeg

  • {fr} see this page, didn't try
  • see this page, didn't try
  • see this page, didn't try
  • see this page, didn't try
  • GUI for ffmpeg: vive!
    • Requires several packages for compilation: I had to add vobcopy, libgnomevfs2-dev, libvte-dev, libdvdcss2-dev (from Marillat), libdvdread-dev, libdvdnav-dev, libavformat-dev and their dependancies, see README
    • I had to force ./configure --prefix=/usr/local to send it to /usr/local/ at installation
    • Copy examples/preferences to ~/.vive/preferences
    • By default it seems it will encode the videos as following:
ffmpeg -y -f mp4 -b 700k -s 320x320 -ac 2 -ab 192k -comment "Encoded by Vive" -i "/path/to/video.file" "/path/to/video_output.mp4"

Import: gtkpod

We can recompile gtkpod and add the video support:

# apt-get build-dep gtkpod
# apt-get install libmp4v2-dev
$ apt-get source gtkpod
$ cd gtkpod-0.99.10
$ dpkg-buildpackage -rfakeroot -uc -b
$ cd ..
# dpkg -i gtkpod_0.99.10-2_i386.deb

Now to import, simply mount the ipod, launch gtkpod, load ipod, add file -> select the video file, save changes, quit gtkpod, umount ipod, eject ipod, enjoy!

Calendar

  • {fr} see this page, didn't try
  • A file .ics (iCalendar) or .vcs (vCard) in /Calendar
  • Apparently the todo list should also come by that way...

Notes

  • {fr} see this page, didn't try
  • The Notes folder on your iPod can hold very large text files, but iPod can only display up to 1000 files, the first 4 kilobytes (KB) of text, or about 4096 characters will be shown for each note. When you view a long note on your iPod, it will be truncated (automatically shortened). To see all of the contents of a long note, just break it up into files that are smaller than 4 KB, then copy them to the Notes folder on your iPod.
  • You can write notes in UTF-8 also, cf this article, you've to include to the note the following snippet:
<?xml encoding="UTF8"?>

Games

There are some games available but I still didn't find anything free or opensource.
There are hacked games to be played with a hacked firmware 1.2.1 for those who want to seek for such things

Lyrics

No idea

Audiobooks

No idea

Tests ipodlinux

  • I repartitioned the iPod as explained here
    but the svn server seemed to be down so I could not try further.

Tests Rockbox

Installation

Usage

  • Rockbox will scan the whole partition and find files in itunes DB too, you can update the DB through the settings->general menu
  • It can play mp3, m4a,... files
  • It can show pictures including zoom into high resolution
  • Seems it cannot see video files, at least those in the iTunes DB

Tests loader2

cf http://www.ipodlinux.org/Loader_2 it is possible to get both rockbox and ipodlinux together... still with access to the Apple firmware.
Very easy to install:

wget http://www.ipodlinux.org/images/b/b3/Ipodloader2-2.5.tar.gz
tar xzf Ipodloader2-2.5.tar.gz
./ipodpatcher /dev/sdb -ab loader.bin

Test ipodlinux 2

Installation

Ok following the instructions for 5.5G was much easier!

  • Install loader 2, cf previous point
wget http://de.dataghost.com/ipl/exp20070305/kernel-dg-all-iPods-improved-20070305.bin
wget http://www.josh.sys-techs.com/ipl/ipod_fs_220606.tar.gz
mount /dev/sdb3 /mnt/ipod
cd /mnt/ipod
tar xzvf path/to/ipod_fs_220606.tar.gz 
cd -
sudo cp kernel-dg-all-iPods-improved-20070305.bin /mnt/ipod/linux.bin
wget http://josh.sys-techs.com/svnbuilds/podzilla2-1414.gz
wget http://josh.sys-techs.com/svnbuilds/appearance-1262.zip
wget http://josh.sys-techs.com/svnbuilds/pzmodules-1414.zip
mount /dev/sdb3 /mnt/ipod
install -m 755 podzilla2-1414 /mnt/ipod/bin/
mkdir -p /mnt/ipod/usr/lib /mnt/ipod/usr/share
( cd /mnt/ipod/usr/lib; unzip $OLDPWD/pzmodules-NNN.zip )
( cd /mnt/ipod/usr/share; unzip $OLDPWD/appearance-NNN.zip )
ln -s /bin/podzilla2-1414 /mnt/ipod/bin/podzilla

Usage

I get an error about unable to connect to mpd at boot time and I cannot play music

Tips

  • Disconnect (from http://home.c-otto.de/ipod/) :
    With Linux you normally get the "Don't disconnect" message whenever you insert the cable/dock. With the "eject" tool (for ejecting CD drives) you can disconnect the ipod from your computer but still have the power connection to recharge the batteries.
  • Reset (from http://www.apple.com/support/ipod/five_rs/)
    1. Toggle the Hold switch on and off. (Slide it to Hold, then turn it off again.)
    2. Press and hold the Menu and Select buttons until the Apple logo appears, about 6 to 10 seconds. You may need to repeat this step.
  • Disk Mode
    First apply reset as above then when the Apple logo is shown, hold select+play buttons several seconds.
    To exit disk mode it seems you've to reset again.
  • Backup macpod
dd if=/dev/sdb of=mbr-video30gb-mac.bin bs=512 count=1
dd if=/dev/sdb1 of=part1-firmware.bin
dd if=/dev/sdb2 of=part2.bin
  • Backup winpod
dd if=/dev/sdb of=mbr-video30gb-win.bin bs=512 count=1
dd if=/dev/sdb1 of=part1.bin
  • Manual firmware flashing
    Enter Disk Mode
dd if=firmware.bin of=/dev/sdb1