Jump to content

Different solutions


Andy Vandijck
 Share

925 posts in this topic

Recommended Posts

Added Github repo containing the latest "Release" version (2.3.2).

 

Page:

https://github.com/andyvand/FixEDID

 

However, I lost the 2.4.0 beta 7 version. Please if somebody has it, reupload...

  • Like 1
Link to comment
Share on other sites

Link to comment
Share on other sites

Is there Intel raid support?

Thanks.

RAID support = Intel RAID .efi driver binary.

Put it in drivers64UEFI...

Many BIOS mod forums will give you those...

Link to comment
Share on other sites

here is Andy ..... keep on rockin bro :guitar:

 

 

https://www.dropbox.com/s/ry2oytffhjxu5oo/AnV-Dev.zip?dl=0

Everything that wasn't on Github now is...

Thanks :D

Link to comment
Share on other sites

Hi Andy

I am trying to compile inteltool from your hwtools-master.zip but getting this error:

Checking for pciutils and zlib... not found.

Please install pciutils-devel and zlib-devel.
See README for more information.

make: *** [pciutils] Error 1

Where and how can i get those?

 

Thanks

Link to comment
Share on other sites

Hi Andy

I am trying to compile inteltool from your hwtools-master.zip but getting this error:

Checking for pciutils and zlib... not found.

Please install pciutils-devel and zlib-devel.
See README for more information.

make: *** [pciutils] Error 1

Where and how can i get those?

 

Thanks

pciutils you can get from Apple' site (I think) and otherwise pciutils with Apple patch.

zlib.org.... official zlib or my own custom Apple compliant version (patch available from Github, my AppleUpdates)

Link to comment
Share on other sites

Hi Andy! 

I'm reading your posts "IOUSBFamily" and this.

 

I'm thinking, there is a way to build a driver to make work a Winbond Consumer Infrared Receiver ? I have an IrDA and a section in my native DSDT like this:

