Bug 81774

Summary: 2nd generation iPod mini cannot be mounted over USB
Product: Base System Reporter: toomas.aas
Component: usbAssignee: freebsd-usb (Nobody) <usb>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 5.4-STABLE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
usb_subr.ipod.patch
none
usb_subr.c.diff none

Description toomas.aas 2005-06-01 20:10:01 UTC
My hardware:
i386 machine based on ASUS P3B-F motherboard. USB 2.0 add-in card recognized in dmesg as follows:

usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
usbd_get_string: getting lang failed, using 0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <VIA 83C572 USB controller> port 0xb000-0xb01f irq 9 at device 14.1 on pci0
usb2: <VIA 83C572 USB controller> on uhci2
usb2: USB revision 1.0
usbd_get_string: getting lang failed, using 0
uhub2: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
ehci0: <VIA VT6202 USB 2.0 controller> mem 0xe0800000-0xe08000ff irq 11 at device 14.2 on pci0
usb3: EHCI version 0.95
usb3: companion controllers, 2 ports each: usb1 usb2
usb3: <VIA VT6202 USB 2.0 controller> on ehci0
usb3: USB revision 2.0
uhub3: VIA EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub3: 4 ports with 4 removable, self powered

2nd generation iPod mini (identified in LCD "About" menu as version 1.3)

My kernel is configured to support USB mass storage devices and I have successfully used two different USB flash disks with it. 'options USB_DEBUG' has been added to the kernel and following sysctl options set:
hw.usb.ehci.debug=6
hw.usb.umass.debug=6

When connecting the iPod mini to USB port using the supplied iPod dock connector to USB cable, the umass device entry appears in dmesg, but the entry for da device does not appear. Hence there's nothing to mount.

The same PC, when booted with Knoppix 3.7 CD, can successfully mount the iPod as /dev/sda2.

dmesg output:

