Yet Another iPod Thread

Sorry about that, but I can't seem to get my iPod to mount. Just formatted it on my Mac with FAT-32, and I can interact with it normally on the Mac. Plug it into my system running FreeBSD 8.3:

Code:
Aug 23 15:45:16  root: Unknown USB device: vendor 0x05ac product 0x1261 bus uhub2
Aug 23 15:45:16  kernel: ugen1.3: <Apple Inc.> at usbus1
Aug 23 15:45:16  kernel: umass0: <Apple Inc. iPod, class 0/0, rev 2.00/0.01, addr 3> on usbus1
Aug 23 15:45:16  kernel: umass0:  SCSI over Bulk-Only; quirks = 0x0000
Aug 23 15:45:17  kernel: umass0:2:0:-1: Attached to scbus2
Aug 23 15:45:18  kernel: da0 at umass-sim0 bus 0 scbus2 target 0 lun 0
Aug 23 15:45:18  kernel: da0: <Apple iPod 1.62> Removable Direct Access SCSI-0 device 
Aug 23 15:45:18  kernel: da0: 40.000MB/s transfers
Aug 23 15:45:18  kernel: da0: 76126MB (19488471 4096 byte sectors: 255H 63S/T 1213C)

Even though 'Disk mode' is enabled on the iPod, nothing but 'da0' is appearing in /dev, and attempting to mount it of course returns 'Invalid argument'.

What kind of magic is the iPod trying to do? What kind of protocol is the iPod requiring for communication? Is it not supported yet for my particular model? One would have hoped that the entire process would just take place over the mass storage band but I guess that would be too easy. I didn't really realize that USB had these multiple types of information transfer until today really, so I'm a bit perplexed.
 
I'm no expert, but I see nothing in your dmesg output to suggest it needs to use something other than mass storage. What is the exact mount command you ran and why do you think returning an invalid argument is an 'of course' situation? My (cheaper) iPod shows up as /dev/da0 and mounts just fine.

Adam
 
Thanks for the responses. My initial mount command was

Code:
mount -t msdosfs /dev/da0 /mnt/ipod

I say 'of course' because I would only expect it to work with something like /dev/da0s1, which does not appear in /dev.
Thus far I have tried mounting it both with iTunes' initialization of the iPod and without, with the same 'Invalid argument' in both cases.

Adding the verbose flag to mount yielded
Code:
mount_msdosfs: /dev/da0: Invalid argument
/dev/ad4s1a on / (ufs, local, fsid c582734e50a2ba28)

Not sure at all what the second line means, as I've never used the -v flag on mount.

EDIT: Also, not sure what '-o large' does, but this option does not exist on my version of mount.
 
Code:
fdisk: could not detect sector size

(Also, sorry for the ignorance re: the large option, didn't realize it was in the mount_msdosfs manual instead of mount)
 
Then run fdisk on the disk device:
[CMD=]$ fdisk /dev/da0[/CMD]

Probably you should try mounting /dev/da0s1:
[CMD=]$ mount_msdosfs /dev/da0s1 /mnt/ipod[/CMD]
Or
[CMD=]$ mount -t msdosfs /dev/da0s1 /mnt/ipod[/CMD]
 
Try to open the device in write mode first, so that the partition layout is scanned:
# :> /dev/da0
Don't worry, that command doesn't write to your device, it's a safe operation.
After that please check, if you have a new device /dev/da0s1 and if so, mount it.
 
Thanks for the continued replies. Unfortunately, fdisk returns the same for "fdisk /dev/da0" as for "fdisk -1 /dev/da0" ('could not detect sector size')

Code:
:> /dev/da0

Does not seem to have an effect on the contents of /dev. However, upon attempting to mount again, I found that it took about a quarter of a second to give me the error message (as opposed to instantly, as it was before)
 
Reformat your device and try again. If cannot mount after reformat, of course try changing to connect with other usb port, please, post your results.
 
If your iPod is old enough to be compatible you may want to try the Rockbox alternative firmware. Trying to get my iPod 4th gen to act as a disk with Apple's firmware was always troublesome. Rockbox will also let you drag-and-drop music into a directory instead of bothering with the proprietary binary iTunes/iPod database file.
 
Sorry for the delay! Still getting the same error. I did examine /dev more closely when connecting the iPod however - upon connecting, a new file called 'usb' appeared (presumably completely normal); subsequently, 'da0' and 'pass1' appeared simultaneously. (I'm not sure what /dev/pass1 is)

Strangely, the other two USB interfaces do nothing but make the iPod's screen light up slightly. I think they usually don't do anything, though; maybe they're USB3.0.
Here are the relevant entries from pciconf -lv, for what it's worth

Code:
ehci0@pci0:0:26:0:      class=0x0c0320 card=0x9089104d chip=0x1c2d8086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    class      = serial bus
    subclass   = USB
ehci1@pci0:0:29:0:      class=0x0c0320 card=0x9089104d chip=0x1c268086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    class      = serial bus
    subclass   = USB
    subclass   = FireWire
none5@pci0:4:0:0:       class=0x0c0330 card=0x9089104d chip=0x01941033 rev=0x04 hdr=0x00
    vendor     = 'NEC Electronics Hong Kong'
    class      = serial bus
    subclass   = USB

Should I break out the 'kernel debugger' or whatever mechanism might help me discover the underlying incongruity here?
By the way the iPod says 'Connected' as soon as I plug it in, which it usually only says while mounted. Perhaps it's confused?

@okeeblow, I suspect that it is indeed a problem with Apple's firmware; however I looked into Rockbox and it seems that my iPod is too new. I'll do some more digging.
 
Just formatted it on my Mac with FAT-32

Do you mean you just straight up formatted the iPod, or did you use iTunes to format the iPod.

I struggled for a while with my iPod and mounting before I realized that when you use iTunes to format the device, it will actually create two partitions, and the partition you're going to mount will show up as da0s1a (or something similar to that).
 
I formatted it using Disk Utility, and tried with and without iTunes' initialization process. I also tried executing the Factory Restore from within iTunes, to no avail.
 
Back
Top