I wanted to post my latest attempt at accessing the model number from an ipod.
However, I apologise but I just cannot seem to get it working effectively.
The story so far ...
1. The coding for accessing the firmware partition of an ipod is taken from
libipoddevice, so the lib requires sg3_utils-devel and hal (which in turn
2. Hal and dbus are required due to needing to run the scsi function for
interrogating the firmware partition as root. If another way to run as root
is known then please do tell.
3. Effectively, the libipoddevice method of run the scsi function is to add a
policy file to hal that implements the method. The result of the hal method
is returned. Alas, I only got it working on my ipod once using libipoddevice
and once with libiddevice. I have failed to repeat this feat. Considering no
one has complained on the banshee list then I assume it is my ipod that is
4. Anyway, the failure that occurs is that despite a correct installation, hal
refuses to acknowledge the existence of the scsi method so the dbus method
call fails. This much I have found but cannot get any further.
5. Once the scsi method does work, it writes an extra sysinfo file that
contains the serial number of the ipod. The libipoddevice developers have
decoded the serial number and found a suffix of it is common to certain
models of ipod. Thus, the model number is not extracted from the firmware
partition, only the serial number. Whether this is too much effort for the
retrieval of the model number is open to debate.
If anyone has any time to have a look at this and try out the library on their
ipods, I would appreciate knowing what if anything is going wrong. Of course,
if this seems like too much effort for simply finding the model number then I
Due to size, rather than attached the library is available from this link ->
Any thoughts welcome.