ehci_pcd: change=0x04
ehci_pcd_able: on=0
ehci_root_ctrl_start: type=0xa3 request=00
ehci_root_ctrl_start: type=0xa3 request=00
ehci_root_ctrl_start: type=0x23 request=01
ehci_root_ctrl_start: type=0x23 request=03
ehci_root_ctrl_start: reset port 2
ehci after reset, status=0x00001005
ehci port 2 reset, status = 0x00001005
ehci_root_ctrl_start: type=0xa3 request=00
ehci_root_ctrl_start: type=0x23 request=01
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x0d8a4f00<> altnext=0x0d8a4f00<>
status=0x80220d80: toggle=1 bytes=0x22 ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc16e0b00
ehci_idone: ex=0xc16e0b00
ehci_idone: xfer=0xc16e0b00, pipe=0xc1bd7300 ready
ehci_idone: len=34, actlen=34, cerr=3, status=0x8c00
ehci_ctrl_done: length=34
ehci_idone: ex=0xc16e0b00 done
ehci_device_request: type=0x80, request=0x06, wValue=0x0200, wIndex=0x0000 len=9, addr=2, endpt=0
ehci_alloc_sqtd_chain: start len=9
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=9 curlen=9
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4f00<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008c00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x0d8a4ea0<> altnext=0x0d8a4ea0<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x0d8a4f60<> altnext=0x0d8a4f60<>
status=0x80090d80: toggle=1 bytes=0x9 ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc16e0b00
ehci_idone: ex=0xc16e0b00
ehci_idone: xfer=0xc16e0b00, pipe=0xc1bd7300 ready
ehci_idone: len=9, actlen=9, cerr=3, status=0x8c00
ehci_ctrl_done: length=9
ehci_idone: ex=0xc16e0b00 done
ehci_device_request: type=0x80, request=0x06, wValue=0x0200, wIndex=0x0000 len=32, addr=2, endpt=0
ehci_alloc_sqtd_chain: start len=32
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=32 curlen=32
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4f60<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008c00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x0d8a4f00<> altnext=0x0d8a4f00<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x0d8a4ea0<> altnext=0x0d8a4ea0<>
status=0x80200d80: toggle=1 bytes=0x20 ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc16e0b00
ehci_idone: ex=0xc16e0b00
ehci_idone: xfer=0xc16e0b00, pipe=0xc1bd7300 ready
ehci_idone: len=32, actlen=32, cerr=3, status=0x8c00
ehci_ctrl_done: length=32
ehci_idone: ex=0xc16e0b00 done
ehci_device_request: type=0x80, request=0x00, wValue=0x0000, wIndex=0x0000 len=2, addr=2, endpt=0
ehci_alloc_sqtd_chain: start len=2
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=2 curlen=2
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4ea0<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008c00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x0d8a4f60<> altnext=0x0d8a4f60<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x0d8a4f00<> altnext=0x0d8a4f00<>
status=0x80020d80: toggle=1 bytes=0x2 ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc16e0b00
ehci_idone: ex=0xc16e0b00
ehci_idone: xfer=0xc16e0b00, pipe=0xc1bd7300 ready
ehci_idone: len=2, actlen=1, cerr=3, status=0x8c00
usbd_transfer_cb: short transfer 1<2
ehci_ctrl_done: length=1
ehci_idone: ex=0xc16e0b00 done
ehci_device_request: type=0x00, request=0x09, wValue=0x0001, wIndex=0x0000 len=0, addr=2, endpt=0
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4f00<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008c00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x0d8a4f60<> altnext=0x0d8a4f60<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008d80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc16e0b00
ehci_idone: ex=0xc16e0b00
ehci_idone: xfer=0xc16e0b00, pipe=0xc1bd7300 ready
ehci_idone: len=0, actlen=0, cerr=3, status=0x8d00
ehci_ctrl_done: length=0
ehci_idone: ex=0xc16e0b00 done
ehci_device_request: type=0x80, request=0x06, wValue=0x0301, wIndex=0x0409 len=2, addr=2, endpt=0
ehci_alloc_sqtd_chain: start len=2
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=2 curlen=2
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4f60<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008d00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=1 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x0d8a4ea0<> altnext=0x0d8a4ea0<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x0d8a4f00<> altnext=0x0d8a4f00<>
status=0x80020d80: toggle=1 bytes=0x2 ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc16e0b00
ehci_idone: ex=0xc16e0b00
ehci_idone: xfer=0xc16e0b00, pipe=0xc1bd7300 ready
ehci_idone: len=2, actlen=2, cerr=3, status=0x8c00
ehci_ctrl_done: length=2
ehci_idone: ex=0xc16e0b00 done
ehci_device_request: type=0x80, request=0x06, wValue=0x0301, wIndex=0x0409 len=12, addr=2, endpt=0
ehci_alloc_sqtd_chain: start len=12
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=12 curlen=12
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4f00<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008c00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x0d8a4f60<> altnext=0x0d8a4f60<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x0d8a4ea0<> altnext=0x0d8a4ea0<>
status=0x800c0d80: toggle=1 bytes=0xc ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc16e0b00
ehci_idone: ex=0xc16e0b00
ehci_idone: xfer=0xc16e0b00, pipe=0xc1bd7300 ready
ehci_idone: len=12, actlen=12, cerr=3, status=0x8c00
ehci_ctrl_done: length=12
ehci_idone: ex=0xc16e0b00 done
ehci_device_request: type=0x80, request=0x06, wValue=0x0302, wIndex=0x0409 len=2, addr=2, endpt=0
ehci_alloc_sqtd_chain: start len=2
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=2 curlen=2
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4ea0<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008c00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x0d8a4f00<> altnext=0x0d8a4f00<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x0d8a4f60<> altnext=0x0d8a4f60<>
status=0x80020d80: toggle=1 bytes=0x2 ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc16e0b00
ehci_idone: ex=0xc16e0b00
ehci_idone: xfer=0xc16e0b00, pipe=0xc1bd7300 ready
ehci_idone: len=2, actlen=2, cerr=3, status=0x8c00
ehci_ctrl_done: length=2
ehci_idone: ex=0xc16e0b00 done
ehci_device_request: type=0x80, request=0x06, wValue=0x0302, wIndex=0x0409 len=20, addr=2, endpt=0
ehci_alloc_sqtd_chain: start len=20
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=20 curlen=20
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4f60<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008c00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x0d8a4ea0<> altnext=0x0d8a4ea0<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x0d8a4f00<> altnext=0x0d8a4f00<>
status=0x80140d80: toggle=1 bytes=0x14 ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc16e0b00
ehci_idone: ex=0xc16e0b00
ehci_idone: xfer=0xc16e0b00, pipe=0xc1bd7300 ready
ehci_idone: len=20, actlen=20, cerr=3, status=0x8c00
ehci_ctrl_done: length=20
ehci_idone: ex=0xc16e0b00 done
umass0: Apple iPod mini, rev 2.00/0.01, addr 2
umass0: SCSI over Bulk-Only; quirks = 0x0000
ehci_open: pipe=0xc1bd7080, addr=2, endpt=1 (1)
ehci_add_qh:
QH(0xc172dd80) at 0x00261d80:
link=0x00261de2<QH>
endp=0x82006102
addr=0x02 inact=0 endpt=1 eps=2 dtc=1 hrecl=0
mpl=0x200 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x00000001<T>
Overlay qTD:
next=0x00000001<T> altnext=0x00000001<T>
status=0x00000000: toggle=0 bytes=0x0 ioc=0 c_page=0x0
cerr=0 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_device_clear_toggle: epipe=0xc1bd7080 status=0x0
usbd_dump_pipe: pipe=0xc1bd7080
usbd_dump_iface: iface=0xc18264e0
device=0xc1bd7580 idesc=0xc18267a9 index=0 altindex=0 priv=0
usbd_dump_device: dev=0xc1bd7580
bus=0xc16b3000 default_pipe=0xc1bd7300
address=2 config=1 depth=1 speed=3 self_powered=0 power=500 langid=1033
usbd_dump_endpoint: endp=0xc1606648
edesc=0xc18267b9 refcnt=1
bEndpointAddress=0x01
(usbd_dump_pipe:)
refcnt=1 running=0 aborting=0
intrxfer=0, repeat=0, interval=-1
ehci_device_request: type=0x02, request=0x01, wValue=0x0000, wIndex=0x0001 len=0, addr=2, endpt=0
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4f00<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008c00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x0d8a4ea0<> altnext=0x0d8a4ea0<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008d80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_pcd_able: on=1
ehci_intr1: INT 
ehci_check_intr: ex=0xc16e0b00
ehci_idone: ex=0xc16e0b00
ehci_idone: xfer=0xc16e0b00, pipe=0xc1bd7300 ready
ehci_idone: len=0, actlen=0, cerr=3, status=0x8d00
ehci_ctrl_done: length=0
ehci_idone: ex=0xc16e0b00 done
ehci_open: pipe=0xc1bd7180, addr=2, endpt=130 (1)
ehci_add_qh:
QH(0xc172dd20) at 0x00261d20:
link=0x00261d82<QH>
endp=0x82006202
addr=0x02 inact=0 endpt=2 eps=2 dtc=1 hrecl=0
mpl=0x200 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x00000001<T>
Overlay qTD:
next=0x00000001<T> altnext=0x00000001<T>
status=0x00000000: toggle=0 bytes=0x0 ioc=0 c_page=0x0
cerr=0 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_device_clear_toggle: epipe=0xc1bd7180 status=0x0
usbd_dump_pipe: pipe=0xc1bd7180
usbd_dump_iface: iface=0xc18264e0
device=0xc1bd7580 idesc=0xc18267a9 index=0 altindex=0 priv=0
usbd_dump_device: dev=0xc1bd7580
bus=0xc16b3000 default_pipe=0xc1bd7300
address=2 config=1 depth=1 speed=3 self_powered=0 power=500 langid=1033
usbd_dump_endpoint: endp=0xc1606640
edesc=0xc18267b2 refcnt=1
bEndpointAddress=0x82
(usbd_dump_pipe:)
refcnt=1 running=0 aborting=0
intrxfer=0, repeat=0, interval=-1
ehci_device_request: type=0x02, request=0x01, wValue=0x0000, wIndex=0x0082 len=0, addr=2, endpt=0
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4ea0<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008d00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=1 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x0d8a4f00<> altnext=0x0d8a4f00<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008d80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc16e0b00
ehci_idone: ex=0xc16e0b00
ehci_idone: xfer=0xc16e0b00, pipe=0xc1bd7300 ready
ehci_idone: len=0, actlen=0, cerr=3, status=0x8d00
ehci_ctrl_done: length=0
ehci_idone: ex=0xc16e0b00 done
ehci_device_request: type=0xa1, request=0xfe, wValue=0x0000, wIndex=0x0000 len=1, addr=2, endpt=0
ehci_alloc_sqtd_chain: start len=1
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=1 curlen=1
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4f00<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008d00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=1 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x0d8a4f60<> altnext=0x0d8a4f60<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x0d8a4ea0<> altnext=0x0d8a4ea0<>
status=0x80010d80: toggle=1 bytes=0x1 ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc1bda500
ehci_idone: ex=0xc1bda500
ehci_idone: xfer=0xc1bda500, pipe=0xc1bd7300 ready
ehci_idone: len=1, actlen=1, cerr=3, status=0x8c00
ehci_ctrl_done: length=1
ehci_idone: ex=0xc1bda500 done
umass0:0:0:-1: Attached to scbus0
ehci_device_request: type=0x80, request=0x06, wValue=0x0303, wIndex=0x0409 len=2, addr=2, endpt=0
ehci_alloc_sqtd_chain: start len=2
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=2 curlen=2
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4ea0<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008c00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x0d8a4f00<> altnext=0x0d8a4f00<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x0d8a4f60<> altnext=0x0d8a4f60<>
status=0x80020d80: toggle=1 bytes=0x2 ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc1bda500
ehci_idone: ex=0xc1bda500
ehci_idone: xfer=0xc1bda500, pipe=0xc1bd7300 ready
ehci_idone: len=2, actlen=2, cerr=3, status=0x8c00
ehci_ctrl_done: length=2
ehci_idone: ex=0xc1bda500 done
ehci_device_request: type=0x80, request=0x06, wValue=0x0303, wIndex=0x0409 len=34, addr=2, endpt=0
ehci_alloc_sqtd_chain: start len=34
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=34 curlen=34
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4f60<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008c00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x0d8a4ea0<> altnext=0x0d8a4ea0<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x0d8a4f00<> altnext=0x0d8a4f00<>
status=0x80220d80: toggle=1 bytes=0x22 ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc1bda500
ehci_idone: ex=0xc1bda500
ehci_idone: xfer=0xc1bda500, pipe=0xc1bd7300 ready
ehci_idone: len=34, actlen=34, cerr=3, status=0x8c00
ehci_ctrl_done: length=34
ehci_idone: ex=0xc1bda500 done
ehci_device_request: type=0x80, request=0x06, wValue=0x0301, wIndex=0x0409 len=2, addr=2, endpt=0
ehci_alloc_sqtd_chain: start len=2
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=2 curlen=2
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4f00<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008c00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x0d8a4f60<> altnext=0x0d8a4f60<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x0d8a4ea0<> altnext=0x0d8a4ea0<>
status=0x80020d80: toggle=1 bytes=0x2 ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc1bda500
ehci_idone: ex=0xc1bda500
ehci_idone: xfer=0xc1bda500, pipe=0xc1bd7300 ready
ehci_idone: len=2, actlen=2, cerr=3, status=0x8c00
ehci_ctrl_done: length=2
ehci_idone: ex=0xc1bda500 done
ehci_device_request: type=0x80, request=0x06, wValue=0x0301, wIndex=0x0409 len=12, addr=2, endpt=0
ehci_alloc_sqtd_chain: start len=12
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=12 curlen=12
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4ea0<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008c00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x0d8a4f00<> altnext=0x0d8a4f00<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x0d8a4f60<> altnext=0x0d8a4f60<>
status=0x800c0d80: toggle=1 bytes=0xc ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc1bda500
ehci_idone: ex=0xc1bda500
ehci_idone: xfer=0xc1bda500, pipe=0xc1bd7300 ready
ehci_idone: len=12, actlen=12, cerr=3, status=0x8c00
ehci_ctrl_done: length=12
ehci_idone: ex=0xc1bda500 done
ehci_device_request: type=0x80, request=0x06, wValue=0x0302, wIndex=0x0409 len=2, addr=2, endpt=0
ehci_alloc_sqtd_chain: start len=2
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=2 curlen=2
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4f60<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008c00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x0d8a4ea0<> altnext=0x0d8a4ea0<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x0d8a4f00<> altnext=0x0d8a4f00<>
status=0x80020d80: toggle=1 bytes=0x2 ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc1bda500
ehci_idone: ex=0xc1bda500
ehci_idone: xfer=0xc1bda500, pipe=0xc1bd7300 ready
ehci_idone: len=2, actlen=2, cerr=3, status=0x8c00
ehci_ctrl_done: length=2
ehci_idone: ex=0xc1bda500 done
ehci_device_request: type=0x80, request=0x06, wValue=0x0302, wIndex=0x0409 len=20, addr=2, endpt=0
ehci_alloc_sqtd_chain: start len=20
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=20 curlen=20
ehci_device_request:
QH(0xc172dde0) at 0x00261de0:
link=0x00261e42<QH>
endp=0x80406002
addr=0x02 inact=0 endpt=0 eps=2 dtc=1 hrecl=0
mpl=0x40 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x0d8a4f00<>
Overlay qTD:
next=0x00000001<T> altnext=0x00000011<T>
status=0x00008c00: toggle=0 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f00) at 0x0d8a4f00:
next=0x0d8a4f60<> altnext=0x0d8a4f60<>
status=0x00080e80: toggle=0 bytes=0x8 ioc=0 c_page=0x0
cerr=3 pid=2 stat=0x80<ACTIVE>
buffer[0]=0x0020aec0
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30f60) at 0x0d8a4f60:
next=0x0d8a4ea0<> altnext=0x0d8a4ea0<>
status=0x80140d80: toggle=1 bytes=0x14 ioc=0 c_page=0x0
cerr=3 pid=1 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x00000001<T> altnext=0x00000001<T>
status=0x80008c80: toggle=1 bytes=0x0 ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
ehci_intr1: INT 
ehci_check_intr: ex=0xc1bda500
ehci_idone: ex=0xc1bda500
ehci_idone: xfer=0xc1bda500, pipe=0xc1bd7300 ready
ehci_idone: len=20, actlen=20, cerr=3, status=0x8c00
ehci_ctrl_done: length=20
ehci_idone: ex=0xc1bda500 done
ehci_root_ctrl_start: type=0xa3 request=00
ehci_root_ctrl_start: type=0xa3 request=00
ehci_device_bulk_start: xfer=0xc16e0b00 len=31 flags=0
ehci_alloc_sqtd_chain: start len=31
ehci_alloc_sqtd_chain: dataphys=0x0020ae80 dataphyslastpage=0x0020a000 len=31 curlen=31
ehci_device_bulk_start: data(1)
QH(0xc172dd80) at 0x00261d80:
link=0x00261de2<QH>
endp=0x82006102
addr=0x02 inact=0 endpt=1 eps=2 dtc=1 hrecl=0
mpl=0x200 ctl=0 nrl=8
endphub=0x41011c00
smask=0x00 cmask=0x1c huba=0x01 port=2 mult=1
curqtd=0x00000001<T>
Overlay qTD:
next=0x00000001<T> altnext=0x00000001<T>
status=0x00000000: toggle=0 bytes=0x0 ioc=0 c_page=0x0
cerr=0 pid=0 stat=0x0
buffer[0]=0x00000000
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000
QTD(0xc1b30ea0) at 0x0d8a4ea0:
next=0x00000001<T> altnext=0x00000001<T>
status=0x001f8c80: toggle=0 bytes=0x1f ioc=1 c_page=0x0
cerr=3 pid=0 stat=0x80<ACTIVE>
buffer[0]=0x0020ae80
buffer[1]=0x00000000
buffer[2]=0x00000000
buffer[3]=0x00000000
buffer[4]=0x00000000

