Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Rockbox Ports are now being developed for various digital audio players!

+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Hardware
| | |-+  How to distinguish 32M 5.5G iPod from 64M 5.5G iPod?
« previous next »
  • Print
Pages: [1]

Author Topic: How to distinguish 32M 5.5G iPod from 64M 5.5G iPod?  (Read 5925 times)

Offline Scorpius

  • Member
  • *
  • Posts: 16
How to distinguish 32M 5.5G iPod from 64M 5.5G iPod?
« on: September 17, 2009, 05:04:20 AM »
Hi!

I have 240GB 5.5G iPod video. Original Apple FW works great, no problem with playback. But in rockbox I get either "Undefined instruction" or "Data error" after ~5sec of playback. This is if I install 64M version of rockbox. If I install 32M version, it plays nothing and complains codec not supported... Both build are unofficial 240G builds, and they are working perfectly on other users.

I found however, some strange things:

When using newest ipodpatcher, it says:

Code: [Select]
ipodpatcher -a bootloader_ipodvideo.ipod 
ipodpatcher v3.0 with v3.0 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") - disk device 1
[INFO] Reading partition table from \.\\PhysicalDrive1
[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     468862126    228858.1   W95 FAT32 (0x0b)
[INFO] Ipod model: Video (aka 5th Generation) ("winpod")
[INFO] Checksum OK in bootloader_ipodvideo.ipod
[INFO] Moving images to create room for new firmware...
[INFO] Reading original firmware...
[INFO] Wrote 7609856 bytes to firmware partition
[INFO] Bootloader bootloader_ipodvideo.ipod written to device.

Other poster (who has 240G 5.5gen iPod working with rockbox perfectly) has posted his ipodpatcher output:
Code: [Select]
$ sudo ./ipodpatcher /dev/sdb -a rockbox.ipod 
ipodpatcher v3.0 with v3.0 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] Reading partition table from /dev/sdb
[INFO] Sector size is 2048 bytes
[INFO] Part    Start Sector    End Sector   Size (MB)   Type
[INFO]    0              63         64259       125.4   Empty (0x00)
[INFO]    1           64260     117215530    228811.1   W95 FAT32 (0x0b)
[INFO] Read XML info (9692 bytes)
[INFO] Ipod model: Video (aka 5th Generation) (64MB RAM) ("winpod")
[INFO] Checksum OK in rockbox.ipod
[INFO] Moving images to create room for new firmware...
[INFO] Reading original firmware...
[INFO]  Wrote 8220672 bytes to firmware partition
[INFO] Bootloader rockbox.ipod written to device.

It makes no sense. If sector size is 512 then RAM = (160649-63)/512 = 313.6M = nonsense. Only if sector size would be 2048 then RAM = (160649-63)/2148 = 78.4M = same that ipodpatcher displays. And in latter case sector size 2048 will yeld RAM = (64259-63)/2048 = 31.3M but poster claims that his iPod is 64M version! If sector size would be 512 then RAM = (64259-63)/512 = 125.4M = same that ipodpatcher displays. Did I miss something here or is ipodpatcher calculating/displayin stuff incorrectly?

I am not an expert, so I ask:
- why my sector size is 512 instead of 2048
-why my RAM is only 78.4MB instead of 125.4MB
- why these weird numbers (78.4MB) and (125.4MB) instead of 64MB or 32MB?
- is there any way to distinguish 32M iPod from 64M ?

I ran iPod's own diagnostics (in reboot hold select and rew) and SDRAM test was a pass... can other 5.5G users please post their ipodpatcher output, so I can compare?
« Last Edit: September 17, 2009, 05:17:41 AM by Scorpius »
Logged

Offline AlexP

  • Global Moderator
  • Member
  • *
  • Posts: 3688
  • ex-BigBambi
Re: How to distinguish 32M 5.5G iPod from 64M 5.5G iPod?
« Reply #1 on: September 17, 2009, 05:33:45 AM »
Why does the RAM have to be the same size as the firmware partition?
Logged
H140, F60, S120, e260, c240, Clip, Fuze v2, Connect, MP170, Meizu M3, Nano 1G, Android