Device (CIR)
                {
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        If (LLess (OSYS, 0x07D6))
                        {
                            Return (0x2310A35C)
                        }
                        Else
                        {
                            Return (0x2010A35C)
                        }
                    }

                    OperationRegion (WBIO, SystemIO, 0x2E, 0x02)
                    Field (WBIO, ByteAcc, NoLock, Preserve)
                    {
                        INDX,   8, 
                        DATA,   8
                    }

                    Mutex (WBMX, 0x00)
                    IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x07), 
                        LDN,    8, 
                        Offset (0x30), 
                        ACTR,   1, 
                        Offset (0x60), 
                        IOAH,   8, 
                        IOAL,   8, 
                        Offset (0x70), 
                        INTR,   8
                    }

                    Method (ENFG, 1, NotSerialized)
                    {
                        Acquire (WBMX, 0xFFFF)
                        Store (0x07, INDX)
                        Store (Arg0, DATA)
                    }

                    Method (EXFG, 0, NotSerialized)
                    {
                        Release (WBMX)
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ENFG (0x03)
                        Store (ACTR, Local0)
                        EXFG ()
                        If (Local0)
                        {
                            Store (0x0F, Local0)
                        }
                        Else
                        {
                            Store (0x0D, Local0)
                            _DIS ()
                        }

                        If (LEqual (CIRI, Zero))
                        {
                            Store (Zero, Local0)
                            _DIS ()
                        }

                        If (LLess (OSYS, 0x07D6))
                        {
                            ENFG (0x03)
                            Store (Zero, IOAH)
                            Store (Zero, IOAL)
                            EXFG ()
                        }

                        Return (Local0)
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        ENFG (0x03)
                        Store (Zero, ACTR)
                        Store (Zero, IOAH)
                        Store (Zero, IOAL)
                        Store (Zero, INTR)
                        EXFG ()
                        ENFG (0x04)
                        Store (Zero, ACTR)
                        Store (Zero, IOAH)
                        Store (Zero, IOAL)
                        EXFG ()
                        Store (Zero, Z00Z)
                    }

                    Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
                    {
                        Name (PRS1, ResourceTemplate ()
                        {
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0600,             // Range Minimum
                                    0x0600,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IO (Decode16,
                                    0x0620,             // Range Minimum
                                    0x0620,             // Range Maximum
                                    0x01,               // Alignment
                                    0x20,               // Length
                                    )
                                IRQNoFlags ()
                                    {4}
                            }
                            EndDependentFn ()
                        })
                        Name (PRS2, ResourceTemplate ()
                        {
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0620,             // Range Minimum
                                    0x0620,             // Range Maximum
                                    0x01,               // Alignment
                                    0x20,               // Length
                                    )
                                IRQNoFlags ()
                                    {4}
                            }
                            EndDependentFn ()
                        })
                        If (LLess (OSYS, 0x07D6))
                        {
                            Return (PRS2)
                        }
                        Else
                        {
                            Return (PRS1)
                        }
                    }

                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        Name (DCRS, ResourceTemplate ()
                        {
                            IO (Decode16,
                                0x0000,             // Range Minimum
                                0x0000,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IO (Decode16,
                                0x0000,             // Range Minimum
                                0x0000,             // Range Maximum
                                0x01,               // Alignment
                                0x20,               // Length
                                )
                            IRQNoFlags ()
                                {7}
                        })
                        Name (CRS1, ResourceTemplate ()
                        {
                            IO (Decode16,
                                0x0600,             // Range Minimum
                                0x0600,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IO (Decode16,
                                0x0620,             // Range Minimum
                                0x0620,             // Range Maximum
                                0x01,               // Alignment
                                0x20,               // Length
                                )
                            IRQNoFlags ()
                                {4}
                        })
                        Name (CRS2, ResourceTemplate ()
                        {
                            IO (Decode16,
                                0x0620,             // Range Minimum
                                0x0620,             // Range Maximum
                                0x01,               // Alignment
                                0x20,               // Length
                                )
                            IRQNoFlags ()
                                {4}
                        })
                        ENFG (0x03)
                        Store (ACTR, Local0)
                        EXFG ()
                        If (Local0)
                        {
                            If (LLess (OSYS, 0x07D6))
                            {
                                Return (CRS2)
                            }
                            Else
                            {
                                Return (CRS1)
                            }
                        }
                        Else
                        {
                            Return (DCRS)
                        }
                    }

                    Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
                    {
                        If (LLess (OSYS, 0x07D6))
                        {
                            CreateByteField (Arg0, 0x02, IO1L)
                            CreateByteField (Arg0, 0x03, IO1H)
                            CreateWordField (Arg0, 0x09, IRQX)
                            FindSetRightBit (IRQX, Local0)
                            Decrement (Local0)
                            ENFG (0x03)
                            Store (Zero, INTR)
                            Store (Zero, IOAH)
                            Store (Zero, IOAL)
                            Store (One, ACTR)
                            EXFG ()
                            ENFG (0x04)
                            Store (Local0, INTR)
                            Store (IO1H, IOAH)
                            Store (IO1L, IOAL)
                            Store (One, ACTR)
                            EXFG ()
                        }
                        Else
                        {
                            CreateByteField (Arg0, 0x02, AD1L)
                            CreateByteField (Arg0, 0x03, AD1H)
                            CreateByteField (Arg0, 0x0A, AD2L)
                            CreateByteField (Arg0, 0x0B, AD2H)
                            CreateWordField (Arg0, 0x11, IRQM)
                            FindSetRightBit (IRQM, Local0)
                            Decrement (Local0)
                            ENFG (0x03)
                            Store (Local0, INTR)
                            Store (AD1H, IOAH)
                            Store (AD1L, IOAL)
                            Store (One, ACTR)
                            EXFG ()
                            ENFG (0x04)
                            Store (Zero, INTR)
                            Store (AD2H, IOAH)
                            Store (AD2L, IOAL)
                            Store (One, ACTR)
                            EXFG ()
                        }

                        Store (One, Z00Z)
                    }
                }

If you need more informations I can post you the informations from Windows with installed driver.

  • Like 1
Link to comment
Share on other sites

Hi Andy! 

I'm reading your posts "IOUSBFamily" and this.

 

I'm thinking, there is a way to build a driver to make work a Winbond Consumer Infrared Receiver ? I have an IrDA and a section in my native DSDT like this:

