Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#16 closed defect (fixed)

Regression - with v179 USB worked - with v181 USB does not work

Reported by: Robert Blair Owned by: Lars Erdmann
Priority: major Component: basedrv
Version: Keywords:
Cc:

Description

I have a IBM Think Centre M51 computer. This computer was used by my wife and had windows installed, she got a new computer so I thought I would use it. So I installed eCS 2.0, USB did not work at all, it would not recognize any USB device, I tried memory sticks, USB hard drives, a keyboard, and a mouse or two. Up until USBHCD179 no USB. Installing 179 everything started working. Now I have installed 181 and I am back to having non functional USB. I went back to 179.

Attachments (50)

usb179.ftf (34.8 KB) - added by Robert Blair 12 years ago.
usb181.ftf (35.7 KB) - added by Robert Blair 12 years ago.
pci_output.txt (29.8 KB) - added by Robert Blair 12 years ago.
config.sys (7.4 KB) - added by Robert Blair 12 years ago.
TICKET16.ZIP (29.4 KB) - added by Lars Erdmann 12 years ago.
EHCIStopBios: do not reset CONFIGURED flag
TICKET16.2.ZIP (48.7 KB) - added by Lars Erdmann 12 years ago.
in addition, updates to USBUHCD.SYS: wait for halted in tight loop, rearrange UHCIStopBios
usb181t16.ftf (37.6 KB) - added by Robert Blair 12 years ago.
usb181t16.2.ftf (40.2 KB) - added by Robert Blair 12 years ago.
usb181b3.ftf (49.5 KB) - added by Robert Blair 12 years ago.
usb181b2.ftf (52.5 KB) - added by Robert Blair 12 years ago.
usb181b3.2.ftf (49.5 KB) - added by Robert Blair 12 years ago.
usb181b1.ftf (60.2 KB) - added by Robert Blair 12 years ago.
TICKET16.3.ZIP (48.8 KB) - added by Lars Erdmann 12 years ago.
EHCI: readd managing ownership change on interrupt + setting of disc. event flag
TICKET16.4.ZIP (48.8 KB) - added by Lars Erdmann 12 years ago.
EHCI: on reset, set only "HCRESET" bit and nothing else
TICKET16.5.ZIP (48.7 KB) - added by Lars Erdmann 12 years ago.
EHCI: tight spin loop on RUN/STOP - HALTED
usb181t16.3.ftf (70.1 KB) - added by Robert Blair 12 years ago.
usb181t16.4.ftf (57.7 KB) - added by Robert Blair 12 years ago.
usb181t16.5.ftf (46.2 KB) - added by Robert Blair 12 years ago.
TICKET16.6.ZIP (48.7 KB) - added by Lars Erdmann 12 years ago.
EHCI: on STOP, don't reset PERIOD/ASYNC schedule bits
usb181t16.6.ftf (46.2 KB) - added by Robert Blair 12 years ago.
TICKET16.7.ZIP (29.4 KB) - added by Lars Erdmann 12 years ago.
USBEHCD: on HC reset only set HCRESET bit
TICKET16.8.ZIP (48.7 KB) - added by Lars Erdmann 12 years ago.
Added updated USBUHCD.SYS
USB179t16.7.ftf (8.6 KB) - added by Robert Blair 12 years ago.
USB179t16.8.ftf (38.2 KB) - added by Robert Blair 12 years ago.
TICKET16.9.ZIP (48.8 KB) - added by Lars Erdmann 12 years ago.
USBUHCD / USBEHCD: give more time for HCRESET polling loop
USB179t16.9.ftf (58.3 KB) - added by Robert Blair 12 years ago.
TICKET16.10.ZIP (48.9 KB) - added by Lars Erdmann 12 years ago.
UHCI: tight polling loop on legacy handoff
USB179t16.9.A.ftf (46.2 KB) - added by Robert Blair 12 years ago.
USB179t16.10.ftf (46.6 KB) - added by Robert Blair 12 years ago.
TICKET16.11.ZIP (48.9 KB) - added by Lars Erdmann 12 years ago.
UHCI: again rework on BIOS handoff
USB179t16.11.ftf (46.4 KB) - added by Robert Blair 12 years ago.
USB179t16.11.A.ftf (46.5 KB) - added by Robert Blair 12 years ago.
rmview1.txt (18.2 KB) - added by Robert Blair 12 years ago.
USB179t16.11.B.ftf (50.9 KB) - added by Robert Blair 12 years ago.
usb179mouse.ftf (2.1 KB) - added by Robert Blair 12 years ago.
TICKET16.12.ZIP (48.9 KB) - added by Lars Erdmann 12 years ago.
EHCI: update to get control before UHCI
usb179boot.ftf (25.8 KB) - added by Robert Blair 12 years ago.
usb179pluginmouse.ftf (2.1 KB) - added by Robert Blair 12 years ago.
usb179unplugmouse.ftf (2.1 KB) - added by Robert Blair 12 years ago.
usb179pluginmouse2.ftf (2.1 KB) - added by Robert Blair 12 years ago.
usb179unplugmouse2.ftf (2.1 KB) - added by Robert Blair 12 years ago.
usbt16.12boot.ftf (32.0 KB) - added by Robert Blair 12 years ago.
TICKET16.13.ZIP (49.0 KB) - added by Lars Erdmann 12 years ago.
EHCI: readd managing ownership change on interrupt
TICKET16.14.ZIP (48.9 KB) - added by Lars Erdmann 12 years ago.
EHCI: on STOP, don't halt HC
usbt16.14.1.ftf (42.1 KB) - added by Robert Blair 12 years ago.
usbt16.14.2.ftf (39.4 KB) - added by Robert Blair 12 years ago.
TICKET16.15.ZIP (49.0 KB) - added by Lars Erdmann 12 years ago.
EHCI: change EHCICtxHook, remove check for g_State == SUSPENDING
usbticket16.15.1.ftf (42.1 KB) - added by Robert Blair 12 years ago.
usbticket16.15.2.ftf (43.5 KB) - added by Robert Blair 12 years ago.
TICKET16.16.ZIP (49.0 KB) - added by Lars Erdmann 12 years ago.
EHCI: tight spin loop on RUN/STOP - HALTED

