#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)
Change History (107)
by , 13 years ago
Attachment: | usb179.ftf added |
---|
by , 13 years ago
Attachment: | usb181.ftf added |
---|
by , 13 years ago
Attachment: | pci_output.txt added |
---|
by , 13 years ago
Attachment: | config.sys added |
---|
comment:2 by , 13 years ago
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 by , 13 years ago
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 by , 13 years ago
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 by , 13 years ago
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 by , 13 years ago
Owner: | changed from | to
---|---|
Status: | new → accepted |
comment:7 by , 13 years ago
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 by , 13 years ago
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).
by , 13 years ago
Attachment: | TICKET16.2.ZIP added |
---|
in addition, updates to USBUHCD.SYS: wait for halted in tight loop, rearrange UHCIStopBios
comment:9 by , 13 years ago
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 by , 13 years ago
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.
by , 13 years ago
Attachment: | usb181t16.ftf added |
---|
by , 13 years ago
Attachment: | usb181t16.2.ftf added |
---|
comment:11 by , 13 years ago
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 by , 13 years ago
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 by , 13 years ago
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.
by , 13 years ago
Attachment: | usb181b3.ftf added |
---|
by , 13 years ago
Attachment: | usb181b2.ftf added |
---|
by , 13 years ago
Attachment: | usb181b3.2.ftf added |
---|
by , 13 years ago
Attachment: | usb181b1.ftf added |
---|
by , 13 years ago
Attachment: | TICKET16.3.ZIP added |
---|
EHCI: readd managing ownership change on interrupt + setting of disc. event flag
comment:14 by , 13 years ago
try ticket16.3.zip real quick. I didn't have time for detailed analysis yet.
by , 13 years ago
Attachment: | TICKET16.4.ZIP added |
---|
EHCI: on reset, set only "HCRESET" bit and nothing else
by , 13 years ago
Attachment: | usb181t16.3.ftf added |
---|
by , 13 years ago
Attachment: | usb181t16.4.ftf added |
---|
comment:17 by , 13 years ago
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 by , 13 years ago
By the way: for the tests, use USBD.SYS 10.162. If it works with USBD.SYS 10.162 let me know.
by , 13 years ago
Attachment: | usb181t16.5.ftf added |
---|
comment:19 by , 13 years ago
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?
by , 13 years ago
Attachment: | TICKET16.6.ZIP added |
---|
EHCI: on STOP, don't reset PERIOD/ASYNC schedule bits
comment:21 by , 13 years ago
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.
by , 13 years ago
Attachment: | usb181t16.6.ftf added |
---|
comment:22 by , 13 years ago
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.
comment:23 by , 13 years ago
I installed ACPI version 3.19.14, it did not change the behavior of the USB devices.
comment:24 by , 13 years ago
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.
comment:25 by , 13 years ago
Try ticket16.8.zip. It contains an updated USBUHCD.SYS (and also again an update to USBEHCD.SYS).
by , 13 years ago
Attachment: | USB179t16.7.ftf added |
---|
comment:26 by , 13 years ago
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 by , 13 years ago
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 by , 13 years ago
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.
by , 13 years ago
Attachment: | USB179t16.8.ftf added |
---|
by , 13 years ago
Attachment: | TICKET16.9.ZIP added |
---|
USBUHCD / USBEHCD: give more time for HCRESET polling loop
comment:29 by , 13 years ago
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.
by , 13 years ago
Attachment: | USB179t16.9.ftf added |
---|
comment:30 by , 13 years ago
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 by , 13 years ago
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.
comment:32 by , 13 years ago
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.
by , 13 years ago
Attachment: | USB179t16.9.A.ftf added |
---|
comment:33 by , 13 years ago
Using USBHCD179.zip with ticket16.9 and USBD.SYS 10.162.
Only keyboard plugged in at boot, it did not work.
by , 13 years ago
Attachment: | USB179t16.10.ftf added |
---|
comment:34 by , 13 years ago
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.
comment:35 by , 13 years ago
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.
by , 13 years ago
Attachment: | USB179t16.11.ftf added |
---|
by , 13 years ago
Attachment: | USB179t16.11.A.ftf added |
---|
comment:36 by , 13 years ago
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 by , 13 years ago
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 ...)
by , 13 years ago
Attachment: | rmview1.txt added |
---|
comment:38 by , 13 years ago
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 by , 13 years ago
As a test, can you run on one CPU only: specify /MAXCPU=1 on ACPI.PSD command line.
by , 13 years ago
Attachment: | USB179t16.11.B.ftf added |
---|
comment:40 by , 13 years ago
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 by , 13 years ago
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).
by , 13 years ago
Attachment: | usb179mouse.ftf added |
---|
comment:42 by , 13 years ago
Still using 1 CPU. Using USBHCD179.zip with USBD.SYS 10.162. Tracing only 224.
comment:43 by , 13 years ago
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.
by , 13 years ago
Attachment: | usb179boot.ftf added |
---|
by , 13 years ago
Attachment: | usb179pluginmouse.ftf added |
---|
by , 13 years ago
Attachment: | usb179unplugmouse.ftf added |
---|
by , 13 years ago
Attachment: | usb179pluginmouse2.ftf added |
---|
by , 13 years ago
Attachment: | usb179unplugmouse2.ftf added |
---|
by , 13 years ago
Attachment: | usbt16.12boot.ftf added |
---|
comment:44 by , 13 years ago
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.
- boot -- trace output usb179boot.ftf
- plug in mouse -- trace output usb179pluginmouse.ftf
- unplug mouse -- trace output usb179unplugmouse.ftf
- plug in mouse -- trace output usb179pluginmouse2.ftf
- unplug mouse -- trace output usb179unplugmouse2.ftf
I then added ticket16.12.zip. No USB devices plugged in.
- boot -- trace output usbt16.12boot.ftf
- plug in mouse -- no trace data according to tracefmt
- unplug mouse -- no trace data according to tracefmt
comment:45 by , 13 years ago
Aha, so you are saying that with 10.179 attaching/detaching devices also never works ?
by , 13 years ago
Attachment: | TICKET16.13.ZIP added |
---|
EHCI: readd managing ownership change on interrupt
comment:47 by , 13 years ago
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
by , 13 years ago
Attachment: | usbt16.14.1.ftf added |
---|
by , 13 years ago
Attachment: | usbt16.14.2.ftf added |
---|
comment:49 by , 13 years ago
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,
by , 13 years ago
Attachment: | TICKET16.15.ZIP added |
---|
EHCI: change EHCICtxHook, remove check for g_State == SUSPENDING
comment:50 by , 13 years ago
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.
by , 13 years ago
Attachment: | usbticket16.15.1.ftf added |
---|
by , 13 years ago
Attachment: | usbticket16.15.2.ftf added |
---|
comment:51 by , 13 years ago
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 by , 13 years ago
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.
comment:53 by , 13 years ago
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:55 by , 13 years ago
USBHCD182.zip seems to have fixed the problem and works the same as USBHCD179.zip.
comment:56 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
comment:57 by , 13 years ago
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 ...
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.