Re: [linux-usb-devel] ehci hcd driver trouble. known issue or just odd hardware?
-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?
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?
-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?
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?
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?
-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?
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?
-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?
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?
-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?
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?
-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