Jump to content

[UPDATED] Dell Optiplex 760 SFF Setup for ML, Lion & SL


gygabyte666
 Share

122 posts in this topic

Recommended Posts

There is only two ways to try to get back your back audio port that I know of.

 

1) modify the current kext and hope you get it working.

 

2) backup your edits of the current kext and try out older and newer revisions of it.

 

I'm not sure what to edit... :worried_anim:

 

My Lion install is between 85-95% back to the way it was before the catastrophic error. I now have most everything set back up and installed again. I think i'm gonna put this one to bed for now for a few reasons.

 

1) I accomplished what I set out to do, create/modify a dsdt for the system.

2) The current dsdt i've been using for both SL & Lion is working well, not perfect, it's good enough.

3) I'm sick of looking at dsdt code and need to actually play around with the "Mac" more.

4) I've tried damn near everything I can think of to fix the BIOS hang and Sleep/Wake.

5) I CANNOT and will NOT toast this install too by doing all the same thing as before.

6) Again, i'm tired of screwing with it, seems like somethings are fixed while other break. :(

 

I'm attaching my current, mostly working dsdt just for future reference and for others to examine if desired. I've had a decent run with it but there are some problems I just can't seem to solve ATM. I will continue to try to fix it here and there but it won't be on an hourly, daily basis. My system simply can't handle the hard shut downs or reboots so it's best if I test by stretching it out a bit more to avoid causing boot errors on the installs. Opti760.zip

 

Currently, as I said, most things work fine using the dsdt i've provided. It supports HPET, and SpeedStep. The RTC fix seems working ok, no BIOS resets but the hang still occurs from something unrelated I figure. The EHCI fix is working, no more verbose errors. LPC seems ok, I don't get any errors using verbose with this dsdt, although I did briefly try to fix it using an ICH10 patch and it failed, miserably so i'm just gonna leave that as it is. The USBs are all good, they have device-ids fixes and work well. IDE was replaced with SATA and my drive performance is increased because of it.

 

About the only thing that doesn't function as it should is Sleep/Wake. Using this dsdt, it sleeps fine but waking causes a hard reboot, which is very bad for the system. This was tested on Lion. I have no idea what happens on SL.

 

I'm sure there is a ton of {censored} that could be removed from this dsdt to trim the fat off of it but I don't feel comfortable removing things when I know so little of what the consequences will be. If anyone wants to try, please feel free just do me the favor of reporting whatever you find out. I'd like to know. ;-p

 

Lastly, thank you to everyone who has helped through this. I'm changing the topic tag to [WIP] to signify it's not really solved but not really a complete problem anymore either. Thanks for all the help! This one needs to take a rest though. I'll report any changes that occur should I make them and find anything new out. Thanks again. The system is much better than it was, even if all the problems weren't resolved. :)

After a bit more testing i've come to realize that the dsdt I uploaded in the previous post is in fact completely working! :)

 

While i'm sure it's far from perfect in terms of being cluttered with useless extra {censored} and what not, the dsdt does have a confirmed working sleep/wake fix. This not only working with Lion but for SL also. The reason why it wasn't working in SL (and why shutdown wasn't working too) was because the hibernate mode was incorrectly set. Once I changed it back to the default of 0, everything was working again.

 

I would like to confirm that this system is 99.5% complete at this point in my testing. I'm sure it's likely a bit less than that but for now, that is where i've placing it. The only issue that has yet to be resolved is the occasional BIOS reboot hang, but that is likely an error in my dsdt and is merely an inconvenience and not worth the hassle of trying to look into further for fixing. So, all that said, I would like to classify this as case closed. I would like to once again thank everyone who helped me in any and every part of this little adventure.

 

Again, to everyone who assisted...thanks! :)

 

I found this...http://www.insanelymac.com/forum/index.php?showtopic=255482

Maybe you can modify it to work for you?

Link to comment
Share on other sites

see if a 10.6.7 sleeps and wakes normaly. in hibernatemode 0

 

the _WAK might have to be reviced for waking lpt or com that was removed... or the Darwin replacement makes other features.

disable ps2 in bios ?

 

update your first post with the best dsdt candidate and recommend to text compare the .dsl's of orig to your bios version?

 

