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
Dating for unattached relationships
Last Post: gsrsedan
Today 04:32 PM
» Replies: 0
» Views: 3
[REQUEST] Lenovo ThinkPad L450 (JDETxxWW...
Last Post: warener
Today 03:46 PM
» Replies: 91
» Views: 40659
HP Pro 3300 & 3400 (H61): Upgrade to Ivy...
Last Post: thearda501
Today 11:32 AM
» Replies: 117
» Views: 80431
[REQUEST] Acer Predator Helios 300 PH315...
Last Post: candrebs
Today 11:02 AM
» Replies: 10
» Views: 6051
[Request] Dell Inspiron 17r SE 7720 Unlo...
Last Post: flashmaniak
Today 08:55 AM
» Replies: 91
» Views: 93702
TerraMaster F2-220 Bios
Last Post: mcunanan9
Today 08:12 AM
» Replies: 2
» Views: 196
[REQUEST] Acer Nitro N50-610 BIOS Unlock
Last Post: Lucas66700
Today 07:59 AM
» Replies: 3
» Views: 248
[REQUEST] MSI B550M VDH WIFI BIOS UNLOCK
Last Post: CFW
Yesterday 08:28 PM
» Replies: 0
» Views: 82
[REQUEST] Lenovo B590 (H5ETxxWW) Whiteli...
Last Post: Deltist
Yesterday 03:09 PM
» Replies: 267
» Views: 65762
Acer Extensa 5620: CPU replace
Last Post: MPM
Yesterday 01:22 PM
» Replies: 3
» Views: 367
[REQUEST] Lenovo G70-70 BIOS Whitelist R...
Last Post: zuendus
Yesterday 10:48 AM
» Replies: 133
» Views: 66546
[REQUEST] Acer Nitro 5 AN515-52 BIOS Unl...
Last Post: Dudu2002
Yesterday 04:13 AM
» Replies: 21
» Views: 9191
Amibios 8 mod - problem with LPT port
Last Post: Beniu33
Yesterday 04:10 AM
» Replies: 1
» Views: 190
[REQUEST] ASUS TUF A15 FA506IV BIOS Unlo...
Last Post: crankeed11
05-11-2024 02:48 PM
» Replies: 62
» Views: 19154
MSI GX640 (Ms-1656) E1656ims.10f BIOS ne...
Last Post: maciekj22
05-11-2024 11:48 AM
» Replies: 0
» Views: 165
[REQUEST] Lenovo G50-70 (9ACNxxWW) White...
Last Post: kashif7723
05-11-2024 11:08 AM
» Replies: 239
» Views: 72300
Looking for the best VPN for PC
Last Post: Alford
05-10-2024 11:54 PM
» Replies: 1
» Views: 225
[REQUEST] Acer predator Triton 300se pt3...
Last Post: Dudu2002
05-10-2024 07:18 PM
» Replies: 4
» Views: 338
[HELP] Unlock bios advanced settings
Last Post: Iarm0620
05-10-2024 04:44 PM
» Replies: 0
» Views: 218
[REQUEST] Lenovo Y50-70 (9ECNxxWW) BIOS ...
Last Post: gizmo77
05-10-2024 02:34 PM
» Replies: 1971
» Views: 682017

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: 8 Guest(s)