Re: Oprava ACPI DSDT?

2014-01-26 Tema obsahu Dan Lukes
A jeste neco. Jak jsme posilal vystup z devinfo:

 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
   psm0
   Interrupt request lines:
   12

Vsimni si, ze u me neni ovladac psm0 bindovany k PS2M (samostatnemu
zarizeni na sbernici acpi0), ale k PS2K (takze psm je zarizeni na
sbernici atkbdc0, ktera je na sbernici acpi0).

I u me se tedy pro PS2M nenajde zadny ovladac ...

Odpovida tomu i vystup pri bootu:

 atkbdc0: Keyboard controller (i8042) port 0x60,0x64 irq 1 on acpi0
 atkbd0: AT Keyboard irq 1 on atkbdc0
 kbd0 at atkbd0
 atkbd0: [GIANT-LOCKED]
 psm0: PS/2 Mouse irq 12 on atkbdc0
 psm0: [GIANT-LOCKED]
 psm0: model IntelliMouse Explorer, device ID 4

Takze je otazka, jestli neprozkoumat jeste jiny smer reseni nez dloubani
do DSDT - a to ten, proc se u tebe psm0 na atkbdc0 nenajde. Jsi si
jisty, ze na te 8.x-R byl psm0 bindovany k PS2M ? Nebyl i tam zavisly na
atkbdc0 ?

Pokud jo, tak nam uprava DSDT nepomuze. Sice odstranime konflikt, ale
ovladac pro psmcpnp0 stejne funkcni nemame (mozna ani na ty 8.x-R).


Ja jen abysme nehonili strasidla, ktery ve skutecnosti neexistujou.

Dan
-- 
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l


Re: Oprava ACPI DSDT?

2014-01-26 Tema obsahu Dan Lukes
Cejka Rudolf wrote:
   vyzná se někdo trošku v popisu ACPI?

Zhruba. Uz jsem ho i jednou upravoval, kdyz s originalni DSDT system
nenachazel fdc

Jo, pri startu systemu se skutecne da rict aby FreeBSD pouzilo DSDT ze
souboru a nikoli z BIOSu.

Ma to jednu maly hacek, a to je ten, ze DSDT v BIOSu se muze menit s
konfiguraci - at uz hardwarovou, nebo softwarovou (BIOS setup). Takze
pokud se na takhle upravenym systemu pozdeji meni nastaveni BIOSu
pripadne meni hardwarova konfigurace, je potreba stahnout a upravit
DSDT znovu.

To rozhodne vypada jako chyba. Ale nez se pustis to vetsiho
dobrodruzstvi, ja bych nejdriv zaktualizoval BIOS na posledni, tedy 0118:
 https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=18598ProdId=2929

Pri trose stesti v nem chyba uz nebude. Myslim si to proto, ze mam taky
INTEL desku, i kdyz jinou, ale klicove casti DSDT vypadaji jako by si z
oka vypadly. S jednim rozdilem - u te me verze se kolizi autor pokusil
vyresit. Takze mozna u tebe taky. Pravda, posledni BIOS pro tvoji desku
je z ledna 2010, ten muj je az z ledna 2011, takze je otazka, jestli na
tuhle chybu prisli pred tim nebo pote co prestali tvoji desku podporovat ...

U me jsou u PS2M nadefinovany dve varianty CRS, jedna, ktera je stejna
jako ta u tebe, druha, ktera obsahuje pouze IRQ12 (a zadne porty). A
vyber mezi nimi se provadi tak, ze je-li zakazana PS2K (stejne jako u
tebe se u u me ten flag jmenuje KBEP) pouzije se CSR varianta co ma
porty, kdezto je-li povolena, pouzije se ta bezportova. Tim se kolizi
predejde.

Aktualizaci BIOSu bych urcite zacal.

Pokud to uspech neprinese, tak ti muzu jeste poskytnout jak to vypada na
ty my desce, prilozil jsem to naspodu. Musim ale rict, ze to pouzivam
jen na 9.1-R, kde to funguje:
 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
   psm0
   Interrupt request lines:
   12

Jestli to bude fungovat na 9.2-R nebo ne, to rict nemuzu.

Dan


