Oprava ACPI DSDT?
Cejka Rudolf
cejkar at fit.vutbr.cz
Sun Jan 26 14:30:12 CET 2014
Ahoj,
vyzná se někdo trošku v popisu ACPI? Zkoušel jsem udělat upgrade
z 8.2-stable i386 na 9.2-stable amd64, a přestala fungovat PS/2
klávesnice. Po neúspěšných pokusech s
nooptions NEW_PCIB
v konfiguraci jádra a s
debug.acpi.disabled="hostres"
v /boot/loader.conf jsem se začal dívat na popis ACPI z acpidump -dt.
Kdyby se někdo chtěl podívat, celý výpis je tady:
ftp://ftp.FreeBSD.cz/pub/FreeBSD-local/acpi-ecg3510m/acpi-ecg3510m.asl
V ACPI DSDT je k PS/2 myši a PS/2 klávesnici zhruba toto, kde u PS2M
na rozdíl od jiných popisů, co jsem se díval, je alokace portů 0x60
až 0x64 v podstatě natvrdo bez podmínek:
Device (PS2M)
...
Name (_CRS, ResourceTemplate ()
{ ... porty 0x60..0x64 a IRQ 12 }
...
Device (PS2K)
...
Name (_CRS, ResourceTemplate ()
{ ... porty 0x60..0x64 a IRQ 1 }
...
V 8.2 to nevadí a vznikne očekávaný stav a atkbd0 a psm0 se najdou:
psmcpnp0 pnpinfo _HID=PNP0F03 _UID=0 at handle=\_SB_.PCI0.LPC_.PS2M
Interrupt request lines:
12
atkbdc0 pnpinfo _HID=PNP0303 _UID=0 at handle=\_SB_.PCI0.LPC_.PS2K
I/O ports:
0x60
0x64
atkbd0
Interrupt request lines:
1
psm0
Interrupt request lines:
12
Jenže v 9.2 se porty 0x60 až 0x64 přidají už do PS2M a tím se asi seberou
PS2K, čímž se atkbdc0, atkbd0 ani psm0 nenajdou:
psmcpnp0 pnpinfo _HID=PNP0F03 _UID=0 at handle=\_SB_.PCI0.LPC_.PS2M
I/O ports:
0x60
0x64
unknown pnpinfo _HID=PNP0303 _UID=0 at handle=\_SB_.PCI0.LPC_.PS2K
Zkusil jsem v popisu DSDT PS2M a PS2K prohodit, aby bylo PS2K jako první,
ale našla se jen klávesnice (i když aspoň to :o) (... iasl *.asl do
/boot/acpi_dsdt.aml a acpi_dsdt_load="YES" v /boot/loader.conf):
atkbdc0 pnpinfo _HID=PNP0303 _UID=0 at handle=\_SB_.PCI0.LPC_.PS2K
Interrupt request lines:
1
I/O ports:
0x60
0x64
atkbd0
psm0
psmcpnp0 pnpinfo _HID=PNP0F03 _UID=0 at handle=\_SB_.PCI0.LPC_.PS2M
IRQ 1 pod atkbdc0 místo atkbd0 asi nevadí, ale chybějící IRQ 12 u psm0
nejspíš vadí, takže chybí myš.
Pak jsem zkusil místo prohození PS2K a PS2M jen z PS2M smazat alokaci portů
0x60 až 0x64, ale taky to není ono, klávesnice se najde, ale IRQ 12 a myš
zase chybí:
psmcpnp0 pnpinfo _HID=PNP0F03 _UID=0 at handle=\_SB_.PCI0.LPC_.PS2M
atkbdc0 pnpinfo _HID=PNP0303 _UID=0 at handle=\_SB_.PCI0.LPC_.PS2K
Interrupt request lines:
1
I/O ports:
0x60
0x64
atkbd0
psm0
Tuší někdo, jak by se měl popis DSDT opravit, aby se detekovalo obojí,
PS/2 klávesnice i myš?
Děkuji.
--
Rudolf Cejka <cejkar at fit.vutbr.cz> http://www.fit.vutbr.cz/~cejkar
Brno University of Technology, Faculty of Information Technology
Bozetechova 2, 612 66 Brno, Czech Republic
More information about the Users-l
mailing list