FS#6549 - Work-in-progress support for iPod 5.5G

Attached to Project: Rockbox
Opened by Linus Nielsen Feltzing (linusnielsen) - Thursday, 18 January 2007, 22:06 GMT
Last edited by Jens Arnold (amiconn) - Wednesday, 23 May 2007, 18:00 GMT
Task Type Patches
Category Drivers
Status Closed
Assigned To Linus Nielsen Feltzing (linusnielsen)
Operating System iPod 5G
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Here is the first patch for the ATA driver and the disk partition code for the iPod 5.5G 80Gbyte version. The ATA driver can find out the logical and physical sector size, and disk_init can find the partition correctly. It can not yet mount the filesystem.

Please review and see if you can find any flaws in the code before I commit it.

It should be compatible with all other platforms. I have tried it on iPod 5.5G 80Gb and iPod 5G 60Gb. I would like it tested on as many platforms as possible.

When this is reviewed and approved, I will move on with the (much more difficult) FAT driver.
This task depends upon

Closed by  Jens Arnold (amiconn)
Wednesday, 23 May 2007, 18:00 GMT
Reason for closing:  Accepted
Additional comments about closing:  Further updated version commited to SVN.
Comment by Linus Nielsen Feltzing (linusnielsen) - Thursday, 18 January 2007, 23:09 GMT
Here's a new version which handles the missing udelay() on non-portalplayer platforms.
Comment by Paul Collins (pjdc) - Saturday, 20 January 2007, 08:49 GMT
I built rockbox with ipod55g-2.patch applied for my H120 and everything seems to work fine.
Comment by Linus Nielsen Feltzing (linusnielsen) - Saturday, 20 January 2007, 09:57 GMT
Thanks, Paul!
Comment by Chris (decayed.cell) - Tuesday, 23 January 2007, 20:40 GMT
FAT driver - does that mean DMA or is that something else
Comment by Linus Nielsen Feltzing (linusnielsen) - Tuesday, 23 January 2007, 21:59 GMT
FAT == File Allocation Table. It is the file system.
Comment by Chris (decayed.cell) - Wednesday, 24 January 2007, 06:40 GMT
So, the 5.5Gs aren't using FAT at the moment?
Comment by Chris (decayed.cell) - Wednesday, 24 January 2007, 07:15 GMT
Hmm no my above comment didn't make sense xD. Nevermind, got it patched, compiled for 5.5G 30GB Video. What am I looking for, or what should I be testing?
Comment by Linus Nielsen Feltzing (linusnielsen) - Wednesday, 24 January 2007, 07:23 GMT
Just use it and see if it still works as before. The point is to make sure i didn't break anything with this change in the ATA driver.
Comment by Chris (decayed.cell) - Wednesday, 24 January 2007, 07:26 GMT
Seems to be okay
Comment by Chris (decayed.cell) - Wednesday, 24 January 2007, 20:37 GMT
I don't know if this is related, but every now and then after adding music and updating the database, I'll play maybe 20 minutes of songs, and when I go to play the next one it freezes - not the whole of rockbox, but just the playback stops. If I try to play another song, sometimes it says file not found, sometimes playback just freezes again. To fix this, I have to restart the iPod. Just noting this because it happened again last night ><
Comment by Linus Nielsen Feltzing (linusnielsen) - Thursday, 25 January 2007, 07:42 GMT
I don't think it's related to my ATA fixes.
Comment by Chris (decayed.cell) - Saturday, 27 January 2007, 03:26 GMT
Well after testing it for a few days on my 5.5G 30GB iPod it appears to be working without problems. Only hiccup I ran into was when the bootloader booted and then froze when it said Rockbox Loaded (final line) - this only happened once, and I don't know if it is related to your ATA fixes. Hopefully will be testing on a 2G and 4G Color iPod soon
Comment by Jens Arnold (amiconn) - Monday, 21 May 2007, 00:16 GMT
Here is a working implementation for those eager to test. You need to build and install both rockbox and a custom bootloader with this patch applied.

The patch is already confirmed working and stress tested on iPod Video G5.5 80GB. It's also confirmed to not break any archos, any coldfire target, or the ipod mini. Most of the code is simply not used on any other target than iPod Video.

The patch needs to be tested on iPod Video other than 80GB (both G5 and G5.5), in order to see whether the code properly adapts to those more standard hard drives (no large physical sectors).
Comment by Jens Arnold (amiconn) - Monday, 21 May 2007, 06:14 GMT
Updated patch:

- caching layer in ata.c grouped together
- multivolume builds for iPod video should work again
- invalidate the cache in ata_init(). Cache content cannot be relied upon e.g. after returning from USB (non-issue on ipods)
Comment by Lini Ini Mini (lini) - Tuesday, 22 May 2007, 06:32 GMT
applied the patch to a 5G 30GB ipod. No problems so far playing mostly mp3s (with cuesheets). I will install the same bootloader/firmware on the 5.5G 80GB later today.
Comment by Dieter (dip) - Tuesday, 22 May 2007, 06:42 GMT
Installed a patched version of firmware and bootloader on the 5.5G 80GB and it works like a charm. Thanks a lot for this great patch!
Comment by Douglas Valentine (Dwyloc) - Tuesday, 22 May 2007, 11:09 GMT
I have installed the patched version of the bootloader + rockbox on my 5.5G 80GB iPod and it works grate.

I will also test in on my iPod nano tonight when I get home from work.