How-To-Repeat: Attach a second generation iPod mini to FreeBSD 5.4-STABLE system via USB port.
Comment 1 Anton Berezin freebsd_committer freebsd_triage 2005-08-01 14:46:00 UTC
State Changed
From-To: open->feedback

As suggested by someone (was that Doug White?), do 

camcontrol devlist -v 

Note the `N' in `scbusN' for an entry that mentions `umass-sim', and do 

camcontrol rescan N 

(That might take a while). 

This worked for me to get da0 drive recognized.  Does this work for you, too?
Comment 2 Bryan Liesner 2005-08-02 00:48:33 UTC
I tried:

camcontrol devlist -v
camcontrol rescan N

Yes, it worked, but not consistently.  The rescan took several minutes, 
I tried four times, and two of the four times I did not have a da0.
Comment 3 toomas.aas 2005-08-05 07:22:54 UTC
I also tried it 5 times, but it didn't work for me at all.

# camcontrol devlist -v
scbus0 on sbp0 bus 0:
<  >                               at scbus0 target -1 lun -1 ()
scbus1 on umass-sim0 bus 0:
scbus-1 on xpt0 bus 0:
<  >                               at scbus-1 target -1 lun -1 (xpt0)
# camcontrol rescan 1
<long pause>

Camcontrol rescan took 10 minutes on first try and 5 minutes on 
subsequent tries, but no da devices appeared.