Offline cpu98

  • Member
  • *
  • Posts: 22
  • A hidden POWER user. Loves acoustics.
Re: How to distinguish 32M 5.5G iPod from 64M 5.5G iPod?
« Reply #2 on: September 17, 2009, 05:54:44 AM »
MK2431GAH's actually a 4096 bytes/sector drive and
5.5G ipod's controller export any disk as a 2048bytes/sector drive.
5G export it as 512, so your 512 is correct.

What you tried to calculate was a hidden partition size on the disk.
Diag. mode on 64MB display that they have 64MB.
Your one seems 5G with 32MB.

There are many ways to distinguish ram size.
open up the device, or issue a scsi command,
or throw 64MB build and check if it dies, etc... ;D

If you build and use svn ipodpatcher, it will detect ram size.

I think 32MB version was not built properly.
Maybe codecs included in 32MB build are actually for 64MB bin?

edit:typo
« Last Edit: September 17, 2009, 06:04:26 AM by cpu98 »
Logged

Offline AlexP

  • Global Moderator
  • Member
  • *
  • Posts: 3688
  • ex-BigBambi
Re: How to distinguish 32M 5.5G iPod from 64M 5.5G iPod?
« Reply #3 on: September 17, 2009, 06:08:19 AM »
Yes, I suspect that he actually has a 32 mb board, and the 32 MB (30 GB) build wasn't properly installed leading to the codec failures.

Try reinstalling the 32 MB build (all files, not just rockbox.ipod).
Logged
H140, F60, S120, e260, c240, Clip, Fuze v2, Connect, MP170, Meizu M3, Nano 1G, Android

Offline Scorpius

  • Member
  • *
  • Posts: 16
Re: How to distinguish 32M 5.5G iPod from 64M 5.5G iPod?
« Reply #4 on: September 17, 2009, 06:32:22 AM »
Quote from: cpu98 on September 17, 2009, 05:54:44 AM
I think 32MB version was not built properly.
Maybe codecs included in 32MB build are actually for 64MB bin?

edit:typo

Indeed, this makes sense. There was this user who claimed that 64M version did crash always after 5 sec of playback...

but I can make proper 32M version myself, yeh? this (and only this) is what builder of 64M/32M unsupported rockbox claims to have done to code:

Code: [Select]
#define HAVE_LBA48
#define MAX_LOG_SECTOR_SIZE 16384
#define MAX_PHYS_SECTOR_SIZE 4096

So I guess this data is in rockbox.ipod. so all I need is move *some* of 64M .rockbox data into 32M version. but what to move? I have XP and linux, but not installed any compilers so recompiling is a nasty option which can get ugly...

Quote
Yes, I suspect that he actually has a 32 mb board, and the 32 MB (30 GB) build wasn't properly installed leading to the codec failures.

Try reinstalling the 32 MB build (all files, not just rockbox.ipod).
I always reinstall by deleting .rockbox folder and move new .rockbox folder to root.

P.S. these users have also released 2 versions of bootloader-ipodvideo.ipod. One for 32M and other for 64M, theyre seem not identical. I looked into bootloader source and could not find any reason those 3 lines needs to be added there, so why 32M bootloader file is different than 64M ?
« Last Edit: September 17, 2009, 07:00:28 AM by Scorpius »
Logged

Offline cpu98

  • Member
  • *
  • Posts: 22
  • A hidden POWER user. Loves acoustics.
Re: How to distinguish 32M 5.5G iPod from 64M 5.5G iPod?
« Reply #5 on: September 17, 2009, 07:06:28 AM »
I'll build them for testing wait some moment...

edit: omg gcc 4.4.1+binutils 2.19.1's linker produces ridiculous 753MB bin file

You should modify and add below in firmware/export/config-ipodvideo.h
#define HAVE_LBA48
#define MAX_PHYS_SECTOR_SIZE 4096

and build bootloader, binary, and codecs

