ffosilva Posted November 5, 2008 Share Posted November 5, 2008 Hi people! Sorry for my bad english, I'm brazilian... but see below if you understand anything. =PRequeriments:- gfxutil;- knowledge about making efi strings;- ioreg- Some patience.First you need to collect the DevicePath for each PCI Card. Using ioreg (type ioreg in Terminal) with gfxutil is easy. Search for each 'IOPCI2PCIBridge' (or similar) on your ioreg output and see if it have any device connected to it. If it exists, you can make it visible on System Profiler. On this guide I'll show to you what I did to show my JMicron Built-in Controller.On the first picture, you see that on marked IOPCI2PCIBridge that I have 2 devices connected to it. JMB0@0 and JMB1@0,1. JMB0 you see that it's a AHCI Controller and JMB1 IDE Controller part, but I don't wanna IDE, only AHCI (remember, you can do it with every PCI devices connected to IOPCI2PCIBridge). Run 'gfxutil -f DEVICE', and as you see, on device i don't put @xxx, only what I see before @. If you have 'JMB0@0' on ioreg do 'gfxutil -f JMB0'. If you have 'pci1106,3044@0' on ioreg do 'gfxutil -f pci1106,3044'. After using 'gfxutil -f DEVICE' as explained before you get DevicePath.On your EFI Strings file, add a entry of your device. For example, I'm showing what I did with my JMB0 device. <key>PciRoot(0x1)/Pci(0x1c,0x3)/Pci(0x0,0x0)</key> <dict> <key>AAPL,slot-name</key> <string>Built In</string> <key>model</key> <string>Gigabyte GBB363 SATA-II RAID Controller</string> <key>device_type</key> <string>AHCI Controller</string> </dict> As you see I have 3 entrys. On first 'AAPL_slot-name', type slot name that you wanna see. On RAID controler I typed Built In, but you can use what you want. i.e Slot-I, Slot-A, Hamburger, Pizza... =)On second 'model' you change Card Name and 'device_type' you set Type that appear on PCI Cards screen.I'm not good making how to, but I'm leaving a System Profiler screenshot and my EFI Strings plist to you see what I did. Remember that DevicePath are differents for each machine.Important: on display cards or network cards you don't need to set 'model' or 'device_type', only AAPL,slot-name. On display cards model and device_type are set by standard (device_type as 'display' and model as card name). On ethernet device_type as 'Ethernet Controller', but you can set model. It doesn't work with AZALIA or HDEF.If you already use any PCI device on efi strings, you need only add these keys on existing string, not making a new one. i.e: if you use efi-strings for graphics card, only add AAPL,slot-name key, and not create a new entry only for it. efistrings.txt 3 Link to comment Share on other sites More sharing options...
aliasa_anderson Posted November 6, 2008 Share Posted November 6, 2008 A link to efi strings will be very helpful. If possible ,please add the location of efi file,i mean the directory/path where it resides. Link to comment Share on other sites More sharing options...
peach-os Posted November 6, 2008 Share Posted November 6, 2008 good idea! cool work will try it Link to comment Share on other sites More sharing options...
Cebit Posted November 6, 2008 Share Posted November 6, 2008 Kudos Link to comment Share on other sites More sharing options...
aliasa_anderson Posted November 6, 2008 Share Posted November 6, 2008 Just a quick question: Shouldn't these settings be detected automatically.Why it is that these devices don't show up in system profiler even they are present in ioreg ? Link to comment Share on other sites More sharing options...
ffosilva Posted November 6, 2008 Author Share Posted November 6, 2008 It doesn't show up in system profiler because AppleSMBIOS search for 'AAPL,slot-name' key on pci cards, but doesn't find it. I think in a near future we can make a 'injector' that reads 'ioreg' out and inject efi code of each card automatically. aliasa_anderson: you make these mods on efi strings, search for it on netkas forums. Link to comment Share on other sites More sharing options...
aliasa_anderson Posted November 7, 2008 Share Posted November 7, 2008 It doesn't show up in system profiler because AppleSMBIOS search for 'AAPL,slot-name' key on pci cards, but doesn't find it. I think in a near future we can make a 'injector' that reads 'ioreg' out and inject efi code of each card automatically. aliasa_anderson: you make these mods on efi strings, search for it on netkas forums. Thanks ffosilva.I will look at netks.org. One more question since you may have come across it ,if we use injectors for getting devices work,will this method break them. For eg i use nvinject for nvidia go 7400 and for Conexant HD audio i use AppleAzalia. Now in ioreg i can see devices like vga@,HDEF@ etc in IOPCI2PCIBridge but none is displayed in system profiler under "PCI devices" tab. Please Help. Thanks once again. Link to comment Share on other sites More sharing options...
ffosilva Posted November 7, 2008 Author Share Posted November 7, 2008 Where I say injector I'm talking about create a new injector to add these strings automatically to IORegistry. Link to comment Share on other sites More sharing options...
peach-os Posted November 7, 2008 Share Posted November 7, 2008 doesn´t work for me. because your guide is not really clear for me I tried it several ways: 1. wrote a plist with the pci roots and settings for my two graphic cards and my uad pci card. created one hex file with gfxutil. 2. created seperate hex files for the graphic cards and the pci card. merged the two hex files. (this is how I understood your instructions, but couldn´t imagine that it would work this way) problem was also that ioreg didn´t give me the pci root for the card. efistudio did it flawless. could be a small thing I missed Link to comment Share on other sites More sharing options...
ffosilva Posted November 7, 2008 Author Share Posted November 7, 2008 doesn´t work for me. because your guide is not really clear for me I tried it several ways: 1. wrote a plist with the pci roots and settings for my two graphic cards and my uad pci card. created one hex file with gfxutil. 2. created seperate hex files for the graphic cards and the pci card. merged the two hex files. (this is how I understood your instructions, but couldn´t imagine that it would work this way) problem was also that ioreg didn´t give me the pci root for the card. efistudio did it flawless. could be a small thing I missed Sorry If i'm not clear! Well, you don't need to make two files for efi strings (and merge it), you make only one as you see in my example. If you want send to me your graphics card efi-string and I'll patch it for you. Link to comment Share on other sites More sharing options...
peach-os Posted November 8, 2008 Share Posted November 8, 2008 Sorry If i'm not clear! Well, you don't need to make two files for efi strings (and merge it), you make only one as you see in my example. If you want send to me your graphics card efi-string and I'll patch it for you. here is the plist 7300GTx2UAD.rar thanks Link to comment Share on other sites More sharing options...
ffosilva Posted November 8, 2008 Author Share Posted November 8, 2008 you did some mistakes as opened a dictionary and don't closed and puttet <key>AAPL.slot-name</key> instead <key>AAPL,slot-name</key>. Try these now. 7300GTx2UAD.hex.txt 7300GTx2UAD.plist.txt Link to comment Share on other sites More sharing options...
peach-os Posted November 8, 2008 Share Posted November 8, 2008 you did some mistakes as opened a dictionary and don't closed and puttet <key>AAPL.slot-name</key> instead <key>AAPL,slot-name</key>. Try these now. I knew it was something small like that - shouldn´t edit such files during the night. thank you ! Link to comment Share on other sites More sharing options...
MikeHunt79 Posted November 8, 2008 Share Posted November 8, 2008 good idea! cool work will try it I'll give it a whirl also - Another step closer to a real mac Link to comment Share on other sites More sharing options...
BladeRunner Posted November 8, 2008 Share Posted November 8, 2008 Very nice. Thanks for sharing. Since I already had the efi strings for my ethernet card and nvidia display card, all I needed to do was add the following: <key>AAPL,slot-name</key> <string>Slot-1</string> to my working gfxutil plist at the top of each section and generate a new hex string. Replaced the device string in com.apple.boot.plist and reboot. Many thanks. Link to comment Share on other sites More sharing options...
Alex HQuest Posted November 9, 2008 Share Posted November 9, 2008 Cool, thanks for the tip. Link to comment Share on other sites More sharing options...
ffosilva Posted November 9, 2008 Author Share Posted November 9, 2008 you're welcome. =P Link to comment Share on other sites More sharing options...
aliasa_anderson Posted December 2, 2008 Share Posted December 2, 2008 It doesn't show up in system profiler because AppleSMBIOS search for 'AAPL,slot-name' key on pci cards, but doesn't find it. I think in a near future we can make a 'injector' that reads 'ioreg' out and inject efi code of each card automatically. aliasa_anderson: you make these mods on efi strings, search for it on netkas forums. Hi ffosilva, I think I have the answer to my own question. If have a correctly compiled DSDT and i use chameleon with DSDT override feature,i should be able to see these devices in system profiler without manual work. What do you think ? Link to comment Share on other sites More sharing options...
ffosilva Posted December 2, 2008 Author Share Posted December 2, 2008 Adding name _SUN to each PCI lane reference in DSDT does this work, but you'll don't see detailed information about cards, you still need to add 'model' to see correct cards name. This thread is about doing it using EFI strngs, and not DSDT. DSDT is another way. =P Link to comment Share on other sites More sharing options...
sonotone Posted December 16, 2008 Share Posted December 16, 2008 Thanks for this, useless but i like it Just two adds: - If a name is not specified (like pci1180,8...), in the .plist file, we can add: <key>name</key> <string>your card</string> - Some ioreg entries aren't clear about some hardware, so LSPCI (osx86tools provide it) is usefull to find controller's names. PS: don't use a custom name for graphics. Link to comment Share on other sites More sharing options...
Voldemort Posted August 5, 2010 Share Posted August 5, 2010 Xcuse if I sound very very silly! I'm new in EFI Strings. I following your guide. the thing is that I want to add the Specifications Names of each PCI card. Like my Texas Instruments 5 in 1 card reader, my Airport Card and PCI bridges. But I dont know where can I inject the EFI Strings that I've generated. I think that I need to add it to my "com.apple.boot.plist" Here is a copy of my com.apple.boot.plist: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Kernel</key> <string>mach_kernel</string> <key>Timeout</key> <string>1</string> <key>Kernel Flags</key> <string>-f arch=i386</string> <key>EthernetBuiltIn</key> <string>y</string> <key>GraphicsEnabler</key> <string>y</string> <key>PciRoot</key> <string>1</string> <key>PciRoot(0x0)/Pci(0x1e,0x0)/Pci(0x9,0x2)</key> <dict> <key>AAPL,slot-name</key> <string>Built In</string> <key>model</key> <string>Texas Instruments 5 in one Card Reader</string> </dict> </dict> </plist> Thanks P.D Here is a pic: Link to comment Share on other sites More sharing options...
Voldemort Posted August 5, 2010 Share Posted August 5, 2010 I got it, I inject the EFI Strings on different locations. For my Airport Extreme Card - I add the Strings on AppleBrcm4311.kext For my Texas Instrument Card Reader - I add the Strings on IOSDHCIBlockDevice.kext Here is it: Link to comment Share on other sites More sharing options...
Zenvega Posted September 7, 2010 Share Posted September 7, 2010 Can someone explain to a newbie how to Do this install? Im really lost. I also am using a Belkin PCI Wireless Card F5D7000 on my hackintosh snow leopard machine. So do i download those 2 files above and just do an install? or can anyone make simple instructions to follow? thanks and really need it! Link to comment Share on other sites More sharing options...
GLXOZ Posted January 19, 2012 Share Posted January 19, 2012 Hi people! Sorry for my bad english, I'm brazilian... but see below if you understand anything. =P Requeriments: - gfxutil; - knowledge about making efi strings; - ioreg - Some patience. First you need is discover the DevicePath for each PCI Card. Using ioreg (type ioreg in Terminal) with gfxutil is easy. Search for each 'IOPCI2PCIBridge' (or similar) on your ioreg output and see if it have any device connected to it. If have, you can make it visible on System Profiler. You insert in system profiler internal devices? I think, it not right, only slot-inserted cards must displayed in PCI Card info. (sorry for my english, i'm russian ) Link to comment Share on other sites More sharing options...
Gringo Vermelho Posted January 19, 2012 Share Posted January 19, 2012 I agree...but it doesn't matter, but as the first post says you can place any information there (hamburger, pizza, each PCI device could be a line from your favorite Haiku), it makes no difference. Like Sonotone said it's useless, why make up rules about something that's useless in the first place. thanks and really need it! Nobody "really needs" this. It's 100% cosmetic, it will not make any difference to functionality. If your wireless card doesn't work, this will not make it work or help make it work, not even the slightest bit. Link to comment Share on other sites More sharing options...
Recommended Posts