usb/110197: Sony PSP umass device does not detach from EHCI port
Calle Englund
calle at discord.bofh.se
Sun Mar 11 18:20:04 UTC 2007
>Number: 110197
>Category: usb
>Synopsis: Sony PSP umass device does not detach from EHCI port
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-usb
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Mar 11 18:20:03 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator: Calle Englund
>Release: FreeBSD 6.2-STABLE i386
>Organization:
>Environment:
System: FreeBSD aftermath.home.discord.bofh.se 6.2-STABLE FreeBSD 6.2-STABLE #3: Fri Mar 9 19:02:51 CET 2007 root at aftermath.home.discord.bofh.se:/usr/obj/usr/src/sys/AFTERMATH i386
The problem was also seen in at least FreeBSD 6.1
% cat /sys/i386/conf/AFTERMATH.diff
--- GENERIC Fri Dec 29 18:34:50 2006
+++ AFTERMATH Fri Mar 9 17:01:15 2007
@@ -69,6 +69,7 @@
# ATA and ATAPI devices
device ata
+device atapicam
device atadisk # ATA disk drives
device ataraid # ATA RAID drives
device atapicd # ATAPI CDROM drives
uhci0: <Intel 82801DB (ICH4) USB controller USB-A> port 0x48c0-0x48df irq 10 at
device 29.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: <Intel 82801DB (ICH4) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <Intel 82801DB (ICH4) USB controller USB-B> port 0x48e0-0x48ff irq 5 at d
evice 29.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: <Intel 82801DB (ICH4) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <Intel 82801DB (ICH4) USB controller USB-C> port 0x4c00-0x4c1f irq 5 at d
evice 29.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: <Intel 82801DB (ICH4) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
ehci0: <Intel 82801DB/L/M (ICH4) USB 2.0 controller> mem 0xa0000000-0xa00003ff i
rq 5 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
usb3: EHCI version 1.0
usb3: companion controllers, 2 ports each: usb0 usb1 usb2
usb3: <Intel 82801DB/L/M (ICH4) USB 2.0 controller> on ehci0
usb3: USB revision 2.0
uhub3: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub3: 6 ports with 6 removable, self powered
>Description:
When a Sony Playstation Portable is detached from an EHCI USB port, the
associated device tree lingers and that USB port is unresponsive until
a device has been plugged into another USB port. Then the detach of
the original PSP umass device tree occurs and the port again responds
to devices being plugged into it.
>How-To-Repeat:
*** Enter USB Connection in PSP.
PSP: Connect a USB cable.
*** Plug PSP into USB port.
PSP: USB Mode
New lines in dmesg:
umass0: Sony PSP Type A, rev 2.00/1.00, addr 2
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Sony PSP 1.00> Removable Direct Access SCSI-0 device
da0: 40.000MB/s transfers
da0: 958MB (1963008 512 byte sectors: 64H 32S/T 958C)
% usbdevs -v
Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
port 1 powered
port 2 powered
Controller /dev/usb1:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
port 1 powered
port 2 powered
Controller /dev/usb2:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
port 1 powered
port 2 addr 2: full speed, self powered, config 1, Bluetooth by hp(0x0086), ACTIONTEC(0x049f), rev 8.02
Controller /dev/usb3:
addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), Intel(0x0000), rev 1.00
port 1 powered
port 2 powered
port 3 powered
port 4 powered
port 5 addr 2: high speed, self powered, config 1, PSP Type A(0x01c8), Sony(0x054c), rev 1.00
port 6 powered
*** Unplug PSP from USB port.
PSP: Connect a USB cable.
Nothing new in dmesg.
% usbdevs -v
...
Controller /dev/usb3:
addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), Intel(0x0000), rev 1.00
port 1 powered
port 2 powered
port 3 powered
port 4 powered
port 5 addr 2: high speed, self powered, config 1, product 0x01c8(0x01c8), vendor 0x054c(0x054c), rev 1.00
port 6 powered
The port still reports a device present, but the Product/Vendor codes
are not translated to text anymore.
*** Plug PSP back into the same USB port.
PSP: USB Mode
Nothing new in dmesg.
% usbdevs -v
...
Controller /dev/usb3:
addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), Intel(0x0000), rev 1.00
port 1 powered
port 2 powered
port 3 powered
port 4 powered
port 5 addr 2: high speed, self powered, config 1, product 0x01c8(0x01c8), vendor 0x054c(0x054c), rev 1.00
port 6 powered
*** Unplug PSP and plug back into another USB port.
PSP: Connect a USB cable.
PSP: USB Mode.
New lines in dmesg:
umass1: Sony PSP Type A, rev 2.00/1.00, addr 3
umass0: at uhub3 port 5 (addr 2) disconnected <<<
(da0:umass-sim0:0:0:0): lost device <<<
(da0:umass-sim0:0:0:0): removing device entry <<<
umass0: detached <<<
da0 at umass-sim1 bus 1 target 0 lun 0
da0: <Sony PSP 1.00> Removable Direct Access SCSI-0 device
da0: 40.000MB/s transfers
da0: 958MB (1963008 512 byte sectors: 64H 32S/T 958C)
The disconnect of the previous device tree occurs! (<<< above)
% usbdevs -v
...
Controller /dev/usb3:
addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), Intel(0x0000), rev 1.00
port 1 powered
port 2 addr 3: high speed, self powered, config 1, PSP Type A(0x01c8), Sony(0x054c), rev 1.00
port 3 powered
port 4 powered
port 5 powered
port 6 powered
Port 5 is no longer reported as occupied.
Doing the same operaions with other umass devices works as expected.
Disabling EHCI so the PSP attaches to the UHCI ports instead also
works as expected
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-usb
mailing list