Re: [linux-usb-devel] ehci hcd driver trouble. known issue or just odd hardware?

2005-01-05 Thread Pedro Venda
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
David Brownell wrote:
| On Tuesday 04 January 2005 4:31 am, Pedro Venda wrote:
|
|David Brownell wrote:
|| On Monday 03 January 2005 5:05 pm, you wrote:
||
||David Brownell wrote:
||| It's something wierd that started a while back, and so far
||| it doesn't make sense to me.  But see below, and please
||| try the patch I've attached.  If it fails, please send
||| the full CONFIG_USB_DEBUG output showing the error (as
||| below) and contents of /sys/class/usb_host/usb4/registers
||| after the fault.
||
||I've tried the patch and it failed.
|
|
| OK, try this slightly modified version.  Looks like
| the Intel chip sets the HALT bit then spontaneously
| clears it, while the ALI may never set it.
this one has a different output, although I don't understand if it's working
properly since there are still some fatal errors... there isn't a fatal error
but a BOGUS error, as introduced by the patch.
http://arrakis.dhis.org/linux/laptop/dmesg-usbdebug-ehcipatch-2.gz
/sys/class/usb_host/usb4/registers contains:
bus pci, device :00:1d.7 (driver 26 Oct 2004)
EHCI 1.00, hcd state 1
structural params 0x00103206
capability params 0x6871
status 0008 FLR
command 010001 (park)=0 ithresh=1 period=1024 RUN
intrenable 37 IAA FATAL PCD ERR INT
uframe 3513
port 1 status 001010 POWER sig=se0  OC
port 2 status 001010 POWER sig=se0  OC
port 3 status 003002 POWER OWNER sig=se0  CSC
port 4 status 001000 POWER sig=se0
port 5 status 001000 POWER sig=se0
port 6 status 001000 POWER sig=se0
irq normal 0 err 0 reclaim 0 (lost 0)
complete 0 unlink 0
EHCI 1.00, hcd state 1 instead of the old value 0 means that the driver's
working now?
care to comment? is this a good enough patch for the whole usb community or
does it simply cover this isolated bogus error and by itself is unsafe for other
environments?
regards,
pedro venda.
- --
Pedro João Lopes Venda
email: [EMAIL PROTECTED]
http://arrakis.dhis.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFB29ZReRy7HWZxjWERAgGRAKCsKeuzuwDjFMYx4i+9jQbbpXgS4ACfSUCQ
5l8vLLviXcZwoAd0wgbCNXM=
=yDhl
-END PGP SIGNATURE-
---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] ehci hcd driver trouble. known issue or just odd hardware?

2005-01-05 Thread Christian Iversen
On Wednesday 05 January 2005 12:58, Pedro Venda wrote:
 David Brownell wrote:
 | On Tuesday 04 January 2005 4:31 am, Pedro Venda wrote:
 |David Brownell wrote:
 || On Monday 03 January 2005 5:05 pm, you wrote:
 ||David Brownell wrote:
 ||| It's something wierd that started a while back, and so far
 ||| it doesn't make sense to me.  But see below, and please
 ||| try the patch I've attached.  If it fails, please send
 ||| the full CONFIG_USB_DEBUG output showing the error (as
 ||| below) and contents of /sys/class/usb_host/usb4/registers
 ||| after the fault.
 ||
 ||I've tried the patch and it failed.
 |
 | OK, try this slightly modified version.  Looks like
 | the Intel chip sets the HALT bit then spontaneously
 | clears it, while the ALI may never set it.

 this one has a different output, although I don't understand if it's
 working properly since there are still some fatal errors... there isn't a
 fatal error but a BOGUS error, as introduced by the patch.

 [...output...]

 EHCI 1.00, hcd state 1 instead of the old value 0 means that the driver's
 working now?

Have you tried it? I use a powered hub (with an LED) to tell if ehci is on. If 
you have a removeable hard drive or dvd-drive, you should notice a huge 
difference in throughput. 

 care to comment? is this a good enough patch for the whole usb community
 or does it simply cover this isolated bogus error and by itself is unsafe
 for other environments?

Allow me to comment on this. I'm the guy who found out that the controller 
reports a bogus fatal error, and I made the first patch that fixed it. When 
David Brownell saw my hack (which was to comment out a function call that 
resets the chip in the error handling), he came up with the patch you just 
tried, which is a more right way to handle it. 

