Jump to content

Make your hardware work in 1 click


~pcwiz
 Share

95 posts in this topic

Recommended Posts

picture1fr9.png

The Introduction

 

This is my last project that I'll be doing on InsanelyMac and its also probably the best. I've constructed a system where the application uses device ID based detection to automatically download and install the correct drivers for your hardware from an online driver database. I already have a working beta, so if anyone wants to beta test, contact me. Beta testers must have at least 2 devices from the list of supported devices in the Xlabs thread (link at bottom) This system will eventually be integrated into OSx86 Tools once I reach a stable working system. For example, this is what the program detected on my hardware (Gigabyte GA-P35-DS3P with NVIDIA GeForce 7900 GS). Note that your hardware still has to be OSX86 Supported, it won't make old unsupported hardware work like magic :jester: :

 

Picture_2.png

 

As you can see, everything above has been detected correctly, shows the hardware name, type, and download URL for the drivers. All the driver information, including hardware names, device IDs, and download URLs are contained inside a single XML file. I decided to go with XML rather than a PLIST because XML is much more flexible for these operations.

How it works

 

The program uses device ID based detection to detect your hardware. To get a list of device IDs, it uses the Mac OS X port of the LSPCI command. It takes the device ID list and repeatedly matches each device ID against the device ID list in the XML file. Once it finds a match in the XML file it parses the XML and grabs the info for the file, type, name, download etc. This info is stored in variables and then eventually outputed into a table as you see from the screenshot above. Then its the basic stuff from then, the program takes the download URL, downloads the zip, unzips it and copies the contents to the Extensions folder, and then sets permissions.

 

When will it be here?

 

The code base for the app is done, I am already giving out beta copies for people to test!

What can I do to help?

 

The obvious thing right now you can do to help is follow these instructions to submit some device info about your hardware to me, and what drivers you used and how you patched. This not only benefits me in terms of adding all this stuff, but it benefits you because if you submit, chances are that it will be supported in the app and you can use it.

 

More information can be found in the X Labs thread here

Link to comment
Share on other sites

Huge advancement here. Here is a quick screenshot of the basic interface:

 

picture3ca3.png

 

The app is basically done. All I need to do is add more devices. Who wants to beta test? Beta testers should have at least 2 supported devices from the list in the first post of the Xlabs thread to test. The most compatible hardware ATM is the Gigabyte P35-DS3P/DS3R/DS4 series and any other motherboards that have identical hardware to that of those motherboards.

Link to comment
Share on other sites

Well actually, its completed. I've tested it on my own system and it works great, one click works all ;) All I need now is the input of all the end users so that I can add more support for devices! Remember, its for your own advantage if you submit info :) If your OSx86 drivers get overwritten by an update, all you have to do is click one "Download & Install" button and that's it :)

Link to comment
Share on other sites

Excellent, as usual. Thanks PCWiz.

 

Now collaborate with diabolik and ask him whether you could use his shiny domain osx86.me as vhost for the online driver database! :-D

 

Yeah, I'll ask him about that -_- Right now the drivers are hosted on a free host with 5GB storage and Unlimited bandwith, so ATM its ok.

Link to comment
Share on other sites

PCWiz, excellent work as usual :thumbsup_anim:

I own a webhosting company if you want like 20GB Free space and unlimited BW on a reliable server if you want for free cause your sooooo good ;)

Oh btw, in one of ur posts i see u said you can beta test if you have two of those above items. I have 3 of those items so could I beta test this for you please?

Thanks

Jonty

PS. Can you help me with my gfx card. Its my built in display that isnt been recognised as it works on externel display. GFX card is Intel GM965 Intel GMA X3100. Its a Toshiba Equium L350 Laptop.

Cheers!

Link to comment
Share on other sites

I'll be more than happy to test it out.

 

Note: .co.nr sucks, there are MUCH better free domains, like http://uni.cc or http://co.cc ; both support DNS if needed and are all for free.

 

EDIT: I noticed that (a) my 2600PRO isn't on the list and (:) my ALC880 audio codec isn't on their either...I mean I can get those 2 working in a few seconds by installing the kext files with kext helper...but yeah.

Link to comment
Share on other sites

hey, thanks for your work

 

Here are my test results:

 

 