Download all attachments as: .zip

Change History (107)

Changed 12 years ago by Robert Blair

Attachment: usb179.ftf added

Changed 12 years ago by Robert Blair

Attachment: usb181.ftf added

Changed 12 years ago by Robert Blair

Attachment: pci_output.txt added

Changed 12 years ago by Robert Blair

Attachment: config.sys added

comment:1 Changed 12 years ago by Lars Erdmann

Can you use USBEHCD.SYS 10.181 and USBUHCD.SYS 10.179 and tell me if that combination works ?
Thanks for the trace logs. They reveal that 1 out of the 4 UHCI controllers does not properly initialize. I therefore suspect the problem to be in USBUHCD.SYS but I need to know for sure.

Last edited 12 years ago by Lars Erdmann (previous) (diff)

comment:2 Changed 12 years ago by Robert Blair

I installed version 181 and then copied USBUHCD.SYS from 179. USB did not work.

I installed version 179 and then copied USBEHCD from 181. USB did not work.

comment:3 Changed 12 years ago by Lars Erdmann

Judging from the numbers of HCs you have I would think you have 8 USB ports on your machine. Have you tried all on all 8 USB ports ? What exactly does not work ? Does it hang ? Do USB 2.0 devices not work (memory sticks) or does nothing work, no USB mouse, no USB keyboard ? The traces you sent me stop after init, I can see no devices being attached.

comment:4 Changed 12 years ago by Robert Blair

There are 6 USB ports on the back of the computer and two ports on the front. I have tried all ports before to make sure it was not a hardware problem. My recent tests were with the front ports.

