#226 ipod-set-info fails with 1st gen ipod shuffle

open
nobody
libgpod (40)
5
2012-12-18
2010-05-18
Anonymous
No

ipod-set-info never completes when a 1st gen shuffle (512Mb or 1Gb) is connected. This avoids udev from completing actions and the device never gets mounted.

According to the backtrace, the problem get's blocked polling from the return of a command in get_sysinfo_extended.

#0 0x008f4422 in __kernel_vsyscall ()
#1 0x002a1b4b in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0x001d9d20 in ?? () from /lib/libusb-1.0.so.0
#3 0x001da571 in libusb_handle_events_timeout () from /lib/libusb-1.0.so.0
#4 0x001da612 in libusb_handle_events () from /lib/libusb-1.0.so.0
#5 0x001daeed in libusb_control_transfer () from /lib/libusb-1.0.so.0
#6 0x0804cfa6 in send_command (handle=0x87d3fb8, value=2, index=0,
data=0xbff881bc "t\221\370\277p\221\370\277\361\311", <incomplete sequence \372>, len=4096) at /home/kassick/tmp/libgpod-0.7.93/tools/ipod-usb.c:6
#7 0x0804d134 in get_sysinfo_extended (handle=0x87d3fb8)
at /home/kassick/tmp/libgpod-0.7.93/tools/ipod-usb.c:64
#8 0x0804d23b in read_sysinfo_extended_from_usb (bus_number=1,
device_address=14) at /home/kassick/tmp/libgpod-0.7.93/tools/ipod-usb.c:99
#9 0x0804b0be in get_info_from_usb (usb_bus_number=1, usb_device_number=14)
at /home/kassick/tmp/libgpod-0.7.93/tools/generic-callout.c:623
#10 0x0804b0ff in itdb_callout_set_ipod_properties (backend=0x87d3000,
dev=0xbff89a1b "/dev/sdb1", usb_bus_number=1, usb_device_number=14,
fstype=0xbff89e67 "vfat")
at /home/kassick/tmp/libgpod-0.7.93/tools/generic-callout.c:649
#11 0x0804d4c9 in main (argc=4, argv=0xbff89344)
at /home/kassick/tmp/libgpod-0.7.93/tools/udev-backend.c:268

Discussion