InfiniteMac OSx86

InfiniteMac OSx86 (http://infinitemac.com/forum.php)
-   10.X (http://infinitemac.com/forumdisplay.php?f=36)
-   -   Various DSDT mods. (http://infinitemac.com/showthread.php?t=1960)

Slither2008 03-03-2009 11:43 PM

Hi pentiumpc,

Thanks for the information and sharing your beta fn key driver.

I'll go and post some information/guide up on ipis about all this.

Regards,

Steve.

Slither2008 03-04-2009 12:59 AM

Thread for applying your fixes :
http://ipis-osx.wikidot.com/forum/t-...dt#post-403326

Thread for your exprimental kext :
http://ipis-osx.wikidot.com/forum/t-...er#post-403338

Slither2008 03-04-2009 03:45 AM

Hi pentiumpc,

I'd be intersted in trying to offer my programing skills towards your kext.

Would you be willing to share your source for your experimental kext please?

Regards,

Steve.

Slither2008 03-05-2009 12:35 PM

I've made up a skeleton kext that has a basic WorkLoop.

The kext inits, probes, finds and matches the ATKD device nub and then enters my start()

I'm having issues adding an IOInterruptEventSource.

I've declared it in the start() like so :

interruptSrc = IOInterruptEventSource::interruptEventSource(
(OSObject*)this,
OSMemberFunctionCast( IOInterruptEventAction,
this,
&com_ipis_driver_AsusFNKeys::interruptOccurred ),
(IOService*)provider,
(int)0);

I have a test in place to report an error if it's not added to the WorkLoop but as soon as I start up the kext I get KP.

I've tested that it is the interrupt event source causing the issue by removing the above code reducing the kext to a really bare template/skeleton and this allows the driver to load correctly.

If you could point me in the right direction I'd appreciate it.

Alexaar 04-13-2009 11:15 AM

Hi! How the things going?
I want to make some more improvements to 1000H DSDT and need assistance.

The first question is about PS2 controller(doublepost on http://www.insanelymac.com/forum/ind...&#entry1131277 ):

We all using the code
Code:

Device (PS2K)
                {
                    Name (_HID, EisaId ("PNP0303"))
                    Name (_CID, 0x0B03D041)
                    Method (_STA, 0, NotSerialized)
                    {
                        ShiftLeft (One, 0x0A, Local0)
                        If (And (IOST, Local0))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
                        IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
                        IRQNoFlags () {1}
                    })
                }

                Device (PS2M)
                {
                    Name (_HID, EisaId ("SYN0A04"))
                    Name (_CID, Package (0x03)
                    {
                        0x000A2E4F,
                        0x02002E4F,
                        0x130FD041
                    })
                    Method (_STA, 0, NotSerialized)
                    {
                        ShiftLeft (One, 0x0C, Local0)
                        If (And (IOST, Local0))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Name (_CRS, ResourceTemplate ()
                    {
                        IRQNoFlags () {12}
                    })
                }

and it makes doubling in ioreg

http://www.insanelymac.com/forum/upl...1239605847.jpg

and another info - log from open bsd booting

Code:

ichpcib0 at pci0 dev 31 function 0 "Intel 82801GBM LPC" rev 0x02: PM disabled
isa0 at ichpcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbc0: using irq 1 for kbd slot
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0

pmsi0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pmsi0 mux 0

This code works well, but its better to fix this doubling. Any ideas?

And the second question concern the Wakeup on clamshell open function. Any1 try to made it?

Alexaar 04-29-2009 05:48 AM

Still no answers, very sad.
Meanwhile i'll make my own DSDT based on the fixes above and my own fixes. Now, my system works and sleeps perfect under 10.5.6. But, Fn key fixes still works buggy for me.
I'm still looking for more improvements for 1000H DSDT. For instance, i dreaming about clamshell wakeup. Any ideas?

Thireus 05-07-2009 01:06 PM

Hi,

I would like to know where and how can I set the FSB to run these settings:

FSB=54
PCIE=176

That's to get a frequency of 1,9Mhz on my 1000h eeepc, and thus to overclock it the same way as I do under XP with eeectl.

Thanks a lot. :)

Thireus 05-12-2009 06:08 PM

Someone here?

candykane 05-13-2009 09:57 AM

got some stuff from insanely , but i think it would look nice in this collection
fixing sleep mode with the _WAK method

information about the _WAK method.
Arguments:
0 The value of the sleeping state (1 for S1, 2 for S2, and so on).
Result Code (2 DWORD package):
Status Bit field of defined conditions that occurred during sleep.
0x00000000 Wake was signaled and was successful
0x00000001 Wake was signaled but failed due to lack of power.
0x00000002 Wake was signaled but failed due to thermal condition.
Other Reserved
PSS If non-zero, the effective S-state the power supply really entered.

This value is used to detect when the targeted S-state was not entered
because of too much current being drawn from the power supply.

OK, so the _WAK method accepts one argument, which is the number of the sleep state that was requested. It returns its result as a package of 2 DWORDs. The first value is a code that tells whether the wake was successful (0 on success, nonzero on failure) and, if not, why. The second value is also zero on success and on failure returns the value of the sleep state that was actually entered. So basically, it's a success/failure code.

The first argument of the package declaration specifies the number of elements in the package, and the second is the package itself. So, the declaration above simply defines a two element package, where each of the elements is zero. This is necessary because the spec requires that the _WAK method return two values.
So, what this really boils down to is a dummy return value that satisfies the spec (thus eliminating the warnings), but doesn't really do anything. It just always returns a success condition.

Fixing sleep mode.

Look for: _WAK

CODE
Method (_WAK, 1, NotSerialized)
{
Store (0xFF, DBG1)
If (LEqual (Arg0, 0x03))
{
Store (0x8F, SCP)
}

If (LEqual (Arg0, 0x04))
{
If (LEqual (OSFL, Zero))
{
If (LEqual (OSFX, 0x03))
{
Store (0x59, SMIP)
}
Else
{
Store (0x58, SMIP)
}
}

If (LEqual (OSFL, One))
{
Store (0x56, SMIP)
}

If (LEqual (OSFL, 0x02))
{
Store (0x57, SMIP)
}

If (LEqual (OSFX, 0x03))
{
Store (0x59, SMIP)
}
}

If (LEqual (Arg0, One)) {}
If (OSFL)
{
Notify (\_SB.PWRB, 0x02)
}
Else
{
If (LEqual (RTCW, Zero))
{
Notify (\_SB.PWRB, 0x02)
}
}

Notify (\_SB.PCI0.USB0, Zero)
Notify (\_SB.PCI0.USB1, Zero)
Notify (\_SB.PCI0.USB2, Zero)
Notify (\_SB.PCI0.USB3, Zero)
Notify (\_SB.PCI0.USB4, Zero)
Notify (\_SB.PCI0.USB5, Zero)
Return(Package(0x02){0x00, 0x00}) <------ Add here. Edit dsdt_fixed.txt before compiling
}

candykane 05-13-2009 11:55 AM

Backlight control
Another nice thing to add in your laptop DSDT: (Under _SB)

CODE
Device (PNLF)
{
Name (_HID, EisaId ("APP0002"))
Name (_CID, "backlight")
Name (_UID, 0x0A)
Name (_STA, 0x0B)
}

Might help you in loading the backlight control