Boot completes normally I have altf2on.$$$ on the boot drive and do not see any error messages altho they may go by fast enough that I do not see them.

The failure is no USB devices are recognized except when I have USB179 installed and then they all work.

When I did the trace there were no USB devices connected, sorry about that. Do you want me to redo the trace with a USB device connected?

comment:5 Changed 12 years ago by Lars Erdmann

yes, connecting devices while the trace is active would help. Make sure you do not delete the existing attachments. I still need them for analysis. When you attach devices, attach a USB 2.0 device (memory stick for example) and a USB 1.x device (USB mice, USB keyboard).
At least I now know that boot completes ok ...

comment:6 Changed 12 years ago by Lars Erdmann

Owner: changed from somebody to Lars Erdmann
Status: newaccepted

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.ZIP added

EHCIStopBios: do not reset CONFIGURED flag

comment:7 Changed 12 years ago by Lars Erdmann

Use ticket16.zip contents, replace USBEHCD.SYS 10.181 with the contained version, then:
a) run in conjunction with USBUHCD.SYS 10.179, report result
b) run in conjunction with USBUHCD.SYS 10.181, report result

comment:8 Changed 12 years ago by Lars Erdmann

Note: USBEHCD.SYS might need to reintroduce setting PORTSC_WKDSCNNT_E on setting PORTSC_P_OWNER, this was changed in SVN rev. 435 (changeset 10.179: 431).

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.2.ZIP added

in addition, updates to USBUHCD.SYS: wait for halted in tight loop, rearrange UHCIStopBios

comment:9 Changed 12 years ago by Lars Erdmann

In a second step: try the contents of TICKET16.2.ZIP. It also contains an updated USBUHCD.SYS.
In any case, make sure you also copy the new .TFF files to OS2\SYSTEM\TRACE so that the trace is properly formatted !

comment:10 Changed 12 years ago by Robert Blair

Sorry for the delay in responding.

All the tests I have done are with a keyboard plugged into a USB port on the back of the computer and connected at boot. I then plug in the USB mouse and then the memory stick.

I tested your new modules. The keyboard worked in both tests and the mouse and memory stick did not work.

Changed 12 years ago by Robert Blair

Attachment: usb181t16.ftf added

Changed 12 years ago by Robert Blair

Attachment: usb181t16.2.ftf added

comment:11 Changed 12 years ago by Lars Erdmann

1) Can you please do as stated in comment #7 ?
2) Can you find out if the mouse is USB 2.0 ? If you open OS/2 hardware manager, can you see devices listed under the EHCI_0 controller ? If yes, how many (when you have the mouse and usb stick plugged in) ?

comment:12 Changed 12 years ago by Lars Erdmann

As a separate test, have all devices connected on bootup (the keyboard, the mouse, the memory stick). Use ticket16.2.zip for this test. Also, increase your trace buffer size (see the readme.txt of the 10.179/10.181 driver on how this is done) as I can see no connect events for USBEHCD.SYS (and the memory stick should be USB 2.0). Report back if that makes them work (when plugged in initially). Finally: experiment with the /S:x switch (where "x"=1,2,4,8,16,32,64) for USBEHCD.SYS (again: see readme.txt in the 10.181 driver)

comment:13 Changed 12 years ago by Robert Blair

I do not understand what this means "EHCIStopBios: do not reset CONFIGURED flag ".

All of the USB devices are near the end of the hardware manager's list which means that they are all after the UHCI_n host controllers.

I added /S:1 to USBEHCD.SYS in config.sys.

Switched to version 181 and added the modules in ticket16.2 file. I plugged all the USB devices in the USB ports on the back of the computer and then rebooted the computer and all devices were active. See trace usb181b1. If I removed any of the devices and later plugged them back in they would not work.

I then moved the mouse and memory stick to the USB ports on the front of the computer and rebooted. The mouse did not work but the keyboard and memory stick did work. See trace usb181b2. If I removed any of the devices and later plugged them back in they would not work.

I moved the mouse and keyboard to the front USB ports and the memory stick to the USB port on the back and rebooted. The mouse and keyboard did not work but the memory stick did work. See trace usb181b3. If I removed any of the devices and later plugged them back in they would not work.

Changed 12 years ago by Robert Blair

Attachment: usb181b3.ftf added

Changed 12 years ago by Robert Blair

Attachment: usb181b2.ftf added

Changed 12 years ago by Robert Blair

Attachment: usb181b3.2.ftf added

Changed 12 years ago by Robert Blair

Attachment: usb181b1.ftf added

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.3.ZIP added

EHCI: readd managing ownership change on interrupt + setting of disc. event flag

comment:14 Changed 12 years ago by Lars Erdmann

try ticket16.3.zip real quick. I didn't have time for detailed analysis yet.

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.4.ZIP added

EHCI: on reset, set only "HCRESET" bit and nothing else

comment:15 Changed 12 years ago by Lars Erdmann

and finally: try ticket16.4.zip and contrast with ticket16.3.zip.

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.5.ZIP added

EHCI: tight spin loop on RUN/STOP - HALTED

comment:16 Changed 12 years ago by Lars Erdmann

and yet another update: try out ticket16.5.zip.

Changed 12 years ago by Robert Blair

Attachment: usb181t16.3.ftf added

Changed 12 years ago by Robert Blair

Attachment: usb181t16.4.ftf added

comment:17 Changed 12 years ago by Robert Blair

Same results for ticket16.3.zip and ticket16.4.zip.

Keyboard, mouse, and memory stick plugged in at boot. Keyboard and memory stick worked, mouse did not work.

Unplugged all devices and plugged them back in nothing worked.

comment:18 Changed 12 years ago by Lars Erdmann

By the way: for the tests, use USBD.SYS 10.162. If it works with USBD.SYS 10.162 let me know.

Changed 12 years ago by Robert Blair

Attachment: usb181t16.5.ftf added

comment:19 Changed 12 years ago by Robert Blair

Ticket16.5.zip has the same results as ticket16.3.zip and ticket16.4.zip.

I moved devices to different USB ports and then the mouse (moved mouse from front USB port to back USB port) worked if plugged in at boot but not if plugged in after boot. So the mouse does not work at all if plugged in the front USB ports but does work if plugged in the back USB ports.

Which version of the USB files contains USBD.SYS 10.162? I have installed USBHCD181.zip. Is it there or is it in the base version of OS/2?

comment:20 Changed 12 years ago by Lars Erdmann

USBD.SYS 10.162 is the base version that came with eComStation.

Last edited 12 years ago by Lars Erdmann (previous) (diff)

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.6.ZIP added

EHCI: on STOP, don't reset PERIOD/ASYNC schedule bits

comment:21 Changed 12 years ago by Lars Erdmann

try ticket16.6.zip. If that still does not work, I will need to add more tracing info to USBEHCD.SYS. It shouldn't matter at all what ports you plug the devices into. Only if any of the UHCI controllers does not work will you see any difference in port behaviour. And that can only be caused by some interrupt problem as the USBUHCD.SYS code is the very same for all UHCI drivers that you have. Are you using ACPI.PSD ? If yes, make sure you use the most recent one. The most recent one is 3.19.15. But 3.19.14 would also be ok. But I think you are using a much older version.

Last edited 12 years ago by Lars Erdmann (previous) (diff)

Changed 12 years ago by Robert Blair

Attachment: usb181t16.6.ftf added

comment:22 Changed 12 years ago by Robert Blair

Ticket16.6.zip with USBD.SYS 10.162 has the same results as ticket16.5.zip.

I think I am using the ACPI.PSD that came with OS/2, I will try a later version.

Last edited 12 years ago by Lars Erdmann (previous) (diff)

comment:23 Changed 12 years ago by Robert Blair

I installed ACPI version 3.19.14, it did not change the behavior of the USB devices.

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.7.ZIP added

