Well, I was refering to the disabling of the second channel after confirming the controller is dual channel (step 7).Brendan wrote:In that case, it sounds like you're not following the sequence in the wiki; where there's 4 steps between "step 3, disable devices" and "step 8, interface tests", and where one of the steps in between is "step 4, flush the output buffer". Note that while many different sequences are possible, the specific sequence described on the wiki was carefully designed to avoid race conditions (like user pressing a key at exactly the wrong time).glauxosdever wrote:It seems that repeating the same command returned 0x00 the second time. Strange, since the previous command was just disabling the second port.
Ok, I have a 2 times loop, though after some more research it turned out that OpenBSD for example didn't even do interface tests. I need to clear this up still.Brendan wrote:For your case, I'd assume it might make sense to have a "retry interface test 3 times before assuming test failed" loop.glauxosdever wrote:In what other conditions should I test again?
Well, I didn't do step 1 and step 2, as I don't have any drivers for them yet (though I had a USB driver in my older kernel).Brendan wrote:Now I'm wondering if you correctly did "step 1, initialise USB controllers because otherwise the firmware's PS/2 emulation will completely screw everything up".glauxosdever wrote:I now got a new problem, the first port translation bit in the configuration byte gets set again, although I disable it. At the end, the POST passed bit gets cleared too.
This would be ideal, but PS/2 translation isn't disabled on my hardware.Brendan wrote:You shouldn't need to check at all.glauxosdever wrote:Should I always read the configuration byte after writing it in order to check integrity?
As to others who have answered in this thread, I'm fine with emulation for now. I even think, since I have a laptop, that the keyboard is connected through PS/2, and not USB. I will see what will be best for later.
Regards,
glauxosdever