netkas.org

HPETDevice kext

This kext creates HPET device in ioreg, so you dont need(if you need) to edit DSDT to get it.

Originaly I created this kext for myself, because if HPET was enabled in DSDT then my pci wifi device was loosing interrupt and wasnt working, so this kext is workaround for it.

You can use it if you want to get HPET device in ioreg and are lazy to edit DSDT.

by default it uses these parametrs for HPET device (in Info.plist):

<key>base-address</key>
<integer>4275044352</integer>
<key>base-length</key>
<integer>1024</integer>
<key>irq</key>
<integer>12</integer>

which correspond to this:

Memory32Fixed (ReadWrite,
0xFED00000, // Address Base
0x00000400, // Address Length
)

I dont recommend editing irq :).

The kext, for use with snow leopard:
HPETDevice.tar.bz2

Leopard version

Comments

  1. Nadeem
    October 17th, 2009 | 6:47 pm

    Doesnt work here, still get the Hpet device probe failed on boot. Should i remove applehpet.kext ?

    I have an MSI WIND U100.

  2. kirasir
    October 17th, 2009 | 8:41 pm

    Это хпет от гигабайтов. А на асусах он иной. Вреда будет больше, чем пользы. К тому же если в дсдт гигабайтам ReadWrite заменить на ReadOnly, то они работают. Тотальное упрощение всего и вся не есть хорошо, Неткас.

  3. Harold
    October 18th, 2009 | 5:51 am

    Is this the same thing with the -newHPET flag when using fassl’s DSDT Patcher?

  4. netkas
    October 18th, 2009 | 9:04 am

    Еще раз объясняю, сделал для себя, у мене проблема была, когда hpet был включен в dsdt, то pci wifi карта теряла irq в osx, и не работала.

    А тут просто поделился решением, вдруг кому понадобиться.

  5. October 18th, 2009 | 11:58 am

    hey netkas, spasiba u menja rabotaet, i nkanetsta net problem s highspeed usb!
    asus p5w dh 2901 bios

  6. October 18th, 2009 | 4:40 pm

    Can it run under Extra folder?
    Well anyway I’ll try the Extra folder…
    Great Job =)

    ///it can

  7. Nadeem
    October 18th, 2009 | 7:20 pm

    Dont you have any advice for the MSI WIND U100 ??

  8. Vdude
    October 18th, 2009 | 9:17 pm

    Hi netkas
    greetings for your great work
    I have just tried this fix on a HP mini 110 which has a wifi module that really don’t want to work in Snow
    I have loaded the kext in Extra, repaired mket but no change, still no wifi
    Any hint?
    Thanks a lot

    ////this kext is not for enabling wifi.

  9. kirasir
    October 19th, 2009 | 12:06 am

    Напиши, что не для всех, а то я запарюсь потом твой хпет на асусах с и7 или с и5 вырывать 🙂 Ты ж если не напишешь, хрен переубедишь потом кого, что ты для себя сделал.

  10. kirasir
    October 19th, 2009 | 12:08 am

    Кстати, а что мешает вафле ирку в дсдт прописать?

  11. vdude
    October 19th, 2009 | 11:54 am

    Hi
    I know it is not for wifi but I have a problem getting the wifi recognized and I thought this could be the cause, as you mentioned it was for you
    btw, how do you calculate the integer number in the HPET kext?
    4275044352 corresponds to 0xFED00000?
    Because my pci-e card has another base address (0xfeafc000) and I would like to modify your kext with the corresponding integer value and see if it works

  12. tea
    October 20th, 2009 | 8:17 am

    2vdude
    First HPET timer always have base address 0xFED00000. See in your DSDT.

  13. mUmU
    October 27th, 2009 | 12:56 pm

    Hi netkas, would it be possible to compile it under Leo? What i’m trying to do is use any of these NIC cards : 3Com 905B or Intel Pro 100 MT (i guess it is correct model as I don’t have it besides me at the moment) and thought it would be nice to try your HPET kext method since I don’t know whet else to do after playing with all available methods I know of. BTW it’s Leo server 10.5.8. Thanks for any answer.

  14. DJAvr
    November 2nd, 2009 | 9:41 pm

    Пожалуйста, выложите версию для Леопрда 10.5.8. У меня PCI FireWire плата при включеном НРЕТ в DSDT так-же не работает из-за того, что ей не назначается IRQ. Надеюсь, что с Вашим HPETDevice kext будет все в порядке.
    Спасибо.

    ok

  15. November 3rd, 2009 | 2:10 am

    Hello netkas, I have an acer 6930g that suffers a similar problem. The BIOS in these laptops seems to clear the pci memory addresses, making it impossible for osx/freebsd to access the pci lan (attansic l1e) and the minipcie slots. When booting with -v, the Attansic driver “can’t map io regs,” and it looks like this mirrors the issue in freebsd: http://lists.freebsd.org/pipermail/freebsd-acpi/2009-June/005786.html . My wireless is an Apple-branded bcm94321mc, which works fine in windows/linux (linux, I believe, because of the acer-wmi driver). I’ve tried nearly everything, including: pin20, bcm43xx_enabler.sh, switching minipcie slots, recompiling amw0 for SL, using slice’s IOPCIFamily in SL, IOPCMCIAFamily in 10.5.7, multiple versions of PC_EFI, to no avail. With PC_EFI both cards show under ethernet with and without a patched dsdt, but the os can’t allocate resources to them it seems. I hope we can figure something out, as I’ve been pounding my head against this for over a month, and would be happy to debug/beta test for you to fix it, it seems this affects a lot of acers and lenovo notebooks (the S12, I believe). Thanks for all the hard work!

    ///I used leopard’s custom IOPCIFamily for sl, to get wifi/lan working in x32

  16. Andreas
    November 7th, 2009 | 1:21 pm

    I have a problem, even if I use ForceHPET in the boot plist and add a HPET device with this kext or in the DSDT, I still get the error “probeHPET: failed” and if I try to run with vanilla speedstep, I get a kernel panic saying I don’t have HPET.

    What can I do? Would it somehow be possible emulate HPET in software? I have an Abit IP35-E motherboard.

    Thanks!

    ///looks like your hpet isnt activated.

  17. Andreas
    November 7th, 2009 | 8:41 pm

    The thing is that the BIOS doesn’t allow for setting HPET enabled/disabled on the Abit IP35-E motherboard. That’s what I thought the ForceHPET option was for, to enable it for boards where the BIOS doesn’t have the option to. So Setting ForceHPET to Yes should activate it. However, it does not seem to actually work.

    In my decompiled DSDT it doesn’t even have a HPET device, and adding one with the DSDT patcher still does not make it work, nor does the kext. It’s a bit of a mystery to me, as I was under the impression that all Core 2 Duo boards supported it.

    I appreciate the help!

  18. hifihuang
    November 16th, 2009 | 8:52 am

    Is there any way to enable HPET on Abit IP35-E?
    I want to remove NullCPUPowerManagement.kext so as to use vanilla CPUPowerManagement.
    Thanks in advance.

  19. monsterj
    November 18th, 2009 | 1:11 am

    hey everyone, how do you disable HPET in DSDT? Ive got a DSDT file already patched for my EX58-UD5, just wondering if i need to delete the whole Device (HPET) entry from the dsdt.

    thanks for the kext netkas, im sure psy#$&@ will find some way to rip it off

  20. November 18th, 2009 | 7:58 am

    As you probably know, 10.5.8 requires AppleIntelCPUPowerManagement for sleep. On my wind I used your patcher with the default HPET patch, -newHPET does not work; however, PowerManagement cuts my CPU’s top Frequency in half. Given your knowledge in this area, do you think I should be looking at the HPET or the PowerManagent.kext (or perhaps elsewhere) to resolve this issue?

  21. 18seven
    November 29th, 2009 | 11:20 pm

    @ r4i칩

    add DropSSDT=Yes to your boot.plist

  22. Life_inventor
    December 10th, 2009 | 6:40 pm

    а у меня почему-то не работает с ним тоже…
    no HPETs available и все тут =(((

    вариант с DSDT тоже не работает у меня

    вот такая секция у меня в ДСДТ:

    Device (HPET)
    {
    Name (_HID, EisaId (“PNP0103”))
    Name (ATT3, ResourceTemplate ()
    {
    IRQNoFlags ()
    {0}
    IRQNoFlags ()
    {8}
    Memory32Fixed (ReadWrite,
    0xFED00000, // Address Base
    0x00000400, // Address Length
    )
    })
    Name (ATT4, ResourceTemplate ()
    {
    })
    Method (_STA, 0, NotSerialized)
    {
    Return (0x0F)
    }

    Method (_CRS, 0, NotSerialized)
    {
    Return (ATT3)
    }
    }

    Неткас, не подскажешь?

    //hpet физически не работает наверно, ройтесь в биосе.

  23. Life_inventor
    December 10th, 2009 | 6:51 pm

    Забыл сказать, у меня 10.5.8 retail

  24. Life-inventor
    December 10th, 2009 | 7:40 pm

    Решил проблему с помощью disabler.kext…
    В общем-то делалось ради слипа, вот этот фикс полностью рабочий:
    http://thireus.dareyourmind.net/index.php/thireus-home-news/7-app-hack-updates/71-sleep-fix-for-1058-final-%20release-d

  25. kieferyu
    April 2nd, 2010 | 4:49 am

    Hi Netkas :

    The RS link has failed, coudl you please provide another link?

    Best regards.

  26. May 19th, 2010 | 6:16 pm

    […] HPETDevice.kext 启动HPET,by netkas […]

  27. Junzologies
    June 14th, 2010 | 1:38 pm

    Hey Netkas, I get this problem

    Jun 14 09:26:50 localhost kernel[0]: Kext org.netkas.HPETDevice – page 0x5518d000 is not backed by physical memory.
    Jun 14 09:26:50 localhost kernel[0]: Kext org.netkas.HPETDevice start failed (result 0xdc008007).
    Jun 14 09:26:50 localhost kernel[0]: Kext org.netkas.HPETDevice failed to load (0xdc008017).
    Jun 14 09:26:50 localhost kernel[0]: Failed to load kext org.netkas.HPETDevice (error 0xdc008017).
    Jun 14 09:26:50 localhost kernel[0]: Couldn’t alloc class “HPETDevice”

    Any idea? I only get this problem when I have an DSDT. However, I tried using the DSDT patch but it just does not compile.

  28. jxphajzw
    July 2nd, 2010 | 10:53 am

    this new HPETDevice kext

  29. November 29th, 2010 | 11:41 am

    […] ACPIPS2Controller.kext  NullCPUPowerManagement.kext  HPETDevice.kext 启动HPET,by netkas PlatformUUID.kext  […]

  30. August 4th, 2011 | 6:18 am

    […] HPETDevice.kext 启动HPET,by netkas […]

  31. combdn
    December 21st, 2011 | 11:13 am

    А какую wifi карту используете? А то второй день сижу читаю: у одной то не так, у другой еще что-то.

    Буду очень благодарен за совет.

    ///bcm какая-то из работающих из коробки

Leave a reply