USBEHCD: on HC reset only set HCRESET bit

comment:24 Changed 12 years ago by Lars Erdmann

Please try ticket16.7.zip. For USBUHCD.SYS use any version that had worked for you (presumably 10.179).
Also, if you have a PS/2 keyboard and mouse, comment out all USBUHCD.SYS from config.sys and run with USBEHCD.SYS only. Attach and detach your memory stick during runtime (that is: not only during bootup) and tell me if that works ok.

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.8.ZIP added

Added updated USBUHCD.SYS

comment:25 Changed 12 years ago by Lars Erdmann

Try ticket16.8.zip. It contains an updated USBUHCD.SYS (and also again an update to USBEHCD.SYS).

Last edited 12 years ago by Lars Erdmann (previous) (diff)

Changed 12 years ago by Robert Blair

Attachment: USB179t16.7.ftf added

comment:26 Changed 12 years ago by Robert Blair

Installed 10.179, USBEHCD.SYS from ticket16.7.zip, all USBUHCD.SYS statements remed out, and memory stick plugged in.

First boot I got a trap 2 (see below).

Second boot was OK. Memory stick did not work. Unplugged memory stick and plugged it back in still did not work. Plugged in mouse and keyboard, both worked.

Exception in module: USBEHCD TRAP 0002 ERRCD=0001 ERACC= ERLIM= CPU=01 EAX=00080001 EBX=00f9a5a8 ECX=05E80004 EDX=06080008 ESI=fd3a1db9 EDI=f9007f30 EBP=00004eac FLG=00200246 CS:EIP=05e8:00001f2d CSACC=009b CSLIM=0000950b SS:ESP=1530:00004eac SSACC=1097 SSLIM=00003fff DS=05e0 DSACC=0093 DSLIM=0000a637 CR0=8001003b ES=05e0 ESACC=0093 ESLIM=0000a637 CR2=fa1f7000 FS=0000 FSACC= FSLIM= GS=0000 GSACC= GSLIM=

The system detected an internal processing error at location ##0168:fff0f667 - 000f:e667.

0b86090f Internal revision 14.104a_SMP

comment:27 Changed 12 years ago by Lars Erdmann

The trap above is an NMI (non maskable interrupt) due to:
"the system detected a hardware memory error on the system board".
Therefore, the trap says that you have problems with your RAM.
Are you running eCS in a virtual machine ? At least I have seen odd traps with VirtualBox? every now and then when I am running eCS as a guest OS in that virtual machine.
If not I suggest that in your BIOS you deactivate "power on quick test" and instead allow a full memory test instead. The BIOS memory test will usually touch the memory by writing and reading all memory with some data pattern. That has helped on my test machine.

comment:28 Changed 12 years ago by Robert Blair

I am not using a virtual machine. I changed the memory test to "Enhanced", so far no errors.

Installed ticket16.8, removed REM from the USBUHCD.SYS commands. Memory stick plugged in. Memory stick works after boot. Unplugged it and plugged it back in, it did not work. Plugged in keyboard and mouse, they did not work.

Changed 12 years ago by Robert Blair

Attachment: USB179t16.8.ftf added

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.9.ZIP added

USBUHCD / USBEHCD: give more time for HCRESET polling loop

comment:29 Changed 12 years ago by Lars Erdmann

please try TICKET19.6.zip. Also make sure you upate the *.TFF files in the \os2\system\trace directory [[BR]] Try with all devices plugged in on boot (mouse, keyboard, memory stick).
I still don't yet know why detaching/attaching does not work. But first I want to make sure that all devices are at least recognized and properly handled if they are attached on bootup.

Changed 12 years ago by Robert Blair

Attachment: USB179t16.9.ftf added

comment:30 Changed 12 years ago by Robert Blair

Updated files from ticket16.9.zip. Plugged in keyboard, mouse, and memory stick. Boot the system and only the memory stick worked after boot.