GA-945GCMX-S2, EN8600GT

lspci:

 

00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02)

00:01.0 PCI bridge: Intel Corporation 82945G/GZ/P/PL PCI Express Root Port (rev 02)

00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)

00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01)

00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01)

00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01)

00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01)

00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)

00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)

00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)

00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)

01:00.0 VGA compatible controller: nVidia Corporation Unknown device 0402 (rev a1)

02:01.0 FireWire (IEEE 1394): Texas Instruments FireWire Controller (rev 01)

02:05.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet (rev 10)

 

post-178287-1216603148_thumb.png

 

Remarks:

 

Audio, I used ALC888 codec package

USB, Works native without patch

 

Drivers:

 

http://www.mediafire.com/?yg1txkju0ww

Acer Aspire 4320

lspci:

 

00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 03)

00:02.0 VGA compatible controller: Intel Corporation Mobile Integrated Graphics Controller (rev 03)

00:02.1 Display controller: Intel Corporation Mobile Integrated Graphics Controller (rev 03)

00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 (rev 03)

00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)

00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)

00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)

00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)

00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)

00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)

00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)

00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)

00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)

00:1f.0 ISA bridge: Intel Corporation Mobile LPC Interface Controller (rev 03)

00:1f.1 IDE interface: Intel Corporation Mobile IDE Controller (rev 03)

00:1f.2 IDE interface: Intel Corporation Mobile SATA IDE Controller (rev 03)

00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)

01:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express (rev 02)

04:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01)

0a:09.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)

0a:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)

0a:09.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 12)

0a:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)

0a:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)

 

post-178287-1216603177_thumb.png

 

Drivers:

 

http://www.mediafire.com/?myaceyteihj

Link to comment
Share on other sites

hey, thanks for your work

 

Here are my test results:

 

 

GA-945GCMX-S2, EN8600GT

lspci:

 

00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02)

00:01.0 PCI bridge: Intel Corporation 82945G/GZ/P/PL PCI Express Root Port (rev 02)

00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)

00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01)

00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01)

00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01)

00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01)

00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)

00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)

00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)

00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)

01:00.0 VGA compatible controller: nVidia Corporation Unknown device 0402 (rev a1)

02:01.0 FireWire (IEEE 1394): Texas Instruments FireWire Controller (rev 01)

02:05.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet (rev 10)

 

Imagen_945.png

 

Remarks:

 

Audio, I used ALC888 codec package

USB, Works native without patch

 

Acer Aspire 4320

lspci:

 

00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 03)

00:02.0 VGA compatible controller: Intel Corporation Mobile Integrated Graphics Controller (rev 03)

00:02.1 Display controller: Intel Corporation Mobile Integrated Graphics Controller (rev 03)

00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 (rev 03)

00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)

00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)

00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)

00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)

00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)

00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)

00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)

00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)

00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)

00:1f.0 ISA bridge: Intel Corporation Mobile LPC Interface Controller (rev 03)

00:1f.1 IDE interface: Intel Corporation Mobile IDE Controller (rev 03)

00:1f.2 IDE interface: Intel Corporation Mobile SATA IDE Controller (rev 03)

00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)

01:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express (rev 02)

04:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01)

0a:09.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)

0a:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)

0a:09.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 12)

0a:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)

0a:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)

 

Imagen_965.png

 

Drivers:

 

http://www.mediafire.com/?myaceyteihj

 

Thanks. The audio is actually ALC883 codec, not ALC888 :) I will add the laptop drivers to the app, what driver did you use for your 8600GT? I can add that too. Can you give me the output of "lspci -nn" too please? The above output doesn't have the device IDs :)

Link to comment
Share on other sites

Acer 4320:

 

00:00.0 Host bridge [0600]: Intel Corporation Mobile Memory Controller Hub [8086:2a00] (rev 03)

00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile Integrated Graphics Controller [8086:2a02] (rev 03)

00:02.1 Display controller [0380]: Intel Corporation Mobile Integrated Graphics Controller [8086:2a03] (rev 03)

00:1a.0 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 [8086:2834] (rev 03)

00:1a.1 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 [8086:2835] (rev 03)

00:1a.7 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 [8086:283a] (rev 03)

