Forum RSS Feed Follow @ Twitter Follow On Facebook

Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[-]
Welcome
You have to register before you can post on our site.

Username:


Password:





[-]
Latest Threads
[REQUEST] Lenovo Yoga 2 Pro (76CNxxWW) W...
Last Post: marko222
Today 08:05 PM
» Replies: 719
» Views: 384736
Acer Veriton X6640G
Last Post: Hooper
Today 03:11 PM
» Replies: 6
» Views: 185
[REQUEST] MSI B85-G43 Gaming Unlock Poss...
Last Post: Eririri
Today 08:47 AM
» Replies: 19
» Views: 7705
Request to unlock the UEFI startup metho...
Last Post: Same
Today 06:03 AM
» Replies: 0
» Views: 71
Modded bios for Thinkpad R32 (2658-MNG)
Last Post: drhse
Today 02:01 AM
» Replies: 0
» Views: 72
[REQUEST] Acer Aspire E1-570G BIOS Unloc...
Last Post: Dudu2002
Yesterday 07:31 PM
» Replies: 76
» Views: 49694
[REQUEST] Lenovo IdeaPad L340 (BGCNxxWW)...
Last Post: iNatsu
Yesterday 07:24 PM
» Replies: 84
» Views: 28862
[Request] ASUS Q170M-C w/ XEON E3-1270 V...
Last Post: RYGUYMI
Yesterday 06:41 PM
» Replies: 3
» Views: 323
[Request] Dell Inspiron M5010 full unloc...
Last Post: DarkInterloper
Yesterday 06:14 PM
» Replies: 7
» Views: 4205
HP Elitedesk 800 G3 SFF & Xeon E3-1245 v...
Last Post: pepelillo
Yesterday 05:59 PM
» Replies: 9
» Views: 466
Need help with extracting vbios option r...
Last Post: eazyblack
Yesterday 03:29 PM
» Replies: 0
» Views: 97
[REQUEST] Lenovo Thinkpad W540 & W541 (G...
Last Post: within1915
Yesterday 05:46 AM
» Replies: 50
» Views: 22709
ZOTAC ZBOX MI551 7th Generation Intel Su...
Last Post: jbm11208
12-15-2024 04:25 PM
» Replies: 11
» Views: 459
[REQUEST] HP Pavilion g6-1216st Unlock
Last Post: 1nikolas1
12-15-2024 04:20 PM
» Replies: 2
» Views: 1336
Toshiba Satellite L40 (PSL48x & PSL4Cx):...
Last Post: DeathBringer
12-15-2024 01:55 PM
» Replies: 25
» Views: 11291
HP Pro 3400 (Foxconn 2ABF): New GPU Supp...
Last Post: DeathBringer
12-15-2024 07:49 AM
» Replies: 28
» Views: 12262
Changing the boot logo of Asrock j5040
Last Post: Security_Opa
12-14-2024 07:36 PM
» Replies: 0
» Views: 173
[REQUEST] Lenovo Z410 & Z510 (8DCNxxWW) ...
Last Post: Dudu2002
12-14-2024 04:11 PM
» Replies: 489
» Views: 167404
No Bios Password
Last Post: Asphaltgeier
12-14-2024 06:58 AM
» Replies: 0
» Views: 191
[request] Update microcode in HP BIOS fo...
Last Post: Starrynight
12-13-2024 04:46 PM
» Replies: 84
» Views: 67034

Dell Vostro 3450 Advanced Options unlocking in progress
In UEFI mode, the "fast startup" doesn't work, I got stuck with it everytime so I did turn it off.
find
quote
Hi guys, sorry for interrupting your Windows 8 stuff here.
I'm currently messing with DSDT again to see whether I can find the cause of touchpad and keyboard initialization problem.

There is some weird check in DSDT regarding the keyboard. I'm not sure what it does:
Code:
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Method (_STA, 0, NotSerialized)
{
If (And (LEqual (PKBD, 0xFF), LEqual (PKBC, 0xFF))) // what is this check for?
{
Return (Zero) // so it disables the keyboard in some situation?
}
Return (0x0F)
}
Same goes for the touchpad:
Code:
Device (PS2M)
{
Method (_HID, 0, NotSerialized)
{
If (LEqual (BRID, One))
{
Return (0x8F058C11) // As we figured out, this is touchpad model detection thing for different models of Vostro 3450
}
Else
{
Return (0x93058C11) // Another touchpad model ID
}
}

Name (_CID, EisaId ("PNP0F13")) // This is a generic name for PS/2 mouse/touchpad
Method (_STA, 0, NotSerialized)
{
If (And (LEqual (PKBD, 0xFF), LEqual (PKBC, 0xFF)))
{
Return (Zero) // So it disables the compatible generic touchpad ID and reports DLL04C5 or whatever it is for another model. What triggers it to report the compatible ID, then?
}
Return (0x0F)
}
I decided to remove all these checks and make it look like a generic touchpad.
So far, I've been able to do this:
https://dl.dropbox.com/u/91178815/touchpad.png
As you see, there's no DLL04C5 or any other Dell ID. Which is good because it is now detected as an ordinary touchpad. You can install any Synaptics driver for it (though you were able to with the original ID too).
To make Fn+F3 combination work, simply import this regfile:
Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SynTP\Parameters]
"WheelmouseRedetectToResync"=dword:00000001
"VerifyKBCSync"=dword:00000001
"KeyboardController"=dword:00000001
"DetectForceCompatibilityMode"=dword:00000001
"KBCDisableConfig"=dword:00000001
"KBCNotifyConfig"=dword:00000031
"DisableKey"=dword:0000e01e
"HotkeyEnableMask"=dword:07070707
The modified DSDT code is as follows:
Code:
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_STA, 0x0F)
Name (_CRS, 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
)
IRQ (Edge, ActiveHigh, Exclusive, )
{1}
})
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
FixedIO (
0x0060, // Address
0x01, // Length
)
FixedIO (
0x0064, // Address
0x01, // Length
)
IRQNoFlags ()
{1}
}
EndDependentFn ()
})
}

Device (PS2M)
{
Name (_HID, EisaId ("PNP0F13"))
Name (_STA, 0x0F)
Name (_CRS, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive, )
{12}
})
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IRQNoFlags ()
{12}
}
EndDependentFn ()
})
}
}
}
}
I'm not sure if this fixes the initialization problem, but let's see how it goes. I'm testing it right now.
find
quote
The Fn+F3 trick worked fine with a Dell driver 16.2.12.13 from Vostro Notebook 2421, thank you. I've forgot to report it as working over at ixbt.
I find DSDT modification unnecessary as most of the things work anyway.
The cause of Fn+F2 not working may be the same cause of shutdown working improperly in UEFI mode (which is also the case for OSX, actually and I blamed Clover EmuVariable driver for this ..). As far as we were able to troubleshoot, the issue appears to be related with memory allocation.. in UEFI mode memory regions are distributes slightly different as to what DSDT suggest.. and as such it causes the system to freeze when attempting to write a certain register. One thing is not right here - why only a certain value written hands the system..

The _SAT method is actually device status 0x0F = enabled, 0x00 = disabled, but you've figured it out already.
The check for PKBD and PKBC appears to be related with
Code:
OperationRegion (PKBS, SystemIO, 0x60, 0x05)
                Field (PKBS, ByteAcc, Lock, Preserve)
                {
                    PKBD,   8,  // probably keyboard device
                    Offset (0x02),
                    Offset (0x03),
                    Offset (0x04),
                    PKBC,   8 // keyboard controller
                }
both PS2 peripherals will be disabled if controller failed to initialize and. This SystemIO is actually SuperIO, which in our case is ITE8518E chip.
but across all the DSDTs i've seen only Dell appears to be checking for this status, which may explain why it randomly stops working at times..
find
quote
Thanks TW, makes a lot more sense now.

I still don't understand one thing though. Why would they describe a condition when ITE8518E fails to initialize? It's not supposed to happen on a laptop unless there's a hardware problem. I think this check is implemented badly and it may actually be the reason it messes up keyboard and touchpad initialization.

Anyway, I guess it is safe to leave the BRID check there and it will report correct touchpad models?

I have tested two drivers with the generic ID. The driver from Dell website works fine. Fn+F3 doesn't work, but it isn't a problem if you import the .reg file.
16.3.3.8 (the latest one I have) seems a bit messy. I got it to work with Fn+F3, but the LED behavior is strange. If the touchpad is disabled (LED is on) and you press Fn+F3, it flashes once and stays on. The touchpad gets enabled though.
find
quote
I guess it's a rhetoric question which has no answer for obvious reasons - god knows what were Dell thinking when they implemented the check.
The BRID should be fine I guess, it allows to distinguish AMD SG model from Intel-only model, actually display switching is done based on the same check.
Newer drivers (16.3) seem tho think I've got a touch panel installed and they shove onscreen keyboard at me, removing the language switching bar, which is weird. Hence I'm sticking with 16.2 series of drivers for now.
find
quote
So, I restored the BRID check and the touchpad has a yellow bang now. Same Error 10 ("The device cannot start"). The keyboard is working fine though.
What am I doing wrong here?
Code:
Device (PS2M)
                {
                  Method (_HID, 0, NotSerialized)
                    {
                        If (LEqual (BRID, One))
                        {
                            Return (0xC5048C11)
                        }
                        Else
                        {
                            Return (0xD9048C11)
                        }
                    }

                    Name (_CID, EisaId ("PNP0F13"))                    
                    Name (_STA, 0x0F)
                    Name (_CRS, ResourceTemplate ()
                    {
                        IRQ (Edge, ActiveHigh, Exclusive, )
                            {12}
                    })
                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IRQNoFlags ()
                                {12}
                        }
                        EndDependentFn ()
                    })
                }
Also, can you please provide a link for the driver you're using? I tried to download it from Dell website, but it gave me an empty SFX archive with nothing but "version.txt"...
find
quote
Not sure what's the deal. Try making it always return 0xC5048C11 ... as this is the id that corresponds to AMD models.
Here's the link (the driver is originally made for Computers: Inspiron: 3421; Vostro Notebook: 2421): http://www.dell.com/support/drivers/us/e...erId=NHW53&fileId=3143174396&osCode=W864
find
quote
Yeah, I just set _HID to 0xC5048C11, and it is working fine now. Interesting. Perhaps the KBC status check was implemented to allow for BRID check? lollll
I think it's safe to leave it 0xC5048C11 even for Intel-only models because from what I've seen it's exactly the same touchpad. I don't even know why they have different IDs for it. The hotkeys are also the same.
Thanks for the link, I'll try this driver and report back shortly.

OK... Tried it.
The LED works fine. There's a small issue though. When you boot Windows and the LED is on for whatever reason, its behavior gets reversed. Apart from that, everything's working fine.
I'm still sticking to 16.3.8.8 because it has an option to disable the touchpad activation gesture, doesn't have annoying balloon popups, and the configuration utility loads much faster. I can't get the LED to work properly with Fn+F3, but I guess this is a little sacrifice I have to make here.

I have restarted my computer like 20 times and haven't had a single issue with the keyboard! I hope this is the solution to the initialization problem.
find
quote
TW, do you know where Fn+F3 is defined in DSDT? I can't seem to find 0xE01E WMI code there...
I have an idea about fixing the "disable LED" on newer drivers. To verify it, I need to disable the part where it writes to the EC to turn the LED on/off. I thought it was somewhere in DSDT but I can't find it. Is it coded somewhere else?
find
quote
The register doesnt even have a name iirc. Go to github.com/Dolnor and see dsdt commentary for ec registers.
find
quote


Forum Jump:


Users browsing this thread: 6 Guest(s)