comment:31 Changed 12 years ago by Lars Erdmann

For some reason I don't yet understand, the ports with the keyboard and mouse are reset again and again even though the reset is performed correctly:
1.) use USBD.SYS 10.162 (the original one)
2.) for reasons of easier readability of the trace: can you plug in EITHER keyboard OR mouse into a different port (and keep the other one plugged in where it was) ? This will potentially need some trial and error. Alternatively, for the trace, only plug in keyboard or mouse but not both.

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.10.ZIP added

UHCI: tight polling loop on legacy handoff

comment:32 Changed 12 years ago by Lars Erdmann

please try ticket16.10.zip. Copy all files to the appropriate location. If you still have problems and if possible: if you have something like "legacy USB" in your BIOS, disable it (as a test) and retry.
But beware: if you disable "legacy USB" you will not be able to navigate/manipulate BIOS with a USB keyboard/USB mouse. You will need a PS/2 keyboard/mouse [[BR]] Don't forget to take and attach trace. To be on the safe side: use USBD.SYS version 10.162.

Last edited 12 years ago by Lars Erdmann (previous) (diff)

Changed 12 years ago by Robert Blair

Attachment: USB179t16.9.A.ftf added

comment:33 Changed 12 years ago by Robert Blair

Using USBHCD179.zip with ticket16.9 and USBD.SYS 10.162.

Only keyboard plugged in at boot, it did not work.

Changed 12 years ago by Robert Blair

Attachment: USB179t16.10.ftf added

comment:34 Changed 12 years ago by Robert Blair

USB "legacy" was enabled it is now disabled.

Using USBHCD179.zip with ticket16.10.zip and USBD.SYS 10.162.

Only keyboard plugged in at boot, it worked. Unplugged it and plugged it back in, it did not work.

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.11.ZIP added

UHCI: again rework on BIOS handoff

comment:35 Changed 12 years ago by Lars Erdmann

I think there is a problem with the handoff from legacy USB to the native OS/2 HC drivers at least for USBUHCD.SYS. Reenable USB "legacy" and try ticket16.11.zip.
Additionally, I worked on the timing for USBUHCD.SYS to get device attach/detach working. Let's hope for the best ...
As a test and in order to better locate the problem, REM out USBEHCD.SYS from config.sys. You might also want to disable USB 2.0 in BIOS (if you can). Then try with USBUHCD.SYS only (with all 4 instances of USBUHCD.SYS). You can try all your devices but of course, the USB 2.0 memory stick will only work in full (USB 1.x) speed.

Changed 12 years ago by Robert Blair

Attachment: USB179t16.11.ftf added

Changed 12 years ago by Robert Blair

Attachment: USB179t16.11.A.ftf added

comment:36 Changed 12 years ago by Robert Blair

There is no BIOS option for USB 2.0, USB is either enabled or disabled. Remed out USBEHCD.SYS.

Using USBHCD179.zip with ticket16.11.zip and USBD.SYS 10.162.

USB "legacy" was disabled for the first trace USB179t16.11.ftf.

USB "legacy" was enabled for the second trace USB179t16.11.A.ftf.

Keyboard plugged in at boot, it worked. Unplugged it and plugged it back in, it did not work.

Not traced, mouse and memory stick, both plugged in at boot and worked. Unplugging and plugging them back in they did not work.

comment:37 Changed 12 years ago by Lars Erdmann

Do I understand this correctly: with USBUHCD.SYS only, all devices will work when they are attached during boot but all of them will fail when they are detached and subsequently attached ?
Have you tried on multiple ports ? If not please do so and if it makes a difference a trace of where it works against one where it doesn't would be helpful.
This is very strange, I will need to add more tracing info to find out what is going wrong.

As an intermediate test, can you readd USBEHCD.SYS to config.sys and check if everything works the same way as it does without USBEHCD.SYS ?
Once you readd USBEHCD.SYS you should also check in HW manager that the "EHCI_0" controller lists your USB 2.0 capable device(s) which in your case is the memory stick.
The other device(s) (USB keyboard/USB mouse) will naturally show up beneath the "UHCI_x" (x=0...3) controllers.