I've been running with this patch for some time now (well, at least 10 days), 
and I haven't had any problems of any kind. USB just seems to work for me 
now. Of course, that could be pure luck, but since David and I looked at 
which changes have been going on in the ehci-driver, and the usb-core in 
general at the revisions where it originally broke, we discovered that it 
_no_ direct changes were made in the ehci-driver in the breaking revision. 

That suggests to me that the chip doesn't entirely work within specs, that the 
driver is good, and that we need this patch to catch a corner case that is 
wrongly handled by the hardware. That could be wrong, of course, but that's 
my view of the situation :)

(it's kind of perplexing that different controllers seem to have somewhat of 
the same problem, but I think time will finally tell what's going on here)

-- 
Regards,
Christian Iversen


---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] ehci hcd driver trouble. known issue or just odd hardware?

2005-01-05 Thread Pedro Venda
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Christian Iversen wrote:
| On Wednesday 05 January 2005 12:58, Pedro Venda wrote:
|
|David Brownell wrote:
|| On Tuesday 04 January 2005 4:31 am, Pedro Venda wrote:
||David Brownell wrote:
||| On Monday 03 January 2005 5:05 pm, you wrote:
|||David Brownell wrote:
 It's something wierd that started a while back, and so far
 it doesn't make sense to me.  But see below, and please
 try the patch I've attached.  If it fails, please send
 the full CONFIG_USB_DEBUG output showing the error (as
 below) and contents of /sys/class/usb_host/usb4/registers
 after the fault.
|||
|||I've tried the patch and it failed.
||
|| OK, try this slightly modified version.  Looks like
|| the Intel chip sets the HALT bit then spontaneously
|| clears it, while the ALI may never set it.
|
|this one has a different output, although I don't understand if it's
|working properly since there are still some fatal errors... there isn't a
|fatal error but a BOGUS error, as introduced by the patch.
|
|[...output...]
|
|EHCI 1.00, hcd state 1 instead of the old value 0 means that the driver's
|working now?
|
|
| Have you tried it? I use a powered hub (with an LED) to tell if ehci is on. If
| you have a removeable hard drive or dvd-drive, you should notice a huge
| difference in throughput.
I have no powered hub nor hard or dvd drives, at least usb. sorry, I can't test
it right now. :-(
|care to comment? is this a good enough patch for the whole usb community
|or does it simply cover this isolated bogus error and by itself is unsafe
|for other environments?
|
|
| Allow me to comment on this. I'm the guy who found out that the controller
| reports a bogus fatal error, and I made the first patch that fixed it. When
| David Brownell saw my hack (which was to comment out a function call that
| resets the chip in the error handling), he came up with the patch you just
| tried, which is a more right way to handle it.
|
| I've been running with this patch for some time now (well, at least 10 days),
| and I haven't had any problems of any kind. USB just seems to work for me
| now. Of course, that could be pure luck, but since David and I looked at
| which changes have been going on in the ehci-driver, and the usb-core in
| general at the revisions where it originally broke, we discovered that it
| _no_ direct changes were made in the ehci-driver in the breaking revision.
So the driver was working correctly and stopped working... I see.
| That suggests to me that the chip doesn't entirely work within specs, that the
| driver is good, and that we need this patch to catch a corner case that is
| wrongly handled by the hardware. That could be wrong, of course, but that's
| my view of the situation :)
|
| (it's kind of perplexing that different controllers seem to have somewhat of
| the same problem, but I think time will finally tell what's going on here)
yes, manufacturers sometimes tend to create these kinds of problems for one
reason or another.
thanks for the comments. will the patch be included in the driver? or will it be
tested further in usb devel trees?
regards,
pedro venda.
- --
Pedro João Lopes Venda
email: [EMAIL PROTECTED]
http://arrakis.dhis.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFB3AkAeRy7HWZxjWERAiwCAKC0xDST4bnyQN7Hl/XidgnVzV5q+gCggCkn
jdpN+DNEWMOk4BaBRmA1upo=
=7Kcs
-END PGP SIGNATURE-
---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] ehci hcd driver trouble. known issue or just odd hardware?

2005-01-05 Thread David Brownell
On Wednesday 05 January 2005 3:58 am, Pedro Venda wrote:
 David Brownell wrote:
 |
 | OK, try this slightly modified version.  Looks like
 | the Intel chip sets the HALT bit then spontaneously
 | clears it, while the ALI may never set it.
 
 this one has a different output, although I don't understand if it's working
 properly since there are still some fatal errors... there isn't a fatal error
 but a BOGUS error, as introduced by the patch.