I no longer have the USB 2.0 add-on card which I originally used, so now 
I tried with onboard USB 1.0 ports, identified in dmesg as:

uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xd400-0xd41f irq 
9 at device 4.2 on pci0
uhci0: LegSup = 0x2020
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
usb0: USB revision 1.0
usbd_get_string: getting lang failed, using 0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered


Also, I've upgraded the OS to 5.4-STABLE cvsupped at 20050804.
Comment 4 Mark Linimon freebsd_committer freebsd_triage 2005-10-23 19:56:52 UTC
State Changed
From-To: feedback->open

Feedback was received some time ago.
Comment 5 germain.lecapelain 2005-11-03 15:11:49 UTC
Bonjour Toomas

For what it worth, I have you checked the fix mentionnend there :
http://www.freebsd.org/cgi/query-pr.cgi?pr=usb/86438

Good luck with your iPod ..

-- 
Germain
Comment 6 toomas.aas 2005-11-03 17:30:01 UTC
Le Capelain, Germain wrote:
	
> For what it worth, I have you checked the fix mentionnend there :
> http://www.freebsd.org/cgi/query-pr.cgi?pr=usb/86438

Yes. I received a patch on September 12th from Nathan J. Williams which 
to my untrained eye seems to do the same thing as the patch mentioned in 
USB/86438. I tried it out and it worked. Sorry for not reporting it in 
earlier.

