Wanting to recover Ipod touch 4th gen on Linux box. Possible?


Git1

Very Active Member
Joined
Dec 23, 2020
Messages
195
G'day all,

No I'm not an Apple fan-boy (in fact since apple locked me out of my own iTunes account years ago I hate them with a passion), but I have a 64gb 4th gen touch that is chock full of awesome music that I would love to rescue and transfer to my Ubuntu 'puter. Problem is, these days it is stuck in 'recovery mode' (the 'plugin to iTunes' screen). Needless to say I can't do that as iTunes doesn't even exist any more. When I plug it in now, Ubuntu doesn't recognise it. Before it entered recovery mode I could easily browse it's files and download pictures from it.

Does any one have any tricks I could try to find it via the terminal?
 
No idea. Not even sure what the difference between an iPod and iPod touch is. Maybe take a look at Rockbox, but I have no idea if it works with your model, or if playing with it may lose data on the device... Maybe somethign to play with just before throwing your device to a recycle depot.
 
And use a jailbreak app

That's for the suggestion. I've looked into that, but from what I can tell the jailbreaking process includes wiping the memory.

No idea. Not even sure what the difference between an iPod and iPod touch is. Maybe take a look at Rockbox, but I have no idea if it works with your model, or if playing with it may lose data on the device... Maybe somethign to play with just before throwing your device to a recycle depot.

Thanks for that too. I've tried a few similar programs but they seem to have no ability to deal with recovery mode, and as the OS isn't detecting the device, neither are the programs.

What I'm hoping is there's a way to manually inspect the USB ports and look for stuff.
 
Last edited:
So lsusb shows this:

Bus 003 Device 034: ID 05ac:1281 Apple, Inc. Apple Mobile Device

So the OS is aware of it, it's just not letting it show as a directory I can access in the GUI.
 
I get this in dmesg:

Code:
[21936.257424] usb 3-5: new high-speed USB device number 45 using xhci_hcd
[21936.406762] usb 3-5: New USB device found, idVendor=05ac, idProduct=1281, bcdDevice= 0.00
[21936.406766] usb 3-5: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[21936.406768] usb 3-5: Product: Apple Mobile Device (Recovery Mode)
[21936.406769] usb 3-5: Manufacturer: Apple Inc.
[21936.406770] usb 3-5: SerialNumber: CPID:8930 CPRV:20 CPFM:03 SCEP:02 BDID:08 ECID:000003F17E084DCF IBFL:03 SRNM:[C3LDJP7ADCPC]

So, I think this must be it here:

Code:
~$ ls /dev/bus/usb/003
001  003  004  005  006  033

but when I try this:

Code:
sudo mount /dev/bus/usb/003/005 /home/user/Desktop/

i get this:

Code:
mount: /home/user/Desktop/: mount point does not exist.

I also tried this which I think makes more sense:

Code:
~$ lsusb
Bus 001 Device 002: ID 8087:8000 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 8087:8008 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 006: ID 045e:0750 Microsoft Corp. Wired Keyboard 600
Bus 003 Device 005: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer
Bus 003 Device 048: ID 05ac:1281 Apple, Inc. Apple Mobile Device [Recovery Mode]
Bus 003 Device 004: ID 045e:028e Microsoft Corp. Xbox360 Controller
Bus 003 Device 003: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 003 Device 047: ID 1782:5d20 Spreadtrum Communications Inc. Spreadtrum Phone
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
~$ ls /dev/bus/usb/003
001  003  004  005  006  047  048
~$ sudo mount /dev/bus/usb/003/048 /home/user/Desktop/
mount: /home/user/Desktop/: mount point does not exist.

It is not listed in lsblk, and it sounds like it has to be a block device to be mounted. I found this article which says a file can be made a block device by assigning it to a loop back device, but the example involves formating a new file. Obviously I don't want to do that as it should already be formated as a file system.
 