That patch _reports_ that the hardware's error report (IRQ)
is BOGUS.  The original issue was that the driver wasn't
noticing that the chip was misbehaving, and treated it like
a real problem instead of an ignorable chip misbehavior.


 EHCI 1.00, hcd state 1 instead of the old value 0 means that the driver's
 working now?

More like the _hardware_ is working, now that the driver knows
enough to ignore that error IRQ in certain cases.

The patch I submit won't actually print anything when it gets
that BOGUS path ... there's nothing to be done with that
IRQ except ignore it, and no point in potentially worrying
end users or sysadmins.

- Dave



---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] ehci hcd driver trouble. known issue or just odd hardware?

2005-01-05 Thread Christian Iversen
On Wednesday 05 January 2005 18:12, David Brownell wrote:
 On Wednesday 05 January 2005 3:58 am, Pedro Venda wrote:
  David Brownell wrote:
  | OK, try this slightly modified version.  Looks like
  | the Intel chip sets the HALT bit then spontaneously
  | clears it, while the ALI may never set it.
 
  this one has a different output, although I don't understand if it's
  working properly since there are still some fatal errors... there isn't a
  fatal error but a BOGUS error, as introduced by the patch.

 That patch _reports_ that the hardware's error report (IRQ)
 is BOGUS.  The original issue was that the driver wasn't
 noticing that the chip was misbehaving, and treated it like
 a real problem instead of an ignorable chip misbehavior.

  EHCI 1.00, hcd state 1 instead of the old value 0 means that the driver's
  working now?

 More like the _hardware_ is working, now that the driver knows
 enough to ignore that error IRQ in certain cases.

 The patch I submit won't actually print anything when it gets
 that BOGUS path ... there's nothing to be done with that
 IRQ except ignore it, and no point in potentially worrying
 end users or sysadmins.

Maybe you should keep it in when Defined(DEBUG)?

-- 
Regards,
Christian Iversen


---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] ehci hcd driver trouble. known issue or just odd hardware?

2005-01-04 Thread Pedro Venda
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
David Brownell wrote:
| On Monday 03 January 2005 5:05 pm, you wrote:
|
|David Brownell wrote:
|| It's something wierd that started a while back, and so far
|| it doesn't make sense to me.  But see below, and please
|| try the patch I've attached.  If it fails, please send
|| the full CONFIG_USB_DEBUG output showing the error (as
|| below) and contents of /sys/class/usb_host/usb4/registers
|| after the fault.
|
|I've tried the patch and it failed.
|
|http://www.dune.net/linux/laptop/dmesg-usbdebug-ehcipatch.gz
|
|
| I get a 404 error when I try that ...
of course! very sorry, that's the internal host/network. the useful one is
http://arrakis.dhis.org/linux/laptop/dmesg-usbdebug-ehcipatch.gz
|
|
|
|the debug output is here:
|
|archon usb4 # cat registers
|bus pci, device :00:1d.7 (driver 26 Oct 2004)
|EHCI 1.00, hcd state 0
|structural params 0x00103206
|capability params 0x6871
|status 1004 Halt PCD
|command 08 (park)=0 ithresh=8 period=1024 HALT
|intrenable 00
|uframe 
|port 1 status 003030 POWER OWNER sig=se0  OCC OC
|port 2 status 003030 POWER OWNER sig=se0  OCC OC
|port 3 status 003000 POWER OWNER sig=se0
|port 4 status 003000 POWER OWNER sig=se0
|port 5 status 003000 POWER OWNER sig=se0
|port 6 status 003000 POWER OWNER sig=se0
|irq normal 0 err 0 reclaim 0 (lost 0)
|complete 0 unlink 0
|archon usb4 #
|
||hub 4-0:1.0: individual port over-current protection
||hub 4-0:1.0: Single TT
||hub 4-0:1.0: TT requires at most 8 FS bit times
||hub 4-0:1.0: power on to power good time: 20ms
||hub 4-0:1.0: local power source is good
||hub 4-0:1.0: enabling power on all ports
||hub 4-0:1.0: state 5 ports 6 chg  evt 
||ehci_hcd :00:1d.7: GetStatus port 1 status 001030 POWER sig=se0  OCC OC
||hub 4-0:1.0: over-current change on port 1
||
||
|| Seems like a lot of people who get this error get it along with
|| an overcurrent error on port 1, right after the chip has been
|| initialized.
|
|These overcurrent warnings/errors also happen sometimes on windows when 
changing
|between battery and AC power or removing battery. Not very reproducible.
|
|| I suspect the problem comes as a side effect of something
|| else.  It could be board-related, but it doesn't seem
|| to be chip-related.   I've seen reports of this with
|| ALI, NEC, and Intel chips, but it doesn't happen for
|| me with ALI or NEC chips; and plenty of folk are using
|| those chips without seeing this problem.
|
|unlucky me :-(
|
|I'll try to help on anything that's needed, on my free time, of course.
|
|thanks for the help.
|
|regards,
|pedro venda.
|--
|
|Pedro João Lopes Venda
|email: [EMAIL PROTECTED]
|http://arrakis.dhis.org
|
|
|---
|The SF.Net email is sponsored by: Beat the post-holiday blues
|Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
|It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
|___
|linux-usb-devel@lists.sourceforge.net
|To unsubscribe, use the last form field at:
|https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
|
- --
Pedro João Lopes Venda
email: [EMAIL PROTECTED]
http://arrakis.dhis.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFB2oyzeRy7HWZxjWERAgbMAJ9pfiZGJQDe84F4cx14N4XQ6mWcEACgkWtx
lfT7hAEyLThyiex+eRgWYd8=
=arN1
-END PGP SIGNATURE-
---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] ehci hcd driver trouble. known issue or just odd hardware?