#define MAX_LOG_SECTOR_SIZE 16384 is not correct.
leave MAX_LOG_SECTOR_SIZE untouched or
comment out original '#define MAX_PHYS_SECTOR_SIZE 2048'
I think commenting that out is right as it is exported as a 512b/s drive.
I'm not sure MAX_LOG_SECTOR_SIZE thing.
Back up before commit.

edit: use cygwin and they are used in disk.c ata.c not in bootloader source.
« Last Edit: September 17, 2009, 10:35:26 AM by cpu98 »
Logged

Offline torne

  • Developer
  • Member
  • *
  • Posts: 994
  • arf arf
Re: How to distinguish 32M 5.5G iPod from 64M 5.5G iPod?
« Reply #6 on: September 17, 2009, 02:47:50 PM »
Quote from: Scorpius on September 17, 2009, 06:32:22 AM
P.S. these users have also released 2 versions of bootloader-ipodvideo.ipod. One for 32M and other for 64M, theyre seem not identical. I looked into bootloader source and could not find any reason those 3 lines needs to be added there, so why 32M bootloader file is different than 64M ?
Those three lines are to support hard drives bigger than 137GB; they are nothing to do with how much RAM the player has. The bootloader has to access the drive as well, so it also needs the hard drive support. The 32/64mb bootloaders are different because they are compiled for the differing amounts of RAM..
Logged
some kind of ARM guy. ipodvideo/gigabeat-s/h120/clipv2. to save time let's assume i know everything.

Offline naz4viper

  • Member
  • *
  • Posts: 3
Re: How to distinguish 32M 5.5G iPod from 64M 5.5G iPod?
« Reply #7 on: April 28, 2011, 03:57:32 PM »
Sorry to bring up this thread again, but i'm also trying to figure out if my 5.5g ipod video board has 32mb or 64mb RAM.  In fact I specifically bought a 64mb board on ebay for more money, but I dont know how to confirm that I do in fact have the extra memory on my board.  can someone please tell me how I can verify this?

BTW, I do not have a development background and a lot of what was said in this thread above I dont really understand how to do.    thanks in advance!
Logged

Offline bluebrother

  • Developer
  • Member
  • *
  • Posts: 3421
  • creature
Re: How to distinguish 32M 5.5G iPod from 64M 5.5G iPod?
« Reply #8 on: April 28, 2011, 04:46:16 PM »
Quote from: naz4viper on April 28, 2011, 03:57:32 PM
Sorry to bring up this thread again, but i'm also trying to figure out if my 5.5g ipod video board has 32mb or 64mb RAM.  In fact I specifically bought a 64mb board on ebay for more money, but I dont know how to confirm that I do in fact have the extra memory on my board.  can someone please tell me how I can verify this?

There should be two ways to check this:

With Rockbox installed go to System / Rockbox Info and check the "Buffer:" line. If it has something less than 32MiB you have a 32MiB board, otherwise 64MiB.

With the Apple firmware running check the partitions on disk with ipodpatcher -l. ipodpatcher queries the Ipod for some additional info (via a SCSI request) in which it returns the memory size. For the 5.5G ipodpatcher should display the amount of RAM directly, if not dump the info into a file (with ipodpatcher -x file.xml), then check its contents. It's an XML file so you can check it with any text editor.
Logged
Rockbox Utility development binaries (updated infrequently) · How to ask questions the smart way · We do not estimate timeframes.

Offline torne

  • Developer
  • Member
  • *
  • Posts: 994
  • arf arf
Re: How to distinguish 32M 5.5G iPod from 64M 5.5G iPod?
« Reply #9 on: April 30, 2011, 08:32:27 AM »
There's also a third way which doesn't need Rockbox at all: just boot the ipod into diagnostic mode by holding select+rewind on poweron, and it will tell you all the hardware details in there in the various menus.
Logged
some kind of ARM guy. ipodvideo/gigabeat-s/h120/clipv2. to save time let's assume i know everything.

  • Print
Pages: [1]
« previous next »
+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Hardware
| | |-+  How to distinguish 32M 5.5G iPod from 64M 5.5G iPod?
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.101 seconds with 15 queries.