[SWLUG] iPod Support

Ian Hill I.A.Hill at cs.cardiff.ac.uk
Fri Feb 4 22:51:26 UTC 2005


Hi,

Well, as this list seems to be becoming a bit of a tech support forum,
perhaps somebody could help me with my ipod? :-)

I am using a stock Mandrake 10.1 system, which for the unfamiliar is
2.6.8. Note first off that I /have/ previously been able to use other
USB storage devices (i.e., memory sticks and conventional MP3 players.)

I plug the ipod into the USB port, and receive the usual information in
the syslog, relating to the SCSI system. The device claims to be bound
to /dev/sda, as you would expect. At ths stage you see dozens of IO
errors. 

Having searched other lists, it seems the 20GB ipod mis-advertises its
size, so something is trying to read past the end of the drive - hence
the IO errors. There is a patch to drivers/usb/storage/unusual_devs.h
which apparently fixes this.

Here starts the fun.

I have added this entry to the unusual_devs.h file, and then attempted
to recompile. All I did was to do a "make menuconfig" and then I loaded
the config from /boot/config, which I understood should be the original
config.

Aside from changing Ext3 from a module to being compiled-in, I made no
other changes.

This compiled and installed fine.

After fixing a trivial error on my part, relating to modules, the system
booted happily.

The problem ('at last', I hear you say), is that when I insert the ipod
I get the following in the syslog:

kernel: usb 4-6: new high speed USB device using address 2
kernel: irq 21: nobody cared!
kernel:  [dump_stack+30/32] dump_stack+0x1e/0x20
kernel:  [<c0107bfe>] dump_stack+0x1e/0x20
kernel:  [__report_bad_irq+43/144] __report_bad_irq+0x2b/0x90
kernel:  [<c01090ab>] __report_bad_irq+0x2b/0x90
kernel:  [note_interrupt+144/176] note_interrupt+0x90/0xb0
kernel:  [<c01091c0>] note_interrupt+0x90/0xb0
kernel:  [do_IRQ+224/256] do_IRQ+0xe0/0x100
kernel:  [<c0109430>] do_IRQ+0xe0/0x100
kernel:  [common_interrupt+24/32] common_interrupt+0x18/0x20
kernel:  [<c010778c>] common_interrupt+0x18/0x20
kernel:  [cpu_idle+45/64] cpu_idle+0x2d/0x40
kernel:  [<c01050ed>] cpu_idle+0x2d/0x40
kernel:  [md_setup_args+1252/5120] start_kernel+0x184/0x1c0
kernel:  [<c0388824>] start_kernel+0x184/0x1c0
kernel:  [L6+0/2] 0xc010019f
kernel:  [<c010019f>] 0xc010019f
kernel: handlers:
kernel: [pg0+274883424/1069604864] (usb_hcd_irq+0x0/0x70 [usbcore])
kernel: [<d0a16360>] (usb_hcd_irq+0x0/0x70 [usbcore])
kernel: [pg0+274883424/1069604864] (usb_hcd_irq+0x0/0x70 [usbcore])
kernel: [<d0a16360>] (usb_hcd_irq+0x0/0x70 [usbcore])
kernel: [pg0+274883424/1069604864] (usb_hcd_irq+0x0/0x70 [usbcore])
kernel: [<d0a16360>] (usb_hcd_irq+0x0/0x70 [usbcore])
kernel: Disabling IRQ #21
kernel: usb 4-6: control timeout on ep0out
kernel: ehci_hcd 0000:00:10.3: Unlink after no-IRQ?  Different ACPI or
APIC settings may help.
kernel: usb 4-6: control timeout on ep0out
kernel: usb 4-6: device not accepting address 2, error -110

The message "Disabling IRQ #21" is also echoed to all consoles.

Does anybody have any suggestions or experience of this sort of thing? 

Suggestions of the form "dump Mandrake, use x" will be ignored as
impractical! (besides, I'm stubborn and don't like not being able to do
something my way ;-) )

Thanks as always,
Ian

-- 
Ian Hill
i.a.hill at cs.cf.ac.uk



More information about the Swlug mailing list