2005-01-04 Thread David Brownell
On Tuesday 04 January 2005 4:31 am, Pedro Venda wrote:
 David Brownell wrote:
 | On Monday 03 January 2005 5:05 pm, you wrote:
 |
 |David Brownell wrote:
 || It's something wierd that started a while back, and so far
 || it doesn't make sense to me.  But see below, and please
 || try the patch I've attached.  If it fails, please send
 || the full CONFIG_USB_DEBUG output showing the error (as
 || below) and contents of /sys/class/usb_host/usb4/registers
 || after the fault.
 |
 |I've tried the patch and it failed.

OK, try this slightly modified version.  Looks like
the Intel chip sets the HALT bit then spontaneously
clears it, while the ALI may never set it.

- Dave

Experimental patch, to try

 - catching some fatal error IRQs that seem to be bogus
   (HC didn't actually halt, contrary to spec),
   
 - reporting some controllers as no power switching, since
   those fatal errors seem coupled to overcurrent reports
   on at least the first root hub port.


--- 1.94/drivers/usb/host/ehci-hcd.c	Tue Nov 23 00:39:00 2004
+++ edited/drivers/usb/host/ehci-hcd.c	Tue Jan  4 11:15:55 2005
@@ -864,13 +864,23 @@
 
 	/* PCI errors [4.15.2.4] */
 	if (unlikely ((status  STS_FATAL) != 0)) {
-		ehci_err (ehci, fatal error\n);
-dead:
-		ehci_reset (ehci);
-		/* generic layer kills/unlinks all urbs, then
-		 * uses ehci_stop to clean up the rest
+		/* bogus fatal IRQs appear on at least ALI and Intel
+		 * chips; unclear why.
 		 */
-		bh = 1;
+		status = readl (ehci-regs-status);
+		dbg_cmd (ehci, fatal, readl (ehci-regs-command));
+		dbg_status (ehci, fatal, status);
+		ehci_err (ehci, %sfatal error\n,
+(status  STS_HALT) ?  : BOGUS );
+
+		if (status  STS_HALT) {
+dead:
+			ehci_reset (ehci);
+			/* generic layer kills/unlinks all urbs, then
+			 * uses ehci_stop to clean up the rest
+			 */
+			bh = 1;
+		}
 	}
 
 	if (bh)
--- 1.31/drivers/usb/host/ehci-hub.c	Mon Dec 20 03:48:01 2004
+++ edited/drivers/usb/host/ehci-hub.c	Mon Jan  3 12:10:06 2005
@@ -281,6 +281,8 @@
 	temp = 0x0008;			/* per-port overcurrent reporting */
 	if (HCS_PPC (ehci-hcs_params))
 		temp |= 0x0001;		/* per-port power control */
+	else
+		temp |= 0x0002;		/* no power switching */
 #if 0
 // re-enable when we support USB_PORT_FEAT_INDICATOR below.
 	if (HCS_INDICATOR (ehci-hcs_params))


[linux-usb-devel] ehci hcd driver trouble. known issue or just odd hardware?

2005-01-03 Thread Pedro Venda
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
hi everyone,
just subscribed.
I'm using an ACER travelmate 4001WLMi and someone showed me that it has some
problems with the ehci usb driver.
without debug, i get the following:
Dec 20 00:41:04 archon ehci_hcd :00:1d.7: fatal error
Dec 20 00:41:04 archon ehci_hcd :00:1d.7: HC died; cleaning up
with debug, this is what shows:
ehci_hcd: block sizes: qh 128 qtd 96 itd 192 sitd 96
ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 10
ACPI: PCI interrupt :00:1d.7[D] - GSI 10 (level, low) - IRQ 10
ehci_hcd :00:1d.7: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI 
Controller
ehci_hcd :00:1d.7: reset hcs_params 0x103206 dbg=1 cc=3 pcc=2 ordered !ppc
ports=6
ehci_hcd :00:1d.7: reset hcc_params 6871 thresh 7 uframes 1024 64 bit addr
ehci_hcd :00:1d.7: capability 0001 at 68
PCI: Setting latency timer of device :00:1d.7 to 64
ehci_hcd :00:1d.7: irq 10, pci mem 0xd000
ehci_hcd :00:1d.7: new USB bus registered, assigned bus number 4
ehci_hcd :00:1d.7: reset command 080002 (park)=0 ithresh=8 period=1024 Reset
HALT
PCI: cache line size of 32 is not supported by device :00:1d.7
ehci_hcd :00:1d.7: init command 010001 (park)=0 ithresh=1 period=1024 RUN
ehci_hcd :00:1d.7: USB 2.0 initialized, EHCI 1.00, driver 26 Oct 2004
ehci_hcd :00:1d.7: supports USB remote wakeup
usb usb4: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb4: default language 0x0409
usb usb4: Product: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller
usb usb4: Manufacturer: Linux 2.6.10 ehci_hcd
usb usb4: SerialNumber: :00:1d.7
usb usb4: hotplug
uhci_hcd :00:1d.1: port 1 portsc 008a,00
usb usb4: adding 4-0:1.0 (config #1, interface 0)
usb 4-0:1.0: hotplug
hub 4-0:1.0: usb_probe_interface
hub 4-0:1.0: usb_probe_interface - got id
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 6 ports detected
hub 4-0:1.0: standalone hub
hub 4-0:1.0: ganged power switching
hub 4-0:1.0: individual port over-current protection
hub 4-0:1.0: Single TT
hub 4-0:1.0: TT requires at most 8 FS bit times
hub 4-0:1.0: power on to power good time: 20ms
hub 4-0:1.0: local power source is good
hub 4-0:1.0: enabling power on all ports
hub 4-0:1.0: state 5 ports 6 chg  evt 
ehci_hcd :00:1d.7: GetStatus port 1 status 001030 POWER sig=se0  OCC OC
hub 4-0:1.0: over-current change on port 1
hub 4-0:1.0: enabling power on all ports
ehci_hcd :00:1d.7: fatal error
ehci_hcd :00:1d.7: reset command 010003 (park)=0 ithresh=1 period=1024 
Reset RUN
ehci_hcd :00:1d.7: HC died; cleaning up
hub 4-0:1.0: port 1, status 0108, change 0008, 12 Mb/s
It seems to me that the ehci driver gets started ok, but while hotplugging
devices, it crashes and bails out.
Is this hardware related? Is this a known issue?
full dmesgs will be found here:
http://arrakis.dhis.org/linux/laptop/dmesg-usb-without-debug.gz
http://arrakis.dhis.org/linux/laptop/dmesg-usb-with-debug.gz
(after 15h30)
regards,
pedro venda.
- --
Pedro João Lopes Venda
email: [EMAIL PROTECTED]
http://arrakis.dhis.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFB2V84eRy7HWZxjWERAsgRAJsEeMKx/8MhOOPUBe6LIO9PSanVqQCeMJOM
+hqWUFwwEFrcesiDYVOCe+8=
=HhZA
-END PGP SIGNATURE-
---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] ehci hcd driver trouble. known issue or just odd hardware?

2005-01-03 Thread David Brownell
It's something wierd that started a while back, and so far
it doesn't make sense to me.  But see below, and please
try the patch I've attached.  If it fails, please send
the full CONFIG_USB_DEBUG output showing the error (as
below) and contents of /sys/class/usb_host/usb4/registers
after the fault.

On Monday 03 January 2005 7:06 am, Pedro Venda wrote:

 ehci_hcd: block sizes: qh 128 qtd 96 itd 192 sitd 96
 ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 10
 ACPI: PCI interrupt :00:1d.7[D] - GSI 10 (level, low) - IRQ 10
 ehci_hcd :00:1d.7: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI 
 Controller
 ehci_hcd :00:1d.7: reset hcs_params 0x103206 dbg=1 cc=3 pcc=2 ordered !ppc
 ports=6
 ehci_hcd :00:1d.7: reset hcc_params 6871 thresh 7 uframes 1024 64 bit addr
 ehci_hcd :00:1d.7: capability 0001 at 68
 PCI: Setting latency timer of device :00:1d.7 to 64
 ehci_hcd :00:1d.7: irq 10, pci mem 0xd000
 ehci_hcd :00:1d.7: new USB bus registered, assigned bus number 4
 ehci_hcd :00:1d.7: reset command 080002 (park)=0 ithresh=8 period=1024 
 Reset
 HALT
 PCI: cache line size of 32 is not supported by device :00:1d.7
 ehci_hcd :00:1d.7: init command 010001 (park)=0 ithresh=1 period=1024 RUN
 ehci_hcd :00:1d.7: USB 2.0 initialized, EHCI 1.00, driver 26 Oct 2004
 ehci_hcd :00:1d.7: supports USB remote wakeup

All that looks just fine.

 usb usb4: new device strings: Mfr=3, Product=2, SerialNumber=1
 usb usb4: default language 0x0409
 usb usb4: Product: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI 
 Controller
 usb usb4: Manufacturer: Linux 2.6.10 ehci_hcd
 usb usb4: SerialNumber: :00:1d.7
 usb usb4: hotplug
 uhci_hcd :00:1d.1: port 1 portsc 008a,00
 usb usb4: adding 4-0:1.0 (config #1, interface 0)
 usb 4-0:1.0: hotplug
 hub 4-0:1.0: usb_probe_interface
 hub 4-0:1.0: usb_probe_interface - got id
 hub 4-0:1.0: USB hub found
 hub 4-0:1.0: 6 ports detected
 hub 4-0:1.0: standalone hub
 hub 4-0:1.0: ganged power switching

It shouldn't matter, but this is _slightly_ suspicious.
The EHCI spec seems to say that either there's per-port
power switching, or none at all.  But it also says that
trying it's safe to diddle the per-port switching bits
even if they're not active.


 hub 4-0:1.0: individual port over-current protection
 hub 4-0:1.0: Single TT
 hub 4-0:1.0: TT requires at most 8 FS bit times
 hub 4-0:1.0: power on to power good time: 20ms
 hub 4-0:1.0: local power source is good
 hub 4-0:1.0: enabling power on all ports
 hub 4-0:1.0: state 5 ports 6 chg  evt 
 ehci_hcd :00:1d.7: GetStatus port 1 status 001030 POWER sig=se0  OCC OC
 hub 4-0:1.0: over-current change on port 1

Seems like a lot of people who get this error get it along with
an overcurrent error on port 1, right after the chip has been
initialized.


 hub 4-0:1.0: enabling power on all ports
 ehci_hcd :00:1d.7: fatal error
 ehci_hcd :00:1d.7: reset command 010003 (park)=0 ithresh=1 period=1024 
 Reset RUN

Now THAT looks very wrong.  The EHCI spec says that when
it reports the IRQ indicated by that fatal error message,
then the controller halts -- so it should say HALT not RUN
there.

One person reported that his controller (ALI) actually
ran just fine if he didn't kick in the fatal error handling
there.  That's why this patch looks at that bit before
deciding what to do ...


 ehci_hcd :00:1d.7: HC died; cleaning up
 hub 4-0:1.0: port 1, status 0108, change 0008, 12 Mb/s
 
 It seems to me that the ehci driver gets started ok, but while hotplugging
 devices, it crashes and bails out.
 
 Is this hardware related? Is this a known issue?

It's been seen for a while, but it's quite puzzling.

I suspect the problem comes as a side effect of something
else.  It could be board-related, but it doesn't seem
to be chip-related.   I've seen reports of this with
ALI, NEC, and Intel chips, but it doesn't happen for
me with ALI or NEC chips; and plenty of folk are using
those chips without seeing this problem.

- Dave

Experimental patch, to try

 - catching some fatal error IRQs that seem to be bogus
   (HC didn't actually halt, contrary to spec),
   
 - reporting some controllers as no power switching, since
   those fatal errors seem coupled to overcurrent reports
   on at least the first root hub port.


--- 1.94/drivers/usb/host/ehci-hcd.c	Tue Nov 23 00:39:00 2004
+++ edited/drivers/usb/host/ehci-hcd.c	Mon Jan  3 12:39:31 2005
@@ -800,7 +800,7 @@
 		goto dead;
 	}
 
-	status = INTR_MASK;
+	status = INTR_MASK | STS_HALT;
 	if (!status) {			/* irq sharing? */
 		spin_unlock(ehci-lock);
 		return IRQ_NONE;
@@ -864,13 +864,19 @@
 
 	/* PCI errors [4.15.2.4] */
 	if (unlikely ((status  STS_FATAL) != 0)) {
-		ehci_err (ehci, fatal error\n);
+		dbg_cmd (ehci, fatal, readl (ehci-regs-command));
+		dbg_status (ehci, fatal, readl (ehci-regs-status));
+		if (!(status  STS_HALT))
+			ehci_err (ehci, bogus 'fatal' error\n);
+		else {
+			ehci_err (ehci, fatal error\n);
 dead:
-		

Re: [linux-usb-devel] ehci hcd driver trouble. known issue or just odd hardware?

2005-01-03 Thread Pedro Venda
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Pedro Venda wrote:
| hi everyone,
|
| just subscribed.
|
| I'm using an ACER travelmate 4001WLMi and someone showed me that it has
| some
| problems with the ehci usb driver.
|
| without debug, i get the following:
|
| Dec 20 00:41:04 archon ehci_hcd :00:1d.7: fatal error
| Dec 20 00:41:04 archon ehci_hcd :00:1d.7: HC died; cleaning up
|
| with debug, this is what shows:
|
| ehci_hcd: block sizes: qh 128 qtd 96 itd 192 sitd 96
| ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 10
| ACPI: PCI interrupt :00:1d.7[D] - GSI 10 (level, low) - IRQ 10
| ehci_hcd :00:1d.7: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0
| EHCI Controller
| ehci_hcd :00:1d.7: reset hcs_params 0x103206 dbg=1 cc=3 pcc=2
| ordered !ppc
| ports=6
| ehci_hcd :00:1d.7: reset hcc_params 6871 thresh 7 uframes 1024 64
| bit addr
| ehci_hcd :00:1d.7: capability 0001 at 68
| PCI: Setting latency timer of device :00:1d.7 to 64
| ehci_hcd :00:1d.7: irq 10, pci mem 0xd000
| ehci_hcd :00:1d.7: new USB bus registered, assigned bus number 4
| ehci_hcd :00:1d.7: reset command 080002 (park)=0 ithresh=8
| period=1024 Reset
| HALT
| PCI: cache line size of 32 is not supported by device :00:1d.7
| ehci_hcd :00:1d.7: init command 010001 (park)=0 ithresh=1
| period=1024 RUN
| ehci_hcd :00:1d.7: USB 2.0 initialized, EHCI 1.00, driver 26 Oct 2004
| ehci_hcd :00:1d.7: supports USB remote wakeup
| usb usb4: new device strings: Mfr=3, Product=2, SerialNumber=1
| usb usb4: default language 0x0409
| usb usb4: Product: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI
| Controller
| usb usb4: Manufacturer: Linux 2.6.10 ehci_hcd
| usb usb4: SerialNumber: :00:1d.7
| usb usb4: hotplug
| uhci_hcd :00:1d.1: port 1 portsc 008a,00
| usb usb4: adding 4-0:1.0 (config #1, interface 0)
| usb 4-0:1.0: hotplug
| hub 4-0:1.0: usb_probe_interface
| hub 4-0:1.0: usb_probe_interface - got id
| hub 4-0:1.0: USB hub found
| hub 4-0:1.0: 6 ports detected
| hub 4-0:1.0: standalone hub
| hub 4-0:1.0: ganged power switching
| hub 4-0:1.0: individual port over-current protection
| hub 4-0:1.0: Single TT
| hub 4-0:1.0: TT requires at most 8 FS bit times
| hub 4-0:1.0: power on to power good time: 20ms
| hub 4-0:1.0: local power source is good
| hub 4-0:1.0: enabling power on all ports
| hub 4-0:1.0: state 5 ports 6 chg  evt 
| ehci_hcd :00:1d.7: GetStatus port 1 status 001030 POWER sig=se0  OCC OC
| hub 4-0:1.0: over-current change on port 1
| hub 4-0:1.0: enabling power on all ports
| ehci_hcd :00:1d.7: fatal error
| ehci_hcd :00:1d.7: reset command 010003 (park)=0 ithresh=1
| period=1024 Reset RUN
| ehci_hcd :00:1d.7: HC died; cleaning up
| hub 4-0:1.0: port 1, status 0108, change 0008, 12 Mb/s
|
| It seems to me that the ehci driver gets started ok, but while hotplugging
| devices, it crashes and bails out.
|
| Is this hardware related? Is this a known issue?
|
| full dmesgs will be found here:
| http://arrakis.dhis.org/linux/laptop/dmesg-usb-without-debug.gz
| http://arrakis.dhis.org/linux/laptop/dmesg-usb-with-debug.gz
| (after 15h30)
sorry for the big delay. the dmesgs are now available.
|
| regards,
| pedro venda.
| --
|
| Pedro João Lopes Venda
| email: [EMAIL PROTECTED]
| http://arrakis.dhis.org
- ---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
- --
Pedro João Lopes Venda
email: [EMAIL PROTECTED]
http://arrakis.dhis.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFB2bCceRy7HWZxjWERAtsBAJ9Zs6hVMVxTrCTNHr4dng5gmwDtDwCgoyKb
EiKLS14z7cgrztyk22+mUZ8=
=9z6L
-END PGP SIGNATURE-
---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] ehci hcd driver trouble. known issue or just odd hardware?

2005-01-03 Thread David Brownell
On Monday 03 January 2005 12:49 pm, David Brownell wrote:
 It's something wierd that started a while back, and so far
 it doesn't make sense to me.  But see below, and please
 try the patch I've attached. 

And it _still_ doesn't make sense to me -- why should any
chip issue bogus fatal error IRQs?? -- but I've gotten
one successs report already from that patch.

So I suspect I'll be submitting that for 2.6.11; it might
be good to try it out in the -ac patches for a while, until
Greg gets back and the -mm tree can start to get USB stuff
again.

- Dave



---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] ehci hcd driver trouble. known issue or just odd hardware?

2005-01-03 Thread Pedro Venda
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
David Brownell wrote:
| It's something wierd that started a while back, and so far
| it doesn't make sense to me.  But see below, and please
| try the patch I've attached.  If it fails, please send
| the full CONFIG_USB_DEBUG output showing the error (as
| below) and contents of /sys/class/usb_host/usb4/registers
| after the fault.
I've tried the patch and it failed.
http://www.dune.net/linux/laptop/dmesg-usbdebug-ehcipatch.gz
the debug output is here:
archon usb4 # cat registers
bus pci, device :00:1d.7 (driver 26 Oct 2004)
EHCI 1.00, hcd state 0
structural params 0x00103206
capability params 0x6871
status 1004 Halt PCD
command 08 (park)=0 ithresh=8 period=1024 HALT
intrenable 00
uframe 
port 1 status 003030 POWER OWNER sig=se0  OCC OC
port 2 status 003030 POWER OWNER sig=se0  OCC OC
port 3 status 003000 POWER OWNER sig=se0
port 4 status 003000 POWER OWNER sig=se0
port 5 status 003000 POWER OWNER sig=se0
port 6 status 003000 POWER OWNER sig=se0
irq normal 0 err 0 reclaim 0 (lost 0)
complete 0 unlink 0
archon usb4 #
|hub 4-0:1.0: individual port over-current protection
|hub 4-0:1.0: Single TT
|hub 4-0:1.0: TT requires at most 8 FS bit times
|hub 4-0:1.0: power on to power good time: 20ms
|hub 4-0:1.0: local power source is good
|hub 4-0:1.0: enabling power on all ports
|hub 4-0:1.0: state 5 ports 6 chg  evt 
|ehci_hcd :00:1d.7: GetStatus port 1 status 001030 POWER sig=se0  OCC OC
|hub 4-0:1.0: over-current change on port 1
|
|
| Seems like a lot of people who get this error get it along with
| an overcurrent error on port 1, right after the chip has been
| initialized.
These overcurrent warnings/errors also happen sometimes on windows when changing
between battery and AC power or removing battery. Not very reproducible.
| I suspect the problem comes as a side effect of something
| else.  It could be board-related, but it doesn't seem
| to be chip-related.   I've seen reports of this with
| ALI, NEC, and Intel chips, but it doesn't happen for
| me with ALI or NEC chips; and plenty of folk are using
| those chips without seeing this problem.
unlucky me :-(
I'll try to help on anything that's needed, on my free time, of course.
thanks for the help.
regards,
pedro venda.
- --
Pedro João Lopes Venda
email: [EMAIL PROTECTED]
http://arrakis.dhis.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFB2evSeRy7HWZxjWERAkmSAJ9Hf3Rn2zZPN5MkIaEI4q71MlZLwwCfW5Ua
OnNGvi7vgEn8cR7pVFRqCcc=
=592G
-END PGP SIGNATURE-
---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel