Hello Dave,
Finally I could get EHCI driver (2.4.25) working on my MIPS-II (little endian) platform.
The problem turned out to be wrong mapping of irqs in pci_fixup which was preventing the interrupt to be serviced.
When I found that ehci_work was not getting called, I switched to the watchdog and also got it working with it. Though the performance was very low.
However I found that watchdog timer was initialized but not added to the timer list and hence was not getting called. Is this a bug in the code or I am missing something else.
Though I don't see watchdog code under any config.
thanks for all your help. warm regards, Nazim Khan
From: David Brownell <[EMAIL PROTECTED]> To: nazim khan <[EMAIL PROTECTED]> CC: [EMAIL PROTECTED] Subject: Re: [linux-usb-devel] Problem with EHCI Controller on MIPS. Date: Wed, 23 Jun 2004 15:16:46 -0700
nazim khan wrote:
Hello Dave,
I tried to pull the changes from 2.4.27-rc. Hardly there were couple of changes with respect to the ehci host. (one in ehci-hcd.c and another in ehci-sched.c).
Thats also didn't help me.
I am not able to apply the complete patch because it might ruin my platform specific changes.
Thing is, 2.4.23 is pretty old. Can you try swapping the whole drivers/usb (and include/linux/usb*.h)?
Please suggest me what else I can try or how can I debug.
Will CATC Help me in debugging this. I have one with me.
Can EHCI work without the IRQ working fine (as suggested in the code that it can work with the watchdog timer function)?
Potentially, you'd have to do the work. And I'd advise doing that with a much more current driver version.
You did verify this works with Linux on non-MIPS hardware, right? Some devices are broken in ways that make them only work with Windows.
- Dave
I am putting the transcript of the error messages once again here, just in case.
warm regards, Nazim
-------------------------------------------------------------------------------------------
# port 1, portstatus 100, change 0, 12 Mb/s<7>ehci_hcd 00:0c.2: GetStatus port 2
# status 001803 POWER sig=j CSC CONNECT
port 2, portstatus 501, change 1, 480 Mb/sport 2 connection changeport 2,
portstatus 501, change 1, 480 Mb/s<7>ehci_hcd 00:T
port 2, portstatus 501, change 0, 480 Mb/s<7>ehci_hcd 00:0c.2: GetStatus port 2
status 001801 POWER sig=j CONNECT
port 2, portstatus 501, change 0, 480 Mb/s<7>ehci_hcd 00:0c.2: GetStatus port 2
status 001801 POWER sig=j CONNECT
port 2, portstatus 501, change 0, 480 Mb/s<7>ehci_hcd 00:0c.2: GetStatus port 2
status 001801 POWER sig=j CONNECT
port 2, portstatus 501, change 0, 480 Mb/s<7>ehci_hcd 00:0c.2: port 2 reset
port 2, portstatus 511, change 0, 480 Mb/sport 2 of hub 1 not reset yet, waiting
10ms<7>ehci_hcd 00:0c.2: GetStatus port 2 T
port 2, portstatus 511, change 0, 480 Mb/sport 2 of hub 1 not reset yet, waiting
10ms<7>ehci_hcd 00:0c.2: port 2 high speed
port 2, portstatus 503, change 10, 480 Mb/s<6>hub.c: new USB device 00:0c.2-2,
assigned address 2
submit_async 2 urb 8be9a8a0 ep0out len 0, qtd a13a0060 [qh 00000000]
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=2 (error=-145)
port 2, portstatus 503, change 10, 480 Mb/s<6>hub.c: new USB device 00:0c.2-2,
assigned address 3
submit_async 2 urb 8be9a8a0 ep0out len 0, qtd a13a0060 [qh 00000000]
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=3 (error=-145)
port 3, portstatus 100, change 0, 12 Mb/s<7>ehci_hcd 00:0c.2: GetStatus port 4
status 001000 POWER sig=se0
port 4, portstatus 100, change 0, 12 Mb/s<7>ehci_hcd 00:0c.2: GetStatus port 5
status 001000 POWER sig=se0
port 5, portstatus 100, change 0, 12 Mb/s
From: David Brownell <[EMAIL PROTECTED]> To: nazim khan <[EMAIL PROTECTED]> CC: [EMAIL PROTECTED] Subject: Re: [linux-usb-devel] Problem with EHCI Controller on MIPS. Date: Tue, 22 Jun 2004 07:27:03 -0700
nazim khan wrote:
Further debugging into the code revealed that the handshake() function is returning this error. (in ehci-hcd.c). The only reason left now is that the done bit is not getting set in the controller.
I've certainly had success reports using EHCI with big-endian MIPS with 2.4.26, but since you're using little-endian MIPS (SPIM?) it's not going to be a byteswap problem. Does 2.4.27-rc work better? Or 2.5.7? A few patches have gone in that might affect you.
- Dave
_________________________________________________________________
Transfer home loans now! http://go.msnserver.com/IN/51405.asp Home loans with 7.5% only.
_________________________________________________________________
Transfer home loans now! http://go.msnserver.com/IN/51405.asp Home loans with 7.5% only.
-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel