Contribute
Register

No sound in ASUS P8H67-M. Tried everything

Status
Not open for further replies.
yes please, give me the link... I might find a working kext by following. thanks
drumzilla said:
just ran the sleep enabler kext from this site .. lmk if you need the link
 
yes please, give me the link... I might find a working kext by following. thanks
drumzilla said:
just ran the sleep enabler kext from this site .. lmk if you need the link
 
came back from a long weekend...


tried this kext with DSDT + pmVerson=23

And no luck.

When I try to sleep the computer, it goes to sleep, and after a couple of seconds it comes back (withouth any action from my side), and screen is blank...


drumzilla said:
http://www.tonymacx86.com/viewtopic.php?f=3&t=10941&start=0

and I've attached the one i used here as well. hope this helps ..
 
hi there. if you are still interested in enabling HDA sound, I can try to help.
I would like to see your codec file (extract from linux). can you upload it?
 
dmazar said:
hi there. if you are still interested in enabling HDA sound, I can try to help.
I would like to see your codec file (extract from linux). can you upload it?


yes! :-9


here are the files (maybe it's not what you asked for... if not, just tell me which file you want)
 

Attachments

  • codec_dump.txt
    14.3 KB · Views: 122
  • codec_dump_dec.txt
    13.4 KB · Views: 125
hi freaker. sorry for not responding earlier. was quite busy.

dumps: that's what I wanted to see. thanks. was wondering how this looks like on a board with smaller number of outputs.

so, you'll need to create/modify dummy kext (with plist file in it only). Property List Editor is a great help to this. if you do not already have it, you can get it by installing Xcode developer tools (can be installed from SL retail DVD).

another useful tool is Kext Wizard by janek202 (here) - you can install kext much faster then running whole MultiBeast System perms and cache rebuild. great time saver when you come to tweaking your kext, reinstalling and restarting to see the results.

you will also need:
- AppleHDA from 10.6.2 (AppleHDA rollback) installed in /S/L/E. alternative is to patch the current one, but then 10.6.8 requires different place for pin config verbs and pathmaps, so it's better to stick to rollback for now
- HDAEnabler888b.kext in /S/L/E. alternative is DSDT patching
- some existing dummy sound kext to start. this one (after your edits) will go to /E/E. the easier thing for you is to take rafirafi's from here

oh … there is VerbCheatSheet in rafirafi's sources - quite useful.

now, you need to edit the kext. copy kext to desktop or some working dir and open it's Info.plist in Property Editor (right click on kext/show package contents).
1. put your pin config verbs in HDA Hardware Config Resource
2. define pathmap in HDA Platform Resource/PathMaps
3. change layout in HDA Platform Resource/Layouts if needed

more details ...

1. put your pin config verbs in HDA Hardware Config Resource
edits inside IOKitPersonalities/HDA Hardware Config Resource/HDAConfigDefault/Item 0
HDAHardwareConfig.png

you got pin config verbs from verbit (second table from it's output). remove ATAPI (17) and RCA (29) and you will be with green line out, rear and front mic, blue line in, headphones and SPDIF out. you have 4 verbs per input/output pin. put them all in one line inside < and > and copy that to ConfigData. check existing values to see how it looks.

CodecID - should stay the same for you. it's 283904135 decimal = 0x 10EC 0887 hex = vendor and codec id (4th line in codec dump)

LayoutID - should stay the same. 887 dec = 0x00000377 hex = 0x77 0x03 0x00 0x00 hex little endian = value of the layout-id that is injected by HDAEnabler888b (or by DSDT) to the audio device in IORegistry. used by AppleHDA to find data in your kext and load it.

2. define pathmap in HDA Platform Resource/PathMaps
edits inside IOKitPersonalities/HDA Platform Resource/PathMaps/Item 0/PathMap
HDAPlatform_PathMap.png

but before edits you need to define paths inside codec for each input and output node (Making connections in Master Chief's post http://www.insanelymac.com/forum/index. ... pic=149128). looking at codec graph is very helpful here.

sound output works something like this: the driver sends sound stream to codec to Audio Output node (blue ellipse in graph), then sound needs to travel through allowed paths via other nodes (e.g. Mixer) and get to the Pin Complex node/output jack (green box in graph) where it leaves audio device.

sound input comes to Pin Complex node (green box) and travels (via other nodes) to Audio Input node (red ellipse) where it can be picked by the driver.

for example sound can travel from Audio Output node 2 -> Audio Mixer (gray hexagon) node 12 -> Pin Complex node 20 which is for example Rear green line out. in this case pathmap for green line out node 20 will be: 2, 12, 20.

your job here is to define those paths for all inputs and outputs you need. note: you can not use one node in more then one path. or, you can, but only if those paths are in the same group for auto-switch.

example how to add pathmaps:
PathMap.png

about Amp section: for me it needs to be added to Audio Output node (2 in this case), but most of 887 users needs it on Mixer node (12). you'll have to check which one works for you (you can just copy paste the whole Amp part between nodes).

3. change layout in HDA Platform Resource/Layouts if needed
edits inside IOKitPersonalities/HDA Platform Resource/Layouts/Item 0/

LayoutID - leave as is
PathMapRef - you can leave it as is for the start.


i would suggest you try to make kext with just one path for the green line out and try it, for the start. remove all other items inside PathMap except one for green line (2, 12, 20), save it, install it, restart and see if you can get output from it.

check for sound assertions after reboot:
> grep assert /var/log/kernel.log

if it works, try to make green line as Internal Speakers and not Line out, then add headphones and mic.

about Internal Speakers:
- change node 20 verbs to 01471e11 01471f90 (leave first two verbs as is)
- add IntSpeaker inside IOKitPersonalities/HDA Platform Resource/Layouts/Item 0/PathMapRef/Item 0/Outputs
(check my version of the kext from rafirafi's thread)

about mic: I had problems with them. only rear one works for me. check VerbCheatSheet from rafirafi's sources. it seems you can only have one of them working properly.

if you have HD front panel then you can have headphone detection and you can define auto-switching between Internal Speakers and headphones. check my version of the kext. we can discuss it more when you come to this.

that's all for the start. wish you good luck. :)
 

Attachments

  • HDAHardwareConfig.png
    HDAHardwareConfig.png
    92.9 KB · Views: 238
  • HDAPlatform_PathMap.png
    HDAPlatform_PathMap.png
    96.1 KB · Views: 269
  • PathMap.png
    PathMap.png
    62.2 KB · Views: 296
Thank you very much for the help.

I will try to put my hands on this on sunday... (I love to hack, but I have kids :) )


But I will try this stuff for real :)
 
Hi

I'm trying to do step number 2, but I get lost... I really don't understand how to do the routes thing.

Can you give me just one example roue -a real one- if I send you my codecgraph? That would be very helpful (sorry for my slow work on this, but kids and summer is not a good combination....)

from what you say I guess I have to use the codecgraph in decimal format, isn't it?
 

Attachments

  • codecgraph.zip
    35 KB · Views: 61
hi, take your time. you have sound, but you are doing it with on-board device for your fun, right?
I could try to build you the kext, but you are so close.

the real example is actually in my post in step 2 (second pic). our codecs are the same. you just have some outputs disabled on your mobo.

to enable Green Line Out at Ext Rear which is node 20 (0x14) you can use pathmap which is the same as mine: 2, 12, 20 (decimal).
- output pathmap should start with output node and end with output pin
- node 2 is audio output node (blue ellipse in graph: 2 Stereo)
- there is an arrow line from it to node 12 (0x0C) which is stereo mixer (gray hexagon: 12 Stereo)
- and finally arrow from it to node 20 (green box: 20 Line Out at Ext Rear) which is your pin for output

pathmap's node id's must be entered in decimal in Info.plist, so I'm looking at your graph with decimal numbers.

every output and input pin/jack should have it's own pathmap defined.

pathmaps shuld be entered under PathMaps/Item0/PathMap (check step 2 pic 2). this is an aray of pathmap items. in rafirafi's kext they are:
- item 0 - for node 24 (rear mic): 9, 34, 24
- item 1 - for node 27 (rear headphones): 37, 38, 27
- item 2 - for node 26 (rear line in): 8, 35, 26
- item 3 - for node 20 (rear green line out): 2, 12, 20
- item 4 - for node 24 (rear black line out): 3, 13, 21 - you do not have it
- item 5 - for node 24 (rear orange line out): 4, 14, 22 - you do not have it
- item 5 - for node 24 (grey orange line out): 5, 15, 23 - you do not have it

if you are using rafirafi's kext as on the pic 2 in step 2 in the previous post (pic that shows expanded pathmap for node 20: 2, 12, 20), then you can delete all items under PathMaps/Item0/PathMap except this one. it's Item 3 now, but after deleting others it will become Item 0.
save, install in /E/E, restart and if you are lucky, this will enable output on rear green line. if it does not work, then try to move amp section from node 2 to node 12 inside pathmap.

then you can try adding back mic, headphones, line in.

just ask for help if you stuck.
 
Status
Not open for further replies.
Back
Top