Last edited:
Code:
mount: /home/user/Desktop/: mount point does not exist.
From what I understand this means /home/user/Desktop doesn't exist (or root can't find it???)
The error message says nothing about the device attempted to mount. "mount point" referers on where to put the access to the contents of the device. One typically tries /mnt and fancy desktop systems set up mount point directories under /media/*

~$ sudo mount /dev/bus/usb/003/048 /home/user/Desktop/
mount: /home/user/Desktop/: mount point does not exist.[/CODE]
again
it sounds like it has to be a block device to be mounted.
I think so, yes.
I found this article which says a file can be made a block device by assigning it to a loop back device, but the example involves formating a new file. Obviously I don't want to do that as it should already be formated as a file system.
No, I don't think you want to do anything like this.
You need to mount a block device. But the block device will only appear (though udev, normally) when the device connected to USB claims to have USB Mass Storage functions. Then the udev will create the device file in /dev/sd*
(those device files are just directory entries that refer to kernel structures and are used as an API and permission check point for operating with the device, they represent the device, but have no contents, the
article you link talks about normal data files, which have a content corresponding to the byte pattern that would be stored in a real storage device, but it is still a data file, not device files, and the kernel needs different operations to handle them than to control a real storage device)
and the user or the desktop system can attempt to mount the device represented by /dev/sd* or explore its partition table (each partition could be a different device file /dev/sd*)

I think you first need to learn what USB functions your iPod is exporting in its current state. Maybe try
Bash:
lsusb -v -d 05ac:1281
If none is USB mass storage then you have to change the functions it exports. I don't know if that can be done with some protocol using the currently exported functions, or by manipulating the iPod controls in some way.
And I don't know if attempting this can clear the contents stored on the iPod.
I don't even know if the contents stored on the iPod are in clear text or ciphered with some key that the device has to negotiate with Apple software or services to be able to transfer or reproduce each time it reads them. This would be DRM shit that I would suspect Apple of using.

I don't know how dangerous this can be to your iPod contents, but this Rockbox page page says (for which model?):
  • Reboot your iPod by holding the MENU (top) and SELECT (middle) buttons for around 5 seconds.
  • Whilst the iPod is rebooting, hold SELECT and PLAY together to enter disk mode.
I don't know. Maybe buy a better music player next time. Pity it doesn't seem to have FM radio tuner.
 
Pity it doesn't seem to have FM radio tuner.
Not sure about this specific model but I remember some of the iPod's having hardware support for FM but still not supporting it in software.
I assume they didn't want to have free content on the iPod or didn't want to have the poor radio experience on their devices.
While the use of the device is nice I really dislike the dependency on iTunes and the poor support for non-MacOS OSes.
 
I'm just bluntly hijacking a thread on a DRM encumbered device with a link to Defective By Design campaign against DRM.
8th December is the International Day Against DRM and this year it focuses on public libraries suffering periodic quotes to pay for continuing to be able to lend digital works, instead of owning their books as they used to.
 
For the older Ipod Nano, i dit need a special Apple Radio Remote, the newer modells, i think this Clip Touch Nano and the latest Nano got the Tuner Build In..
Allthough the FM Radio is quite limited, the Touch ditnt got one, but i was back then quite happy whit an Internet Radio App..

But well, the Ipod Touch dosnt make much sense at all as you can use every phone as an MP3 Player, and you have even the Apple Music App for Android Devices..

I have discovered a few weeks ago that my Mp3 Walkman is still working fine its even got this funny option to play the music at faster speed ..

This dosnt help whit the Ipod Musik recovery though..
But i can remember there where some small Software back then that let you copy Musik from Ipod Devices to your Computer, i dont remember the name though..
 
More offtopic: iPod Touch used the Broadcom BCM4329 which featured an FM receiver and transmitter apparently and Wifi-N (which also wasn't used I think).
 

Attachments

  • BCM4329-Broadcom.pdf
    1.5 MB · Views: 60
You can try libimobiledevice and ifuse, but the lock might prevent this from working.

Thanks mate. I tried ifuse, but it couldn't mount it either. I'll look at Pyrat's advice on the mount point though and check it again. 'libimobiledevice' this looks interesting, I'll check it out.
Post automatically merged:


From what I understand this means /home/user/Desktop doesn't exist (or root can't find it???)
The error message says nothing about the device attempted to mount. "mount point" referers on where to put the access to the contents of the device. One typically tries /mnt and fancy desktop systems set up mount point directories under /media/*


again

I think so, yes.

No, I don't think you want to do anything like this.
You need to mount a block device. But the block device will only appear (though udev, normally) when the device connected to USB claims to have USB Mass Storage functions. Then the udev will create the device file in /dev/sd*
(those device files are just directory entries that refer to kernel structures and are used as an API and permission check point for operating with the device, they represent the device, but have no contents, the
article you link talks about normal data files, which have a content corresponding to the byte pattern that would be stored in a real storage device, but it is still a data file, not device files, and the kernel needs different operations to handle them than to control a real storage device)
and the user or the desktop system can attempt to mount the device represented by /dev/sd* or explore its partition table (each partition could be a different device file /dev/sd*)

I think you first need to learn what USB functions your iPod is exporting in its current state. Maybe try
Bash:
lsusb -v -d 05ac:1281
If none is USB mass storage then you have to change the functions it exports. I don't know if that can be done with some protocol using the currently exported functions, or by manipulating the iPod controls in some way.
And I don't know if attempting this can clear the contents stored on the iPod.
I don't even know if the contents stored on the iPod are in clear text or ciphered with some key that the device has to negotiate with Apple software or services to be able to transfer or reproduce each time it reads them. This would be DRM shit that I would suspect Apple of using.

I don't know how dangerous this can be to your iPod contents, but this Rockbox page page says (for which model?):

I don't know. Maybe buy a better music player next time. Pity it doesn't seem to have FM radio tuner.

Thanks mate, a lot to work through there! Unfortunately my internet was down all day and it's too late to try it now. I work through it over the next few days and let you know how I go.
 
Last edited:
I think you are doing this the hard way :). Apple don't like people copying media off their devices. Remember back in the day people used to create an additional standard partition to put copies of the unobfuscated mp3s to ease sharing... iPods stopped being (easily) mountable shortly thereafter.

There was a script I used once (edit: ddrescue) for media recovery that I found quite clever. It would scan raw block devices for various known file types so was file-system agnostic. Pretty cool. Works great if you're not fragmented. You might have better luck extracting the raw fs image on a mac then extracting the files on linux.
 
Last edited:
Back
Top