00:1b.0 Audio device [0403]: Intel Corporation 82801H (ICH8 Family) HD Audio Controller [8086:284b] (rev 03)

00:1c.0 PCI bridge [0604]: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 [8086:283f] (rev 03)

00:1c.1 PCI bridge [0604]: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 [8086:2841] (rev 03)

00:1c.2 PCI bridge [0604]: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 [8086:2843] (rev 03)

00:1d.0 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 [8086:2830] (rev 03)

00:1d.1 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 [8086:2831] (rev 03)

00:1d.2 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 [8086:2832] (rev 03)

00:1d.7 USB Controller [0c03]: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 [8086:2836] (rev 03)

00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev f3)

00:1f.0 ISA bridge [0601]: Intel Corporation Mobile LPC Interface Controller [8086:2815] (rev 03)

00:1f.1 IDE interface [0101]: Intel Corporation Mobile IDE Controller [8086:2850] (rev 03)

00:1f.2 IDE interface [0101]: Intel Corporation Mobile SATA IDE Controller [8086:2828] (rev 03)

00:1f.3 SMBus [0c05]: Intel Corporation 82801H (ICH8 Family) SMBus Controller [8086:283e] (rev 03)

01:00.0 Ethernet controller [0200]: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express [14e4:1693] (rev 02)

04:00.0 Network controller [0280]: Broadcom Corporation BCM94311MCG wlan mini-PCI [14e4:4311] (rev 01)

0a:09.0 FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C832 IEEE 1394 Controller [1180:0832] (rev 05)

0a:09.1 SD Host controller [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter [1180:0822] (rev 22)

0a:09.2 System peripheral [0880]: Ricoh Co Ltd Unknown device [1180:0843] (rev 12)

0a:09.3 System peripheral [0880]: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter [1180:0592] (rev 12)

0a:09.4 System peripheral [0880]: Ricoh Co Ltd xD-Picture Card Controller [1180:0852] (rev 12)

 

GA-945GCMX-S2:

 

00:00.0 Host bridge [0600]: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub [8086:2770] (rev 02)

00:01.0 PCI bridge [0604]: Intel Corporation 82945G/GZ/P/PL PCI Express Root Port [8086:2771] (rev 02)

00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8] (rev 01)

00:1d.0 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 [8086:27c8] (rev 01)

00:1d.1 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 [8086:27c9] (rev 01)

00:1d.2 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 [8086:27ca] (rev 01)

00:1d.3 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 [8086:27cb] (rev 01)

00:1d.7 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller [8086:27cc] (rev 01)

00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev e1)

00:1f.0 ISA bridge [0601]: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge [8086:27b8] (rev 01)

00:1f.2 IDE interface [0101]: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller [8086:27c0] (rev 01)

00:1f.3 SMBus [0c05]: Intel Corporation 82801G (ICH7 Family) SMBus Controller [8086:27da] (rev 01)

01:00.0 VGA compatible controller [0300]: nVidia Corporation Unknown device [10de:0402] (rev a1)

02:01.0 FireWire (IEEE 1394) [0c00]: Texas Instruments FireWire Controller [104c:8009] (rev 01)

02:05.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)

 

The audio is actually ALC883 codec, not ALC888: Yes but ALC888 package works fine for me (all inputs/outputs).

 

Regards.

Link to comment
Share on other sites

Thanks. The audio is actually ALC883 codec, not ALC888 :) I will add the laptop drivers to the app, what driver did you use for your 8600GT? I can add that too. Can you give me the output of "lspci -nn" too please? The above output doesn't have the device IDs :(

 

What do you think about this ?

 

post-178287-1216611948_thumb.png

 

Audio device is ALC883 but Mixer says Realtek ALC888 and this works with ALC888 package installer, its no clear for me.

Link to comment
Share on other sites

Attached is a ZIP file containing my 2 drivers I needed for Leopard:

 

+ forcedeth_nockd.zip

>>> forcedeth_nockd.kext

+ ALC880.zip

>>> ALCinject.kext

>>> AppleHDA.kext

 

As for my 2600pro, I've tried every driver out there and it just doesn't want to work. But what I'm gonna try out next is, unplug everything but my monitor, KB, mouse, and sound, and see if it will work.

Link to comment
Share on other sites

 Share

×
×
  • Create New...