Monday, January 17, 2011

And now... eSATA!

Source: http://www.insanelymac.com/forum/lofiversion/index.php/t186558.html

Well, fixed my DSDT for Sabertooth X58 with that site above to include the eSATA fix!  Yay! :)

For those of you that have the same i7 950 CPU as me, here's a link to my new DSDT:


Let me know if it works for you!

Edit: http://www.multiupload.com/GT173Q2HV3 has the newer DSDT with the HDEF Fix as well

13 comments:

  1. ken,

    I have the same setup with a geforce GTS 450 and finally got it to install using mars and the flags

    -x -v legacy GraphicsEnabler=no cpus=4 busratio=23 PCIRootUID=1

    but when i try to use the boot cd to boot off the drive for the first time i get the you need to restart your computer notification. you have any tips on what i can do to make it work?

    ReplyDelete
  2. Hi Taylor,

    I used a mac and plugged my hard drive into the mac and directly installed it onto that hard drive. After I installed it, I installed the latest chameleon, and put fakesmc and the dsdt into the Extra folder, and that worked for me from there on.

    You can try booting with the -v flag to see the which part of your machine is kernel panicing? I hope this works out for you!

    ReplyDelete
  3. Hi Ken

    Great work so far - I'm very near a perfect Sabertooth build and I too was having issues with eSata.

    However, I downloaded your DSDT and can't get it to compile in DSDTSE - it's full of errors - lots of unknown objects. What did you do to get it to compile? What did you use to extract the DSDT?

    Also, does your firewire work correctly? Mine seems to have a power management issue as I have to send my PC to sleep and then awaken it before it will recognise my firewire drives. There is a firewire DSDT hack for this problem but I can't get that to compile either - I'm no expert when it comes to DSDT editing - I can only copy and paste and if it doesn't work, I don't know how to debug.

    Thirdly, your DSDT doesn't have the very useful [Sound(HDEF)] hack that will allow native sound support (with the ALC8xxx.kext. I prefer that over VoodooHDA. I can post the code if you want.

    Could you post your DSDT specific code for your processor and the eSata fix? Or if you know how to debug DSDT's, maybe a tut on your website would be great.

    Thanks

    K

    ReplyDelete
  4. Hi Keren,

    I used Ubuntu to extract my DSDT using the python scripts found at http://www.insanelymac.com/forum/index.php?showtopic=215844

    I'm not sure why it won't compile for you, I also use DSDTSE as well and it compiled for me.

    For firewire, I don't have any firewire devices to test with, so I have no idea what is or isn't working, sorry.

    For the HDEF hack, if you want to post the DSDT code for the Sabertooth board, I can add it into my DSDT as well :)

    For the eSata fix, I linked the source at the top of my post (the link to insanelymac forums), and for the processor part of the code, it's at the very first part with all the "CPUS" defined (and I think PR0?) I have a lot of school work I need to finish with visual studio, so I can't boot into OSX at the moment. I'll try to make a more detailed post on eSata and processor code over the weekend.

    Hopefully that bit of information helped.

    Ken

    ReplyDelete
  5. Ken

    Thanks for the speedy response.

    Your DSDT DID compile! It was my tinkering with Audio patch and an errant bracket that caused it to fail compiling. I can report that my eSata works perfectly! The only thing I'm worried about is that some users in that eSata fix post spoke of Esata drive corruption over time. How have your drives held up?

    I tested firewire, and the issue is still there - they will only power up after awakening from sleep. Here is the DSDT code that needs to be inserted which may fix the firewire power problem (you can find it in the DSDT hacks section in DSDTSE)

    Firewire power conservation Hack.


    Locate Scope (_GPE), add this on the end.

    Method (_L1A, 0, NotSerialized) /* <-- Added for firewire */
    {
    Notify (\_SB.PCI0.PCIB.FRWR, 0x00)
    Notify (\_SB.PWRB, 0x02)
    }


    Locate your Firewire device (or create it with this code if it doesn´t exist)


    Device (FRWR) /*Add all this code if you don´t have firewire device on DSDT*/
    {
    Name (_ADR, 0x00070000)
    Name (_GPE, 0x1A)
    Method (_DSM, 4, NotSerialized) /* Add from here if you already have a firewire device on dsdt*/
    {
    Store (Package (0x02)
    {
    "fwhub",
    Buffer (0x04)
    {
    0x00, 0x00, 0x00, 0x00
    }
    }, Local0)
    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
    Return (Local0)
    } /* End of code if you just add to a existing firewire device */
    }

    I can't get this to compile. It's something to do with the device name - I don't know. Maybe you'll sort it out? If you want to read the post where it was generated, check here: http://www.insanelymac.com/forum/index.php?showtopic=188920&st=240&p=1322666&#entry1322666

    Another thing I wanted to ask you was about your /Extra folder. Do you have to use NullCPUPowermanagement.kext? I do, because if I don't, I get a kernel panic during boot. A few people with the same board don't seem to need this kext.

    Finally, here's the DSDT hack for audio:

    DSDT AUDIO HACK

    Device (HDEF)
    {
    Name (_ADR, 0x001B0000)
    Method (_PRW, 0, NotSerialized)
    {
    Return (Package (0x02)
    {
    0x0D,
    0x05
    })
    }

    Method (_DSM, 4, NotSerialized)
    {
    Store (Package (0x04)
    {
    "layout-id",
    Buffer (0x04)
    {
    0x7C, 0x03, 0x00, 0x00
    },

    "PinConfigurations",
    Buffer (Zero) {}
    }, Local0)
    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
    Return (Local0)
    }
    }

    Go to Tonymac.com and download Multibeast. Run it and navigate to the Kexts section and install ALC8xxHDA.kext. That should get your sound working perfectly.

    Once again, thanks for this. You're the only person on the entire internet that's nailed the eSata problem - I've been searching for a few weeks now and thought the eSata was running on the Marvel chipset and therefore thought there was no hope. Well done!

    Cheers
    K

    ReplyDelete
  6. This comment has been removed by the author.

    ReplyDelete
  7. It got sent to spam by google's filters, I've fixed it, thanks for the info on HDA :) I'll add it to my DSDT, and take a look at your firewire DSDT things too when I have a chance :)

    ReplyDelete
  8. Hey Ken

    Have you had a chance to look at your firewire? I've still got issues with power management on mine.

    Cheers

    ReplyDelete
  9. @Keren A

    I had a bit of time to play with it, but I couldn't get the audio to work from the DSDT and the ALC8xxHDA kext with the time I had. Where did you put the HDEF device in the DSDT? Also, did you have to install the rollback drivers as well? I did put in the firewire bit into my DSDT but I still have no firewire device to test this with. Do you know of a way to test the firewire power issue without a device to connect to?

    ReplyDelete
  10. @Keren

    Okay, got more time today so I looked at it again. I think I found the proper place to put the HDEF device, so it's working :)

    Next, I looked at your firewire thing, and then made some changes to my DSDT, and now on verbose boot, it's giving me messages saying: "readyFireWire runtime power conservation disabled. (2)", and "FireWire (OHCI) VendorID 1106 ID 3044 PCI now active, GUID *********; max speed s400." So it might mean that it works...?

    I've uploaded it here: http://www.multiupload.com/GT173Q2HV3

    Give it a go, and let me know how it goes, I'm going to make a new blog post for the added HDEF with this file link too :)

    ReplyDelete
  11. Thanks Ken!

    Will take a look and let you know.

    Cheers

    ReplyDelete
  12. Replies
    1. I haven't had any time to play with this lately, so it may not work with some of the more recent updates? But anyways, here's the re-uploaded file from March 10th.

      http://www.multiupload.nl/EX9QEJOIPI

      Delete