Both my installs are fully updated. So testing was done on 10.6.8 and it works great. I spent a long time sifting through the _WAK to see if I could change anything to make it work but it's already setup as good as it will be I think. I tested modifications of the working dsdt out tons of times already and any changes cause problems. Those changes were the main cause for the Lion corruption of my first install. This setup is the ONLY one that allows for everything to work that is supposed to work on this system. As I said, i'm sure there are several sections that probably could be removed without issues but i'm not going to bother with it. I only care that the system performs as it should and it does so i'm happy.

 

My motherboard doesn't support PS/2, so there are no options for it in BIOS. :)

 

I'm not sure what to edit... :worried_anim:

 

 

 

 

I found this...http://www.insanelym...howtopic=255482

Maybe you can modify it to work for you?

 

I mean that you'll need to test out different revisions of VoodooHDA.kext to see if some provide the support you are currently lacking. Just make sure to back up your current config as a fallback. In short, using different kext revisions may help with getting the missing ports and the pane should help in figuring out sound problems, if they exist.

 

Thanks for the link but I found that a long time ago. I've been using that dsdt (or a similar one) to figure out my system issues and it did prove helpful. ;p

Link to comment
Share on other sites

Both my installs are fully updated. So testing was done on 10.6.8 and it works great. I spent a long time sifting through the _WAK to see if I could change anything to make it work but it's already setup as good as it will be I think. I tested modifications of the working dsdt out tons of times already and any changes cause problems. Those changes were the main cause for the Lion corruption of my first install. This setup is the ONLY one that allows for everything to work that is supposed to work on this system. As I said, i'm sure there are several sections that probably could be removed without issues but i'm not going to bother with it. I only care that the system performs as it should and it does so i'm happy.

 

My motherboard doesn't support PS/2, so there are no options for it in BIOS. :)

 

 

 

I mean that you'll need to test out different revisions of VoodooHDA.kext to see if some provide the support you are currently lacking. Just make sure to back up your current config as a fallback. In short, using different kext revisions may help with getting the missing ports and the pane should help in figuring out sound problems, if they exist.

 

Thanks for the link but I found that a long time ago. I've been using that dsdt (or a similar one) to figure out my system issues and it did prove helpful. ;p

 

Which version of VoodooHDA did you give me?

 

Thanks.

Link to comment
Share on other sites

If you're having such issues why haven't you started a support thread about it yet?

 

Probably would be better than hi-jacking mine. ;p

 

Not that I minded or anything but I marked this thread as solved so I doubt it'll get a lot of views from other members to try up help you further.

Link to comment
Share on other sites

Check first post for more info.

 

My HDD makes clicking bursts using Lion that doesn't occur in Snow Leopard, Windows or Linux. The drive can't be failing because it only happens in Lion. What would cause this? Any help appreciated. Again, Check first post for more info, I don't want to rewrite what I already wrote. Thanks

Link to comment
Share on other sites

Check first post for more info.

 

My HDD makes clicking bursts using Lion that doesn't occur in Snow Leopard, Windows or Linux. The drive can't be failing because it only happens in Lion. What would cause this? Any help appreciated. Again, Check first post for more info, I don't want to rewrite what I already wrote. Thanks

theres been issues reported in 10.7.3 with ichX and it seems its due to some aggressive power management

sata in dsdt might need some tweaking.

or regress to 10.7.2 kexts for ahci and dependencies

Link to comment
Share on other sites

Thanks Latin, I thought it might be something to do with Lion itself. I would tweak the dsdt but I don't think that's the issue since it's only in Lion, I won't rule it out yet but you're probably right about it being a PM issue. I'll probably just wait till Apple releases 10.7.4 before I try anything. I just wanted to make sure that it wasn't just me with this weird issue. Good to hear others have noticed.

 

Thanks again! :)

Link to comment
Share on other sites

Damn! I was hoping the problems were mostly gone but I got another issue that I've noticed for awhile now and it should be addressed.

 

I stopped using DeviceMergeNub for a long while now because even though my drive is unsupported, it still functions and performs just fine in any application that requires a SuperDrive. Anyway, i'm pretty sure this issue was happening even while using DeviceMergeNub so I don't think that will fix it but i'll try to find time to try it again anyway just to be sure.

 

