iPod touch - another question

Reading the gtkpod write up, it states that a ‘kernel module’ needs to be installed.

2.6Connecting An iPod To Your System
In order for gtkpod to work, your system must be able to “talk to” your iPod. This is done by loading the appropriate kernel module. The appropriate kernel module is a program that runs in the background of your system listening for incoming Firewire or USB connections.

Regarding iPods, what is an appropriate kernel module that supports loading of an iPod?
It is likely already there, but I though I would ask in case one is not.

I have other threads about trying to get my iPod Touch 4th gen to transfer music. Still working on it, but no luck thus far.

The iPod won’t mount. ‘fdisk’ does not recognize it is there. So, more investigation.
darn! I hate opening Win10, it always wants to do an hour or more of updates.

Hi
That would either be the usb (2,3,3.1) or firewire driver associated with your computer…

Run the following command when the device is plugged in;


lsusb -t

You can also observer the kernel messaging in a terminal window

dmesg --follow

then connect the ipod device and observe/capture the output. Post here if you need further analysis.

Similarly, for udev monitor in a terminal window with…

udevadm monitor

That output might help others to advise further.

@linux-ipxi:~> lsusb -t
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/4p, 480M
    |__ Port 4: Dev 3, If 0, Class=Printer, Driver=usblp, 480M
    |__ Port 4: Dev 3, If 1, Class=Vendor Specific Class, Driver=, 480M
    |__ Port 4: Dev 3, If 2, Class=Vendor Specific Class, Driver=, 480M
    |__ Port 4: Dev 3, If 3, Class=Vendor Specific Class, Driver=, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/4p, 480M
    |__ Port 4: Dev 4, If 0, Class=Imaging, Driver=, 480M
    |__ Port 4: Dev 4, If 1, Class=Vendor Specific Class, Driver=usbfs, 480M
    |__ Port 4: Dev 4, If 2, Class=Vendor Specific Class, Driver=, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M

And without the -t option:

@linux-ipxi:~> lsusb
Bus 003 Device 003: ID 03f0:bf2a Hewlett-Packard  
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 046d:c018 Logitech, Inc. Optical Wheel Mouse
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
**Bus 002 Device 004: ID 05ac:129e Apple, Inc. iPod Touch 4.Gen <<<<<<< It is there**
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 413c:2105 Dell Computer Corp. Model L100 Keyboard
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Since it is a Touch model, the ipod is not likely not Vfat, and probably not HFS, but a later versions of Apples hierarchical file system(s). I need to look at it on windows to see what it is is formatted to and hoepfully not fubar it completely.

I will plug it into one of the back USB ports to see if that makes a difference, doubt it will.

From what I’ve read online, these devices don’t present as USB storage devices (this would quickly be confirmed by observing the kernel and udev output). Anyway, the following Arch wiki page might be helpful to you Bill.

https://wiki.archlinux.org/index.php/IOS#Device_specific

It uses ifuse (a FUSE file system) to access the device.

This is what came up for my iPod

 3007.672230] usb 2-3: new high-speed USB device number 6 using ehci-pci 3007.832266] usb 2-3: New USB device found, idVendor=05ac, idProduct=129e
 3007.832270] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
 3007.832273] usb 2-3: Product: iPod
 3007.832275] usb 2-3: Manufacturer: Apple Inc.
 3007.832278] usb 2-3: SerialNumber: 4b578c10a004bab07a70a0ba861e69fe05b170d5

If nothing else it got me the 40 digit number for the iPod Touch, that may be usable.

Similarly, for udev monitor in a terminal window with…

udevadm monitor

And this for the udev command

@linux-ipxi:~> udevadm monitormonitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent


KERNEL[3172.587034] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-3 (usb)
KERNEL[3172.589991] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.0 (usb)
KERNEL[3172.590592] remove   /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.0 (usb)
UDEV  [3172.673242] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-3 (usb)
UDEV  [3172.690059] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.0 (usb)
UDEV  [3172.697041] remove   /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.0 (usb)
KERNEL[3172.777527] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:4.0 (usb)
UDEV  [3172.782296] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:4.0 (usb)
KERNEL[3172.791542] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:4.1 (usb)
UDEV  [3172.791610] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:4.2 (usb)
KERNEL[3172.791656] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:4.2 (usb)
UDEV  [3172.797729] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:4.1 (usb

I have been to that page several times. I already had ifuse installed, and if I do the mount command nothing shows up a file manager left navigation area.
It should if I have followed that article correctly.
I wouldn’t mind having to do music transfers using sudo and in a terminal window if necessary,
But IMO, it still should show up in gtkpod.

The mountpoint field is where you want to have it mounted.
And you are done! You should be able to point your syncing software of choice to the mount point and be able to transfer files.

I am beginning to think I have not gotten everything on my system that needs to be there yet!

After installing ifuse, for instance, you should see your iPhone appear in the left navigation of Gnome Files and other supporting file managers.

Some ideas…

  1. Is usbmuxd running?
ps -ef | grep usbmuxd

AFAIU, that is required for software such as gtkpod to use (via the libusbmuxd library) to communicate with iPod Touch devices.

  1. If so, did you try something like the following?
mkdir ~/ipod
ifuse ~/ipod

Unfortunately, I don’t have an iPod to play with so of course I can’t test this and I get the following as expected…

dean@linux-4k1z:~> ifuse ~/ipod
No device found, is it connected?
If it is make sure that your user has permissions to access the raw usb device.
If you're still having issues try unplugging the device and reconnecting it.

  1. Which iOS version is in use? (That might influence on your chance of success here).

Yes it is

@linux-ipxi:~> ps -ef | grep usbmuxd
usbmux    2203     1  0 15:15 ?        00:00:01 /usr/sbin/**usbmuxd** --user usbmux --systemd
bill      3718  3703  0 15:42 pts/0    00:00:00 grep --color=auto **usbmuxd**

Yes mount directory is in place, and I tried numerous times to get it ‘recognized’.

dean@linux-4k1z:~> ifuse ~/
No device found, is it connected?
If it is make sure that your user has permissions to access the raw usb device.
If you're still having issues try unplugging the device and reconnecting it.

HA! about worn out the USB cable…lol

It is an old iOS(6.1.6) and can’t be updated due to the older 4th Gen iPod Touch.

See next post

This is what finally got it mounted:
**
[size=2]

@linux-ipxi:~> ifuse ~/ipod -u {40 digit UUID}

[/size]That 40 digit number found by a command line**

dmesg --follow

@malcomlewis gave is what it needed.
Still not completely happy with it, BUT ! can get it mounted.

Now to learn to use gtkpod and whatever app to transfer to and from.

THANKS AGAIN deano_ferarri and malcomlewis

Well done Bill. So, it seems the UUID is needed explicitly here.

Yes, I am assuming (we know what that means don’t we?) it does.
Unless I am missing something in all the articles I have read that nothing in them got it mounted for me.

When I look back at all the forum posts, article reading, trying, adding apps and lib’s, months of disappointment, frustration, and knob scratchin’
Was all because of a 40 digit identifier that I probably ran across in my travels to this point and either didn’t know I needed it or I forgot it!

I don’t know if that UUID(it is not a /dev/xxx/ AFAIK) can be added to fstab, and even if, what good it will do because the iPod is not always connected.(More reading)
For now, I can live with mounting and unmounting it in a terminal.

I can post the 40 digit number fmy iPod Touch 4th Gen if it will do someone some good, BUT, it is not good for newer iPod’s.
Besides it can be found in

dmesg --follow

started before plugging the unit in.

Again, THANKS! now to learn how to use GTKpod.

Better than the dmesg line command is this:

sudo lsusb -v | grep -i iSerial

which outputs similar to this:

**iSerial**                 3 XxxxXxxx234
can't get debug descriptor: Resource temporarily unavailable
  **iSerial**                 3 THE 40 DIGIT CODE 

Yes, that might be an option (with systemd.automount approach perhaps).

I can post the 40 digit number fmy iPod Touch 4th Gen if it will do someone some good,

You already did. :slight_smile: …but it’s unique to your device so not relevant to anyone else.

Again, THANKS! now to learn how to use GTKpod.

Good luck with that Bill. Amarok may be another option here.

Also, if you have ‘imobiledevice-tools’ installed, there are a number of useful utilities provided that might have helped with identifying and paring the device:

idevice_id

idevice_id --list

ideviceinfo

idevicepair

~> idevicepair --help

idevicepair - Manage host pairings with devices and usbmuxd.

Usage: idevicepair [OPTIONS] COMMAND

 Where COMMAND is one of:
  systembuid   print the system buid of the usbmuxd host
  hostid       print the host id for target device
  pair         pair device with this host
  validate     validate if device is paired with this host
  unpair       unpair device with this host
  list         list devices paired with this host

 The following OPTIONS are accepted:
  -d, --debug      enable communication debugging
  -u, --udid UDID  target specific device by its 40-digit device UDID
  -h, --help       prints usage information

Homepage: <http://libimobiledevice.org>
Segmentation fault (core dumped)

A nice blog aimed at iPhone 6 connectivity but likely still relevant for IPod devices…

Aw,jeez! My wife asked me to transfer music to her iPod Classic. Absolutely nothing to do but plug it in, make sure it is mounted, open Amarok and copy her songs to the iPod? I hate Apple! Maybe more than Win 10!

Anyway, thanks for the information. Every bit has helped. The blog you pointed me too is very interesting. I never thought about doing a ‘pair’.

Did I say, I HATE APPLE?

At least your Linux journey is an interesting and positive one Bill! Enjoy the freedom and learning! :slight_smile:

Apparantly according to the gtkpod website and manual I have to ‘jailbreak’ my iPod Touch to use GTKpod. It has something to do with libgpod.
Still looking at Amarok to see if is the same, but I suspect that it too needs the jailbreak.
Had to go back to windows and clean out something that got added to what iTunes labels cagatory ‘Other’, it grew from less than 500MB to over 3.2GB after trying to use gtkpod to add songs. I still don’t know what is was…
Back to investigating.