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
Analyze java class System Identifier cod...
Last Post: Hasan jeet
Today 03:44 PM
» Replies: 0
» Views: 16
[REQUEST] Lenovo G710 BIOS Whitelist Rem...
Last Post: sscdimon
Today 01:53 PM
» Replies: 471
» Views: 132753
[REQUEST] Lenovo Yoga 2 Pro (76CNxxWW) W...
Last Post: cpih
Today 12:03 PM
» Replies: 846
» Views: 328752
Delete Whitelist HP 15s-eq1000
Last Post: gdefareins
Today 09:02 AM
» Replies: 3
» Views: 163
[REQUEST] Lenovo Y470 & Y570 (47CNxxWW) ...
Last Post: jabbari74
Today 03:37 AM
» Replies: 25
» Views: 18140
[REQUEST] Lenovo Thinkpad T420 (83ETxxWW...
Last Post: lucasow
Today 03:02 AM
» Replies: 315
» Views: 194394
[REQUEST] Asus PRIME B460M-A modding bio...
Last Post: hnoimahi
Yesterday 08:04 AM
» Replies: 1
» Views: 255
[REQUEST] Lenovo G580 (62CNxxWW) Whiteli...
Last Post: Dudu2002
Yesterday 05:34 AM
» Replies: 809
» Views: 247013
[REQUEST] Asus maximus X Code "fan profi...
Last Post: appletechgeek
Yesterday 12:12 AM
» Replies: 0
» Views: 130
[REQUEST] Acer Aspire S3-391 BIOS Unlock
Last Post: Dudu2002
04-26-2024 04:27 PM
» Replies: 57
» Views: 25769
[REQUEST] Lenovo V580(c) (H1ETxxWW) Whit...
Last Post: Dudu2002
04-26-2024 04:26 PM
» Replies: 588
» Views: 148262
[REQUEST] GL504GS BIOS unlock
Last Post: pl4gue
04-26-2024 12:19 PM
» Replies: 75
» Views: 59446
[REQUEST] Thinkpad T14S G3 AMD (Type 21C...
Last Post: Dudu2002
04-26-2024 04:37 AM
» Replies: 1
» Views: 162
[REQUEST] Lenovo B490 (H1ETxxWW) Whiteli...
Last Post: sardax
04-25-2024 10:03 PM
» Replies: 101
» Views: 32086
[REQUEST] Acer Aspire E1-571(G) BIOS Unl...
Last Post: Dudu2002
04-25-2024 04:44 PM
» Replies: 127
» Views: 58493
Acer Predator Helios 300 N17C1 G3-572-79...
Last Post: chadreuel
04-25-2024 11:39 AM
» Replies: 0
» Views: 175
[REQUEST] Acer Nitro 5 AN515-56 BIOS Unl...
Last Post: Dudu2002
04-25-2024 07:25 AM
» Replies: 5
» Views: 935
[REQUEST] Lenovo Y50-70 (9ECNxxWW) BIOS ...
Last Post: Dudu2002
04-25-2024 03:52 AM
» Replies: 1972
» Views: 666165
[Request] Acer Aspire Z1620 (h61h aio v1...
Last Post: spingernexx
04-24-2024 06:09 PM
» Replies: 2
» Views: 220
[REQUEST] Lenovo G505 (82CNxxWW) Whiteli...
Last Post: khaos
04-24-2024 04:15 PM
» Replies: 155
» Views: 55786

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