Relevantni cast DSDT:
 Device (PS2M)
 {
 Name (_HID, EisaId (PNP0F03))
 Name (_CID, EisaId (PNP0F13))
 Method (_STA, 0, NotSerialized)
 {
 If (MSEP)
 {
 Return (0x0F)
 }
 Else
 {
 Return (Zero)
 }
 }
 
 Name (CRS1, ResourceTemplate ()
 {
 IRQNoFlags ()
 {12}
 })
 Name (CRS2, ResourceTemplate ()
 {
 IO (Decode16,
 0x0060, // Range Minimum
 0x0060, // Range Maximum
 0x01,   // Alignment
 0x01,   // Length
 )
 IO (Decode16,
 0x0064, // Range Minimum
 0x0064, // Range Maximum
 0x01,   // Alignment
 0x01,   // Length
 )
 IRQNoFlags ()
 {12}
 })
 Method (_CRS, 0, NotSerialized)
 {
 If (KBEP)
 {
 Return (CRS1)
 }
 Else
 {
 Return (CRS2)
 }
 }
 

-- 
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l


Re: Oprava ACPI DSDT?

2014-01-26 Tema obsahu Cejka Rudolf
Dan Lukes wrote (2014/01/26):
 Ma to jednu maly hacek, a to je ten, ze DSDT v BIOSu se muze menit s
 konfiguraci - at uz hardwarovou, nebo softwarovou (BIOS setup). Takze
 pokud se na takhle upravenym systemu pozdeji meni nastaveni BIOSu
 pripadne meni hardwarova konfigurace, je potreba stahnout a upravit
 DSDT znovu.

Co se da delat, hlavne ze mam zase klavesnici :o) Jeste napisu
do freebsd-acpi, treba to pomuze i nekomu dalsimu a treba udelaji
i nejaky workaround.

 To rozhodne vypada jako chyba. Ale nez se pustis to vetsiho
 dobrodruzstvi, ja bych nejdriv zaktualizoval BIOS na posledni, tedy 0118:
  https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=18598ProdId=2929

Bohuzel nepomaha.

 oka vypadly. S jednim rozdilem - u te me verze se kolizi autor pokusil
 vyresit. Takze mozna u tebe taky. Pravda, posledni BIOS pro tvoji desku
 je z ledna 2010, ten muj je az z ledna 2011, takze je otazka, jestli na
 tuhle chybu prisli pred tim nebo pote co prestali tvoji desku podporovat ...

Tohle vypada jako rozumne vysvetleni.

 Relevantni cast DSDT:
  ...

Diky, tohle se zda jako nejspravnejsi reseni. (I kdyz nakonec se ukazalo,
ze v mem pripade funguje jakakoli uprava, co jsem zkousel, a ze s tim
psm0 to byl skutecne dalsi problem.)

 Takze je otazka, jestli neprozkoumat jeste jiny smer reseni nez dloubani
 do DSDT - a to ten, proc se u tebe psm0 na atkbdc0 nenajde. Jsi si
 jisty, ze na te 8.x-R byl psm0 bindovany k PS2M ? Nebyl i tam zavisly na
 atkbdc0 ?

Byl taky na atkbdc0, ale to mi jeste nevysvetlovalo, proc se psm0
neobjevovalo. Ja mam tech stroju totiz vic a tento byl prvni a lekl
jsem se, ze u dalsich taky prijdu o klavesnici a o mys. Takze stale
mam srovnani mezi starym 8.2 a novym 9.2.

 Pokud jo, tak nam uprava DSDT nepomuze. Sice odstranime konflikt, ale
 ovladac pro psmcpnp0 stejne funkcni nemame (mozna ani na ty 8.x-R).