Note: the HW manager is buggy in that it will not remove devices from the view when they are detached. In other words: with every attach the list of shown devices will grow but it will never decrease. You can also use rmview.exe /D to get the same info (and rmview.exe does not suffer from the display problem ...)

Changed 12 years ago by Robert Blair

Attachment: rmview1.txt added

comment:38 Changed 12 years ago by Robert Blair

Yes all devices work when plugged in at boot and do not work if unplugged and plugged back in. Works the same with or without USBEHCD.SYS.

I mostly use the two front USB ports because they are handy but have used various back USB ports. I do not see any difference using the devices plugged into various USB ports.

Attached is the output of RMVIEW with the mouse, keyboard, and memory stick plugged in when the computer was booted so they were working.

comment:39 Changed 12 years ago by Lars Erdmann

As a test, can you run on one CPU only: specify /MAXCPU=1 on ACPI.PSD command line.

Changed 12 years ago by Robert Blair

Attachment: USB179t16.11.B.ftf added

comment:40 Changed 12 years ago by Robert Blair

Set /MAXCPU=1. The same results. Keyboard, mouse, and memory stick plugged in at boot works. Unplugged all the devices and plugged them back in, they do not work. Then saved the trace data.

comment:41 Changed 12 years ago by Lars Erdmann

1.) reinstall 10.179 with the exception of USBD.SYS where you should use 10.162
2.) trace ONLY USBUHCD.SYS.
3.) boot without USB mouse, see 5.)
4.) after boot empty the trace buffer. You can do this via tracefmt.exe. See the "file" menu
5.) plug in the USB mouse
6.) save the trace.

I need to find out the difference of why 10.179 properly attaches devices but not the newer version 10.181 (and the test versions I have sent).

Changed 12 years ago by Robert Blair

Attachment: usb179mouse.ftf added

comment:42 Changed 12 years ago by Robert Blair

Still using 1 CPU. Using USBHCD179.zip with USBD.SYS 10.162. Tracing only 224.

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.12.ZIP added

EHCI: update to get control before UHCI

comment:43 Changed 12 years ago by Lars Erdmann

you didn't say if detach/attach works with 10.179 ...
In any case, I couldn't see a bit of a difference between usb179mouse.ftf and with the newer versions of USBUHCD.SYS

Now, try ticket16.12.zip. Please use everything of it but stick to USBD.SYS 10.162 for the time being.

Changed 12 years ago by Robert Blair

Attachment: usb179boot.ftf added

Changed 12 years ago by Robert Blair

Attachment: usb179pluginmouse.ftf added

Changed 12 years ago by Robert Blair

Attachment: usb179unplugmouse.ftf added

Changed 12 years ago by Robert Blair

Attachment: usb179pluginmouse2.ftf added

Changed 12 years ago by Robert Blair

Attachment: usb179unplugmouse2.ftf added

Changed 12 years ago by Robert Blair

Attachment: usbt16.12boot.ftf added

comment:44 Changed 12 years ago by Robert Blair

Using 1 CPU. Using USBHCD179.zip with USBD.SYS 10.162 and ticket16.12. Tracing only 224.

The results are the same. Works at boot, unplugin, plug in again, not work.

I did some tracing using USBHCD179.ZIP with USBD.SYS 10.162. No USB devices plugged in.

  1. boot -- trace output usb179boot.ftf
  2. plug in mouse -- trace output usb179pluginmouse.ftf
  3. unplug mouse -- trace output usb179unplugmouse.ftf
  4. plug in mouse -- trace output usb179pluginmouse2.ftf
  5. unplug mouse -- trace output usb179unplugmouse2.ftf

I then added ticket16.12.zip. No USB devices plugged in.

  1. boot -- trace output usbt16.12boot.ftf
  2. plug in mouse -- no trace data according to tracefmt
  3. unplug mouse -- no trace data according to tracefmt