Device (CIR)
                {
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        If (LLess (OSYS, 0x07D6))
                        {
                            Return (0x2310A35C)
                        }
                        Else
                        {
                            Return (0x2010A35C)
                        }
                    }

                    OperationRegion (WBIO, SystemIO, 0x2E, 0x02)
                    Field (WBIO, ByteAcc, NoLock, Preserve)
                    {
                        INDX,   8, 
                        DATA,   8
                    }

                    Mutex (WBMX, 0x00)
                    IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x07), 
                        LDN,    8, 
                        Offset (0x30), 
                        ACTR,   1, 
                        Offset (0x60), 
                        IOAH,   8, 
                        IOAL,   8, 
                        Offset (0x70), 
                        INTR,   8
                    }

                    Method (ENFG, 1, NotSerialized)
                    {
                        Acquire (WBMX, 0xFFFF)
                        Store (0x07, INDX)
                        Store (Arg0, DATA)
                    }

                    Method (EXFG, 0, NotSerialized)
                    {
                        Release (WBMX)
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ENFG (0x03)
                        Store (ACTR, Local0)
                        EXFG ()
                        If (Local0)
                        {
                            Store (0x0F, Local0)
                        }
                        Else
                        {
                            Store (0x0D, Local0)
                            _DIS ()
                        }

                        If (LEqual (CIRI, Zero))
                        {
                            Store (Zero, Local0)
                            _DIS ()
                        }

                        If (LLess (OSYS, 0x07D6))
                        {
                            ENFG (0x03)
                            Store (Zero, IOAH)
                            Store (Zero, IOAL)
                            EXFG ()
                        }

                        Return (Local0)
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        ENFG (0x03)
                        Store (Zero, ACTR)
                        Store (Zero, IOAH)
                        Store (Zero, IOAL)
                        Store (Zero, INTR)
                        EXFG ()
                        ENFG (0x04)
                        Store (Zero, ACTR)
                        Store (Zero, IOAH)
                        Store (Zero, IOAL)
                        EXFG ()
                        Store (Zero, Z00Z)
                    }

                    Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
                    {
                        Name (PRS1, ResourceTemplate ()
                        {
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0600,             // Range Minimum
                                    0x0600,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IO (Decode16,
                                    0x0620,             // Range Minimum
                                    0x0620,             // Range Maximum
                                    0x01,               // Alignment
                                    0x20,               // Length
                                    )
                                IRQNoFlags ()
                                    {4}
                            }
                            EndDependentFn ()
                        })
                        Name (PRS2, ResourceTemplate ()
                        {
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0620,             // Range Minimum
                                    0x0620,             // Range Maximum
                                    0x01,               // Alignment
                                    0x20,               // Length
                                    )
                                IRQNoFlags ()
                                    {4}
                            }
                            EndDependentFn ()
                        })
                        If (LLess (OSYS, 0x07D6))
                        {
                            Return (PRS2)
                        }
                        Else
                        {
                            Return (PRS1)
                        }
                    }

                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        Name (DCRS, ResourceTemplate ()
                        {
                            IO (Decode16,
                                0x0000,             // Range Minimum
                                0x0000,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IO (Decode16,
                                0x0000,             // Range Minimum
                                0x0000,             // Range Maximum
                                0x01,               // Alignment
                                0x20,               // Length
                                )
                            IRQNoFlags ()
                                {7}
                        })
                        Name (CRS1, ResourceTemplate ()
                        {
                            IO (Decode16,
                                0x0600,             // Range Minimum
                                0x0600,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IO (Decode16,
                                0x0620,             // Range Minimum
                                0x0620,             // Range Maximum
                                0x01,               // Alignment
                                0x20,               // Length
                                )
                            IRQNoFlags ()
                                {4}
                        })
                        Name (CRS2, ResourceTemplate ()
                        {
                            IO (Decode16,
                                0x0620,             // Range Minimum
                                0x0620,             // Range Maximum
                                0x01,               // Alignment
                                0x20,               // Length
                                )
                            IRQNoFlags ()
                                {4}
                        })
                        ENFG (0x03)
                        Store (ACTR, Local0)
                        EXFG ()
                        If (Local0)
                        {
                            If (LLess (OSYS, 0x07D6))
                            {
                                Return (CRS2)
                            }
                            Else
                            {
                                Return (CRS1)
                            }
                        }
                        Else
                        {
                            Return (DCRS)
                        }
                    }

                    Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
                    {
                        If (LLess (OSYS, 0x07D6))
                        {
                            CreateByteField (Arg0, 0x02, IO1L)
                            CreateByteField (Arg0, 0x03, IO1H)
                            CreateWordField (Arg0, 0x09, IRQX)
                            FindSetRightBit (IRQX, Local0)
                            Decrement (Local0)
                            ENFG (0x03)
                            Store (Zero, INTR)
                            Store (Zero, IOAH)
                            Store (Zero, IOAL)
                            Store (One, ACTR)
                            EXFG ()
                            ENFG (0x04)
                            Store (Local0, INTR)
                            Store (IO1H, IOAH)
                            Store (IO1L, IOAL)
                            Store (One, ACTR)
                            EXFG ()
                        }
                        Else
                        {
                            CreateByteField (Arg0, 0x02, AD1L)
                            CreateByteField (Arg0, 0x03, AD1H)
                            CreateByteField (Arg0, 0x0A, AD2L)
                            CreateByteField (Arg0, 0x0B, AD2H)
                            CreateWordField (Arg0, 0x11, IRQM)
                            FindSetRightBit (IRQM, Local0)
                            Decrement (Local0)
                            ENFG (0x03)
                            Store (Local0, INTR)
                            Store (AD1H, IOAH)
                            Store (AD1L, IOAL)
                            Store (One, ACTR)
                            EXFG ()
                            ENFG (0x04)
                            Store (Zero, INTR)
                            Store (AD2H, IOAH)
                            Store (AD2L, IOAL)
                            Store (One, ACTR)
                            EXFG ()
                        }

                        Store (One, Z00Z)
                    }
                }