The patch is attached, I hope mr. Williams won't mind.

Comment 7 Anders Nordby freebsd_committer freebsd_triage 2005-11-26 15:23:58 UTC
Hi,

The patch works fine for me. With it, my iPod Mini appears reliably and
instantly as a SCSI device. I attach a patch here that makes this a
sysctl tunable, hw.usb.clearstall (default=1, set it to 0 to disable).

I've been discussing this with Ian Dowse <iedowse@FreeBSD.org>, and he
seems to think that the code that we are disabling should be disabled
by default because a number of devices had problems with it. Instead,
there should be a quirk to make the devices that need it get it.

Running usbdevs -v, I get this information about my iPod:

port 2 addr 2: high speed, power 500 mA, config 1, iPod mini(0x1205),
Apple(0x05ac), rev 0.01

Cheers,

-- 
Anders.
Comment 8 corsmith 2005-12-28 03:31:00 UTC
After applying this patch I am able to use my iPod nano:

umass0: Apple iPod, rev 2.00/0.01, addr 2
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Apple iPod 1.62> Removable Direct Access SCSI-0 device
da0: 1.000MB/s transfers
da0: 1953MB (3999744 512 byte sectors: 255H 63S/T 248C)

# mount -t msdos /dev/da0s2 /mnt/ipod

# umount /mnt/ipod

# camcontrol eject da0
Unit stopped successfully, Media ejected

gtkpod also works well :)

-Corey
Comment 9 Florent Thoumie freebsd_committer freebsd_triage 2006-01-08 01:59:29 UTC
State Changed
From-To: open->closed

A fix has been committed and MFC'ed to RELENG_[56].