Now onto the problem. My DVD drive will randomly "disconnect" from the system randomly during use and can't be reconnected. This is occurring in Lion only for now. I haven't tested it in SL but will try to soon and report back with an update. Basically, the drive will be properly detected and function normally upon startup of the system most of the time, sometimes it doesn't work right off the bat but usually it works fine. After awhile of using the system as I normally do, i'll go to check the DVD drive status to find that at some point, it has disconnected and no longer works in the OS. I have been checking the status of the drive in System Profiler, IOReg and through Terminal using drutil. I have tried getting the drive to reconnect or refresh so it works again and is detected by the system through the kextload/kextunload commands, they were used on these kexts:

 

 

/System/Library/Extensions/IOSCSIArchitectureModelFamily.kext/Contents/PlugIns/IOSCSIMultimediaCommandsDevice.kext
/System/Library/Extensions/IOBDStorageFamily.kext
/System/Library/Extensions/IODVDStorageFamily.kext
/System/Library/Extensions/IOCDStorageFamily.kext

 

Now, I think these are the right kexts to try this with but i'm not 100% sure, it was mostly an educated guess. I also planned to check IOReg in more detail to see if I can track down what controller the drive is using to make sure the dsdt isn't causing this, I haven't done it yet though. Anyway, I am not really sure what else to try to fix this. Anyone else had this happen? It's more of an inconvenience than anything at this point as I don't really use the drive for much but I assume this kind of problem could pose a HUGE problem later if I plan on trying to burn discs. Any advise appreciated. :)

Link to comment
Share on other sites

