Re: P2020: device not accepting address

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 26 Apr 2012, [ISO-8859-1] Miguel �gel �varez wrote:

> >> CONFIG_USB_ARCH_HAS_HCD=y
> >> CONFIG_USB_ARCH_HAS_OHCI=y
> >> CONFIG_USB_ARCH_HAS_EHCI=y
> >> CONFIG_USB=y
> >> CONFIG_USB_DEVICEFS=y
> >> CONFIG_USB_EHCI_HCD=y
> >> CONFIG_USB_EHCI_ROOT_HUB_TT=y
> >> CONFIG_USB_EHCI_FSL=y
> >> CONFIG_USB_EHCI_HCD_PPC_OF=y
> >> CONFIG_USB_STORAGE=y
> >
> > That combination of settings doesn't make sense. �If your EHCI root hub
> > has a built-in TT then there's no reason to have an OHCI controller as
> > well. �Are you sure that's what you want?
> >
> 
> I thought it was required to have an OHCI also... I will change the
> configuration and test again.

Wait, I misread this.  Your extract has CONFIG_USB_ARCH_HAS_OHCI set,
but not CONFIG_USB_OHCI_HCD.  That's okay.  Sorry for the noise.

> >> I have also take a look to usbmon.txt and have obtained the following
> >> traces with usbmon:
> >> "dfbbdc80 199323393 C Ii:1:001:1 0:2048 1 = 02
> >> dfbbdc80 199323420 S Ii:1:001:1 -115:2048 4 <
> >> df164500 199323575 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
> >> df164500 199323601 C Ci:1:001:0 0 4 = 01010100
> >> df164500 199323657 S Co:1:001:0 s 23 01 0010 0001 0000 0
> >> df164500 199323663 C Co:1:001:0 0 0
> >> df164500 199323680 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
> >> df164500 199323684 C Ci:1:001:0 0 4 = 01010000
> >> df164500 199355049 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
> >> df164500 199355060 C Ci:1:001:0 0 4 = 01010000
> >> df164500 199387044 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
> >> df164500 199387051 C Ci:1:001:0 0 4 = 01010000
> >> df164500 199419045 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
> >> df164500 199419052 C Ci:1:001:0 0 4 = 01010000
> >> df164500 199451050 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
> >> df164500 199451057 C Ci:1:001:0 0 4 = 01010000
> >
> > The part above shows a normal connection and debounce.
> >
> >> df164500 199451088 S Co:1:001:0 s 23 03 0004 0001 0000 0
> >> df164500 199451092 C Co:1:001:0 0 0
> >> dfbbdc80 199506111 C Ii:1:001:1 0:2048 1 = 02
> >> dfbbdc80 199506118 S Ii:1:001:1 -115:2048 4 <
> >> df164500 199507054 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
> >> df164500 199507062 C Ci:1:001:0 0 4 = 03050000
> >> usb 1-1: new high speed USB device using fsl-ehci and address 2
> >> df164500 199647083 S Co:1:001:0 s 23 01 0014 0001 0000 0
> >> df164500 199647090 C Co:1:001:0 0 0
> >
> > This shows a normal port reset.
> >
> >> df164500 199652801 S Ci:1:000:0 s 80 06 0100 0000 0040 64 <
> >> df164500 199656936 C Ci:1:000:0 -71 0
> >> df164500 199658438 S Ci:1:000:0 s 80 06 0100 0000 0040 64 <
> >> df164500 199662434 C Ci:1:000:0 -71 0
> >> df164500 199664958 S Ci:1:000:0 s 80 06 0100 0000 0040 64 <
> >> df164500 199668934 C Ci:1:000:0 -71 0
> > ...
> 
> Is there any readable documentation that can help me in interpreting
> the frames? I do not want to disturb you people if I can manage to do
> it myself.

Documentation/usb/usbmon.txt.  To interpret the values you have to know 
the various codes standardized in the USB spec.  I have attached a 
little cheat sheet which should help.

> By the way... The Ci does not mean traffic from device to host?

The 'C' stands for Control and the 'i' stands for IN, i.e., from the 
device IN to the host.

> > If you can, you should attach a USB bus analyzer on the connection
> > leading to the SSD to see whether it really is sending any response
> > packets back to the computer.  Or indeed, whether the computer's
> > inquiries are getting sent over the USB connection to the drive in the
> > first place.
> >
> 
> This should be the best way, of course. Any recommendations on USB bus
> analyzers?

The least expensive one I know of (still kind of pricy, though) is the
Beagle USB 480 from Totalphase (www.totalphase.com).

Alan Stern
		Standard device requests

RQtype Req	Value		Index	Length
----------------------------------------------
  0	1	dev-feat	0	0	Clear device feature
  0	3	dev-feat	0	0	Set device feature
  0	5	address		0	0	Set device address
  0	9	config-value	0	0	Set configuration
  1	b	altsetting	intf	0	Set interface
  1	1	intf-feat	intf	0	Clear interface feature
  1	3	intf-feat	intf	0	Set interface feature
  2	1	ep-feat		ep	0	Clear endpoint feature
  2	3	ep-feat		ep	0	Set endpoint feature
 80	0	0		0	2	Get device status
 80	6	descr-type/	0/	len	Get descriptor
		index		lang-ID
 80	8	0		0	1	Get configuration
 81	0	0		intf	2	Get interface status
 81	a	0		intf	1	Get interface (altsetting)
 82	0	0		ep	2	Get endpoint status

Device features:	0 = self-powered, 1 = remote wakeup
Interface features:	None
Endpoint features:	0 = halt
Descriptor types:	1 = device, 2 = config, 3 = string, (4 = interface,
	5 = endpoint), 6 = device qualifier, 7 = other-speed config



		Hub class requests

RQtype Req	Value		Index	Length
----------------------------------------------
 20	1	hub-feat	0	0	Clear hub feature
 20	3	hub-feat	0	0	Set hub feature
 23	1	port-feat	sel/	0	Clear port feature
				port
 23	3	port-feat	sel/	0	Set port feature
				port
 a0	0	0		0	4	Get hub status
 a0	6	2900		0	len	Get hub descriptor
 a3	0	0		port	4	Get port status

Hub features:	0 = hub local power, 1 = hub over current,
		10 = ch hub local power, 11 = ch hub over current
Port features:	0 = connect, 1 = enable, 2 = suspend, 3 = over current,
		4 = reset, 8 = power, 9 = low speed, a = high speed,
		b = test mode, c = indicator,
		10 = ch connect, 11 = ch enable, 12 = ch suspend,
		13 = ch over current, 14 = ch reset
Selector is used for port indicators



		HID class requests

RQtype Req	Value		Index	Length
----------------------------------------------
 21	9	report-type/ID	intf	len	Set report
 21	a	duration/ID	intf	0	Set idle
 21	b	proto		intf	0	Set protocol
 81	6	descr-type/set	intf	len	Get class descriptor
 a1	1	report-type/ID	intf	len	Get report
 a1	2	0/ID		intf	1	Get idle
 a1	3	0		intf	1	Get protocol

Report type:		1 = input, 2 = output, 3 = feature
Descriptor type:	21 = HID, 22 = Report, 23 = Physical
Protocol:		0 = boot, 1 = report

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux