On 26.09.2007 00:25, Robert Millan wrote:
On Sat, Sep 01, 2007 at 09:00:57PM +0200, Carl-Daniel Hailfinger wrote:
You patch in the other mail looked fine. Fix the issues mentioned above as "FIX" and post another probe_superio from a lb boot after fixes.
This is getting weird. I just added all the fixes, and got my superio layout to be as similar as the propietary one as shown below, but the PS/2 keyboard still won't work.
Any idea what else can be tried?
$ sudo ./superiotool -d | diff -u PROPIETARY_DUMP - --- PROPIETARY_DUMP 2007-09-25 23:40:14.000000000 +0200 +++ - 2007-09-26 00:21:11.266993669 +0200 @@ -1,7 +1,7 @@ Found ITE IT8712F (id=0x8712, rev=0x7) at port=0x2e Register dump: idx 07 20 21 22 23 24 2b -val 0a 87 12 07 01 00 00 +val 06 87 12 07 01 00 00
That's expected. Basically, idx 07 is a selector for the subfunction you want to access next, so it will be in the state the last access left it.
def NA 87 12 08 00 00 00 LDN 0x00 (Floppy) idx 30 60 61 70 74 f0 f1 @@ -13,7 +13,7 @@ def 00 03 f8 04 00 50 00 7f LDN 0x02 (COM2) idx 30 60 61 70 f0 f1 f2 f3 -val 00 00 00 00 00 50 00 7f +val 01 00 00 00 00 50 00 7f
Interesting...
def 00 02 f8 03 00 50 00 7f LDN 0x03 (Parallel port) idx 30 60 61 62 63 70 74 f0
The first difference I don't know how to change, but strangely the next time I run the same command it isn't detected anymore. As for the second one, it
See above.
still appears despite me setting that register explicitly like all the others, and commenting out the line in it8712f_early_serial.c that set it to 0x01 as well.
It would be interesting to dump LDN 0x02, idx 0x30 at various times during BIOS init.
(note: afaict, this board has no com2 port. could this affect the superio?)
Should not.
Please provide a diff between dmesg under LB and proprietary BIOS. I suspect some keyboard init is done differently.
Also note that some superio internal state will NOT be dumped by superiotool and your problem could very well be there. Unfortunately, we don't have a way to retrieve the internal state.
Carl-Daniel