Eject code in SATA. Really, where? Here it is:

 

 

           Device (SATA)
           {
               Name (_ADR, 0x001F0002)
               Name (_SUN, One)
               Device (PRT0)
               {
                   Name (_ADR, Zero)
                   Method (_GTF, 0, NotSerialized)
                   {
                       Name (PIB0, Buffer (0x07)
                       {
                           0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
                       })
                       Return (PIB0)
                   }
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x02)
                           {
                               "io-device-location", 
                               Buffer (0x06)
                               {
                                   "Bay 1"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }
               Device (PRT1)
               {
                   Name (_ADR, One)
                   Method (_GTF, 0, NotSerialized)
                   {
                       Name (PIB1, Buffer (0x07)
                       {
                           0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xF5
                       })
                       Return (PIB1)
                   }
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x02)
                           {
                               "io-device-location", 
                               Buffer (0x06)
                               {
                                   "Bay 2"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }
               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x02)
                       {
                           "device-id", 
                           Buffer (0x04)
                           {
                               0x22, 0x3A, 0x00, 0x00
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

Link to comment
Share on other sites

The only thing resembling the code you provided was here and I changed it from this:

 

 

			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id",
						Buffer (0x04)
						{
							0x22, 0x3A, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)

 

To this:

 

 

			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id",
						Buffer (0x04)
						{
							0x81, 0x26, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)

 

 

Not sure if this is relevant but I took these two screens before the edit was applied. I don't know if these results are trustworthy though since the drive had been disconnected. I checked after the edit too and now the string on PRT5 changed to internal but the DVD drive is listed on PRT1, which was already set to internal before the edit. What do you think?

 

post-248178-0-70443300-1332616649_thumb.png

post-248178-0-35394800-1332616640_thumb.png

 

Aside from just running the OS for a few hours of usual work, is there a more efficient way to test to see if it changed/fixed it?

 

Also, I noticed that my SATA section contains 3 _DSM Methods, the last being the device id mod that I just edited. Do I really need that in there? Or is it possibly just causing problems? Thanks for your assistance as usual. :)

 

UPDATE: Ok, it just disconnected when I tried to check it's status using drutil. So the fix didn't seem to do anything differently. Still randomly disconnecting. :(

Link to comment
Share on other sites

likely u have wrong ports on motherboard in use.. which ? take a pic ?

 

inspiron 530 had an issue with dvd not being on certain port .. or was it being on port 4.. last port

2681 is ESB2 native sata 6 port.

 

hdd on port 0 and dvd on port 3 or 4 .. try that

Link to comment
Share on other sites

Ok, so how exactly would I add that into my dsdt then? I have no ESB2 listed in my dsdt and I don't recall seeing anything about port numbers. I see ESB2 listed in ioreg for the HDD but it doesn't contain any other useful info. The only thing that looks interesting about my HDD controller is it says AHCI Port Number = 0x0. I am pretty sure my DVD drive would say 0x0 too. What would you like me to take a pic of?

 

I'll take another look at the original dsdt to see if anything in there stands out.

Link to comment
Share on other sites

Yeah it definitely said it under the HDD section of ioreg. Problem is, I rebooted to try to find out if ESB2 was under DVD in ioreg too but can't find it now, not even under the HDD.

 

I finally figured out what the mystery device is under my SATA tree in ioreg though. I have three sub-trees under SATA. PRT0, PRT1 and PRT5. PRT0 is my HDD, PRT1 is the DVD drive and PRT5, which I couldn't figure out is the eSATA port on the motherboard, which makes sense since it is displayed as external. At least that's figured out now. Maybe I should rename them in dsdt to make them easily identifiable for future reference. Most of the names in my dsdt I still don't know what they do or what they control. Eventually i'd like to shorten up my dsdt by removing the extra {censored} in it I likely don't need but first I gotta figure out what everything is for.

 

Thanks for the support Latin! I'm gonna put it to bed for tonight, i'll screw with it in the morning. :)

Link to comment
Share on other sites

@Latin, Isn't ESB2 issues usually related to having orange/external icons on internal drives? My ICH10 is functioning as it should, this issue applies only to the disc drive AFAIK. I just need to find out how to either reconnect my DVD drive once it disconnects or fix the issue entirely by fixing the disconnect issue in the first place. I'd like to provide more info or a pic but I need more detail on what would be more helpful.

 

@Anon, no I doubt it's a SATA driver issue. It detects my ICH10 perfectly and even still there are dsdt patches to assist in helping it perform properly. This is likely a user-error on my part in the disc drive section of my dsdt. If my SATA driver wasn't working right, my HDD would be screwing up too and it's been working just fine. Just my DVD drive is having random disconnect problems, otherwise it works normally. Glad my Voodoo kext helped you. :)

 

Anyway, been playing around with the dsdt a bit trying to fix the DVD drive disconnection but no luck thus far. Here is a screenshot of my ioreg of the SATA tree. Maybe something will stick out to someone else. I am out of fixes for it, it looks normal to me.

 

post-248178-0-51061300-1332793002_thumb.png

 

I also monitored console to see if any error messages would give away the problem. This is what I get when I try to check the drive status using drutil when the drive is on the fritz.

 

PM kernel: SerialATAPI device reconfiguration did not complete successfully.  (failedCommandInfo = 0x1)
PM kernel: SerialATAPI Terminating due to unrecoverable Reset error - drive has stopped responding.  (resetType = 0x0, newPowerState = 0x1, failedCommandInfo = 0x1)

 

The only thing I get out of this is to try and change the values it shows, aside from that I got nothing. This is one very annoying issue and is proving to be difficult to fix.

Link to comment
Share on other sites

since it has external sata.. disable it in bios if possible and set id back to the 3a22 (ich10 uses external sata not ich9 and under.

 

or keep as 2681 with esata disabled.

 

also your sata was changed completely from original i think... maybe keep original with only the _DSM with 3a22 id

Link to comment
Share on other sites

Tried everything you mentioned Latin and nothing worked. The drive will still randomly disconnect and I still can't pinpoint the cause of it. Here is what I tried:

 

-Disabled eSATA in BIOS

-Set dsdt SATA id back to 3a22

-Set dsdt SATA id to 2681

-Reverted to old dsdt IDE setup (kept SATA naming & _DSM 3a22 though)

 

I wish I could find out the trigger of the disconnect, that would at least be some progress. I am not alone in this problem though. A quick Google search turned up many other sufferers but it doesn't look like any of them were kind enough to document their progress or provide a fix. Oh well. Thanks for the help. I'm gonna put everything back the way it was for now though. I never would have guessed a DVD drive issue would be so annoying and so difficult to fix...

Link to comment
Share on other sites

 Share

×
×
  • Create New...