comment:45 Changed 12 years ago by Lars Erdmann

Aha, so you are saying that with 10.179 attaching/detaching devices also never works ?

comment:46 Changed 12 years ago by Robert Blair

No. Using 10.179 everything works normally.

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.13.ZIP added

EHCI: readd managing ownership change on interrupt

comment:47 Changed 12 years ago by Lars Erdmann

Try ticket16.13.zip.
For the time being, use USBD.SYS 10.162. 1) use all of the zip. Trace BOTH, 224 and 226. Detach and attach USB mouse.
2) if it does not work, replace USBEHCD.SYS with 10.179 and redo trace

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.14.ZIP added

EHCI: on STOP, don't halt HC

comment:48 Changed 12 years ago by Lars Erdmann

Sorry, try ticket16.14.zip instead of ticket16.13.zip.

Changed 12 years ago by Robert Blair

Attachment: usbt16.14.1.ftf added

Changed 12 years ago by Robert Blair

Attachment: usbt16.14.2.ftf added

comment:49 Changed 12 years ago by Robert Blair

Trace usbt16.14.1.ftf is with 10.179 and USBD.SYS 10.162 and all of ticket16.14.zip. Plugged in mouse and it did not work,

Trace usbt16.14.2.ftf is USBUHCD.SYS from ticket16.14.zip and USBEHCD.SYS from 10.179. Plugged in mouse and it worked,

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.15.ZIP added

EHCI: change EHCICtxHook, remove check for g_State == SUSPENDING

comment:50 Changed 12 years ago by Lars Erdmann

Please try ticket16.15.zip. Follow the same steps as you did with TICKET16.14.zip.

I am sorry that this all takes so long but we have a mixture of timing problems which I can observe from the traces here and there (and which are always difficult to track down) and an unwanted functional change that I must have made.

Changed 12 years ago by Robert Blair

Attachment: usbticket16.15.1.ftf added

Changed 12 years ago by Robert Blair

Attachment: usbticket16.15.2.ftf added

comment:51 Changed 12 years ago by Robert Blair

Trace usbticket16.15.1.ftf is with 10.179 and USBD.SYS 10.162 and all of ticket16.15.zip. Plugged in mouse and it did not work,

Trace usbticket16.15.2.ftf is USBUHCD.SYS from ticket16.15.zip and USBEHCD.SYS from 10.179. Plugged in mouse and it worked,

comment:52 Changed 12 years ago by Lars Erdmann

This is so extemely odd:
1) with USBEHCD 10.179, on initial reset of the HC, the reset loop times out but the HC is (eventually) correctly reset
2) with USBEHCD from the last ticket, the reset loop does not time out but the HC is not correctly reset

For the HC reset I am now going to revert to what I used in 10.179. However, if that works, I would ask you to hold on until I have found a RELIABLE and WORKING solution to properly reset the HC as 10.179 will surely not work for everyone else's HC.

Changed 12 years ago by Lars Erdmann

Attachment: TICKET16.16.ZIP added

EHCI: tight spin loop on RUN/STOP - HALTED

comment:53 Changed 12 years ago by Lars Erdmann

Try ticket16.16.zip and collect trace.
If it works, please don't immediately hop away. I would like to test some additional stuff, for example, suspend and resume.

comment:54 Changed 12 years ago by Lars Erdmann

try usbhcd182.zip. It's on Hobbes.

comment:55 Changed 12 years ago by Robert Blair

USBHCD182.zip seems to have fixed the problem and works the same as USBHCD179.zip.

comment:56 Changed 12 years ago by Lars Erdmann

Resolution: fixed
Status: acceptedclosed

comment:57 Changed 12 years ago by Lars Erdmann

Thanks for the answer. Let's hope for the best that I won't have to change it yet again due to someone else's controller failing ...

Note: See TracTickets for help on using tickets.