Jo, nakonec jsem jeste podle doporuceni zkusil boot -v (coz se mi nechtelo,
kdyz ted mam jen vzdaleny pristup, ale nakonec se to ukazalo jako velmi
jednoduche pres nextboot -o -v) a ukazalo se psm0: failed to reset the aux
device. A hle, hned jsem se dopracoval k tomu, ze u PS/2 u KVM jsou problemy
a tenhle server zrovna na KVM je, a ze pomaha aux reset zrusit, tj.
v /boot/device.hints pridat hint.psm.0.flags=0x0400. A ted si zpetne
uvedomuju, ze toto urcite neni jediny pripad, kdy se divim, ze pocitac
na KVM nevidi mys, takze i v dalsich pripadech to mozna zkusim. Jedine,
co se mi nevysvetluje, ze jeste pred upgrade mys urcite fungovala a nezda
se, ze by v casti kodu aux reset byly zmeny. Na druhou stranu ale uptime
byl okolo 340 dni a je otazka, za jakych okolnosti se ten stroj pred rokem
bootoval :o)

Diky moc, dost mi to pomohlo v nasmerovani spravnym smerem ;o)

-- 
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
-- 
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l


Re: Oprava ACPI DSDT?

2014-01-26 Tema obsahu Dan Lukes
Uz naposled - nakonec jsem jednu 9.2-R na fyzickym hardware nasel. V
jejim DSDT neni konflikt, CSR pro psmcpnp obsahuje jen IRQ 12. 9.2  psm0
najde tak jak jsem to popisoval u 9.1-R, tedy na atkbdc0 sbernici.

Takze 9.1 versus 9.2 rozdil to nejspis taky neni.

PSM ovladac vi, ze porty ma spolecne - respektive - je implementovany
jako zavisle zarizeni na atkbdc sbernici, takze jeho uz porty
nezajimaji. Kod PSM ovladace tedy zkouma jen, jestli je v DSDT
definovane PNP zarizeni mys a pouzije IRQ z jeho CSR.

Psal jsi, ze jsi zkousel DSDT s odstranenym konfliktem, kde u mysi bylo
jen IRQ - tak to je podle vseho vo vim ta spravna konfigurace.

Pokud to ani tak nefungovalo, je problem spis jinde (a az se podari
zjistit kde, mozna se nakonec ukaze, ze nevadi ani ten konflikt v
cislech portu) ...

Zkus startovat ve verbose rezimu a podivej jestli okoli atkbdc0 nebude
neco divnyho. Pripadne startuj se sysctl debug.psm.loglevel=2


Asi je to noseni drivi do lesa, ale over, ze v jadre mas

device atkbdc
device psm

a v device.hints mas

hint.atkbdc.0.at=isa
hint.atkbdc.0.port=0x060
hint.psm.0.at=atkbdc
hint.psm.0.irq=12


Dan
-- 
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l


Re: Oprava ACPI DSDT?

2014-01-26 Tema obsahu Dan Lukes
Kdyz uz to chodi, muzes to co jsem posilal pred chvili vesele ignorovat.


 Jeste napisu
 do freebsd-acpi, treba to pomuze i nekomu dalsimu a treba udelaji
 i nejaky workaround.

Radsi over, ze to je vubec nutny. Tedy, ze vyresis-li problem s
aux-resetem, ze to na puvodnim nemodifikovanem DSDT nechodi.

Jak jsme koukal do toho kodu, nezdalo se mi, ze by kolize mohla PSM
ovladaci zabranit v provozu. Ledaze to nekde zarizne uz nejaka genericka
cast ACPI kodu - ten je velkej, to nemam v umyslu zkoumat ...

 Diky moc, dost mi to pomohlo v nasmerovani spravnym smerem ;o)

Aspon jsem si ozivil nektery pozapomenuty veci ;-)

Dan


-- 
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l


Re: Oprava ACPI DSDT?

2014-01-26 Tema obsahu Cejka Rudolf
Dan Lukes wrote (2014/01/26):
  Jeste napisu
  do freebsd-acpi, treba to pomuze i nekomu dalsimu a treba udelaji
  i nejaky workaround.
 
 Radsi over, ze to je vubec nutny. Tedy, ze vyresis-li problem s
 aux-resetem, ze to na puvodnim nemodifikovanem DSDT nechodi.

Ano, overil jsem a oprava DSDT (nebo opatchovani FreeBDS) je opravdu
nutna. Mozna bude spravny workaround, ze kdyz psm na porty nehraje,
tak by na ne nemusel hrat ani acpi-ca kod, ale to uz necham na nich.
Uz jsem to poslal, tak ted jsem v ocekavani :o)

-- 
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
-- 
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l