If you need more informations I can post you the informations from Windows with installed driver.

Do so please...

I'll decompile the driver (find me a pdb if you can too)...

Thx

Brilliant work as always! Any more of this R-E work of yours and you'd end up trolling both MS and Apple big time. :D

Look under my Github repo.

The kext tools project.

Look at the stars.

You'll find mspublic (Microsoft Public) ;)

Link to comment
Share on other sites

Do so please...

I'll decompile the driver (find me a pdb if you can too)...

Thx

This are the drivers for 64bit system extracted from Windows directory.  http://www.mediafire.com/download/0a05limtlhdd913/nuvotoncir_x86_64.zip

 

And this are the installable driver from the vendor. http://www.mediafire.com/download/7ckjxd0b4qinm81/CIR_WinBond_8.60.1000_W7x64W7x86_A.zip

 

I can't find any "pdb" file associated to the driver. 

Link to comment
Share on other sites

  • 1 month later...

For a what? Did you make useful conclusions from it?

Just for the fun.

To get some info on how MS it's SMBIOS driver worked.

Can be recompiled if needed... Also stuff can be ported...

EDIT: May aso be useful for Wine...

Link to comment
Share on other sites

I have on my Packard Bell laptop an extension for the HAL.

This plugin I have succesfully decompiled fully.

Enjoy... :D

 

Full driver is also included.

halextintclpiodma.zip

Link to comment
Share on other sites

This are the drivers for 64bit system extracted from Windows directory.  http://www.mediafire.com/download/0a05limtlhdd913/nuvotoncir_x86_64.zip

 

And this are the installable driver from the vendor. http://www.mediafire.com/download/7ckjxd0b4qinm81/CIR_WinBond_8.60.1000_W7x64W7x86_A.zip

 

I can't find any "pdb" file associated to the driver. 

Without any .pdb file I can give you this:

Decompiled driver without any names matched (other than those done with FLIRT).

Names you'll have to do for yourself but it is the driver you supplied...

Enjoy ;)

EDIT: Take my driver as example and rename... :D If you had an official MS driver I could decompile that (with full .pdb info)

nuvotoncir.zip

  • Like 1
Link to comment
Share on other sites

I succesfully decompiled Microsoft's Inter IC Bus (I2C) HID driver.

This could be used for future trackpad support on some laptops on OS X.

Enjoy ;):D

hidi2c.zip

  • Like 2
Link to comment
Share on other sites

I managed to succesfully retrieve the source code of the Windows Loader (winload.efi, all decompiled but one function) and Windows Resumer (winresume.efi, fully decompiled).

Sources are attached below.

They are retrieved from Windows 8.1 (x64).

Enjoy ;):D

 

EDIT: I managed to fully decompile the Windows boot manager (bootmgfw.efi and bootmgr.efi) and I manually adjusted the decompile of the last function of the Windows loader (winload.efi). I also extracted the resources and pulled them into source.

All is now inside this one zip containing all.

Have fun ... :D

 

Download (because of uploads failing, damn you Telenet for your hotspots from hell...):

https://www.dropbox.com/s/hu40lj1ra874ytf/MSEFIBoot.zip?dl=0

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

I succesfully decompiled Microsoft's Inter IC Bus (I2C) HID driver.

This could be used for future trackpad support on some laptops on OS X.

Enjoy ;):D

Hi Andy, please see here: http://www.insanelymac.com/forum/topic/304487-i2c-hid-touchscreens-trackpads-and-more/

 

I have been developing an hid-i2c kext for a while now. Communication with the Haswell Lynxpoint I2C busses is done. I am working on sorting out communication with the hid devices now. My code is very messy but will be refactored later on when I have something working.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Hey Andy and thanks for your (h)andy tool (ba dumm tsss).

 

Anyway, I just used it to decompress the prelinkedkernel (which is equal to kernelcache) on El Capitan Public Beta 1 (= Developer Beta 3) and at first sight it works great. Though I did a comparison between the original uncompressed kernel and the kernel decompressed by your tool and I noticed 21 changes varying between changing single and inserting/deleting multiple bytes. The kernel have exactly the same length and all strings are intact. I rebuild the cache twice to make sure it's not an older kernel version cached.

 

Two options: Either the decompression code needs an update to El Cap, or Apple manipulates the kernel before caching... Any ideas?

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...