Contribute
Register

Thinkpad X220 with Azurewave AW-CE123h Wifi+BT

clx

Joined
Jun 12, 2016
Messages
35
Motherboard
X220 Thinkpad
CPU
Sandy Bridge, Core i5 2540M
Graphics
Intel Graphics 3000 HD
Hey guys,

just wanted to put down some of my experiences with getting OS X running on my Thinkpad X220.

As most X220 users probably know, there's an awesome well put together guide for el capitan install on X220 @ x220.mcdonnelltech.com. Mad props to John for providing guidance to a newb like myself when I reached out to him.

So I basically followed his guide to a T, and the only deviation was trying to get wifi+bt working with the Azurewave aw-ce123h half-length mini PCI card I bought from amazon. I used the guide written by RehabMan here: http://www.tonymacx86.com/threads/guide-airport-pcie-half-mini-v2.104850/

but to sum up what I did:

1) install FakePCIID.kext and FakePCIID_Broadcom_Wifi.kext, BrcmPatchRAM2.kext, BrcmFirmwareRepo.kext all to /S/L/E
2) install AirportBrcm4360 US/FCC and the Handoff Lisai9093 kext patches
3) Remove the Broadcom_Bluetooth.kext that was part of the mcdonnelltech kext package

I had a bunch of issues with BT since the x220 had it's own BT3.0 daughter card and I went through various configurations with and without it installed on the motherboard. The main issue was that the BTDC (I believe) was taking precedence over the BT on the aw-ce123h. I eventually got the BT on the aw-ce123h to take precedence by disabling it in windows and rebooting into OS X. I think both devices now power up during POST and get detected in OS X. I also ended up using USBInjectAll.kext and a custom SSDT to disable the USB port disable the USB port that the BTDC was connected to. I had to do this because the BTDC would override the aw-ce123h when resuming from sleep. Now with the USB port disabled, the BTDC is effectively disabled.

1) Install USBInjectAll.kext
2) Grab the SSDT-UIAC-All.dsl file from: https://github.com/RehabMan/OS-X-USB-Inject-All
3) kept only the following ports: HP11 (left rear USB), HP12(left front USB), HP13(BT on aw-ce123h), HP22(right USB), HP23 (fingerprint reader), HP26 (camera). Other ports may be used if you have a dock. use ioregistryexplorer to see what you actuall use. I removed HP24 which is where the BTDC was on.
3) Used MacASL to save as AML, installed into EFI/Clover/ACPI/patched

Airdrop, handoff, continuity, all works now... awesome....

I also had an issue with the trackpad + trackpoint. I couldn't leave the trackpad enabled because my palm would make the cursor jump around all the time during clicks. So with the trackpad disabled (via prtscr button) the trackpoint buttons would not register if my palm was touching the trackpad. My workaround for this was to customized the VoodooPS2Controller.kext by ramping up fingerZ in the VoodooPS2Trackpad.kext/info.plist to a crazy high number (I used 650) which effectively disabled the trackpad.

I also had to activate iMessage/Facetime via: https://www.reddit.com/r/hackintosh/comments/2wohwn/getting_imessage_working_on_10102_generating/
went as expected. no issues there.

Other misc things: I moved FakeSMC and VoodooPS2Controller kexts to /S/L/E

Overall, this has been a great learning experience as this has been my first hackintosh install. Hopefully this info helps someone out there. I'm sure all of you know all the caveats and pitfalls that I already went though but to all the newbs out there, stay strong! I was ready to quit several times and go back to windows.

HUGE thanks to RehabMan for answering all my newb questions. From VoodooPS2Controller to USBInjectAll to FakePCIID and BrcmPatchRAM, you da man!
 
Last edited:

clx

Joined
Jun 12, 2016
Messages
35
Motherboard
X220 Thinkpad
CPU
Sandy Bridge, Core i5 2540M
Graphics
Intel Graphics 3000 HD
I should also point out that I wrote a lot of this from memory so there's potential for errors... Let me know if you need clarification of any step since it's all quite high level.

Thanks,
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,123
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
3) leave the Broadcom_Bluetooth.kext, that was part of the mcdonnelltech kext package, installed
It is a mistake to include any other bluetooth fixes as they will conflict wit BrcmPatchRAM.

I had a bunch of issues with BT since the x220 had it's own BT3.0 daughter card and I went through various configurations with and without it installed on the motherboard.

...

1) Install USBInjectAll.kext
2) Added Boot Kernel Flag: uia_exclude=HP24 in EFI/Clover/config.plist/boot/Arguments

I also had to create a custom SSDT to remove all the extra ports that USBInjectAll.kext adds. The steps I took to customize the SSDT was:

1) Grab the SSDT-UIAC-All.dsl file from: https://github.com/RehabMan/OS-X-USB-Inject-All
2) kept only the following ports: HP11 (left rear USB), HP12(left front USB), HP13(BT on aw-ce123h), HP22(right USB), HP23 (fingerprint reader), HP24 (BT3.0 Daughter Card), HP26 (camera). Other ports may be used if you have a dock. use ioregistryexplorer to see what you actuall use
3) Used MacASL to save as AML, installed into EFI/Clover/ACPI/patched
No need for uia_exclude=HP24 if you just exclude it from your SSDT.

Airdrop works but I still haven't figured out why handoff/continuity doesn't work. I know BT4LE works (tried apps like near lock) and I can pair a bunch of different BT devices.
Which BT controller is on your CE-123h? (device/vendor-id).

I also had an issue with the trackpad + trackpoint. I couldn't leave the trackpad enabled because my palm would make the cursor jump around all the time during clicks. So with the trackpad disabled (via prtscr button) the trackpoint buttons would not register if my palm was touching the trackpad. My workaround for this was to customized the VoodooPS2Controller.kext by ramping up fingerZ in the VoodooPS2Trackpad.kext/info.plist to a crazy high number (I used 650) which effectively disabled the trackpad.
If you have some C++ experience, you could probably investigate how to make the kext work better with your hardware...
 

clx

Joined
Jun 12, 2016
Messages
35
Motherboard
X220 Thinkpad
CPU
Sandy Bridge, Core i5 2540M
Graphics
Intel Graphics 3000 HD
It is a mistake to include any other bluetooth fixes as they will conflict wit BrcmPatchRAM.
I'll remove it and see what happens...

EDIT: rebooting... seems like it worked. Oh damn.. Handoff works now!!!! YAY!!!

No need for uia_exclude=HP24 if you just exclude it from your SSDT.
For some reason, removing the port via SSDT seems more "permanent". I was excluding the port prior to the SSDT patch so I just kept it that way. I'll adjust it so I don't need the kernel boot flag.

Which BT controller is on your CE-123h? (device/vendor-id).
13D3:3404

You've mentioned in the past that this has "poor compatibility". Does that mean handoff/continuity is impossible? (would like to know ASAP so I can return the card and get a different one (any recommendations?). EDIT: nevermind... working now with the removal of the Broadcom_Bluetooth.kext. =)

If you have some C++ experience, you could probably investigate how to make the kext work better with your hardware...
My experience is very little... I did look at the code and couldn't wrap my head around it. maybe in the future... =)
 
Last edited:

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,123
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
For some reason, removing the port via SSDT seems more "permanent". I was excluding the port prior to the SSDT patch so I just kept it that way. I'll adjust it so I don't need the kernel boot flag.
Either way works... I was just pointing it out...

13D3:3404

You've mentioned in the past that this has "poor compatibility".
Probably a firmware/hardware incompatibility... It works, but is not a good choice. Unfortunately, it is difficult to tell what you're going to get when purchasing.
 
Joined
Jul 5, 2016
Messages
29
Motherboard
Thinkpad X220, Clover
CPU
Core i5-2450M, QM67
Graphics
HD 3000, 1366x768
Mac
MacBook Air
Mobile Phone
iOS
Hey guys,

just wanted to put down some of my experiences with getting OS X running on my Thinkpad X220.

As most X220 users probably know, there's an awesome well put together guide for el capitan install on X220 @ x220.mcdonnelltech.com. Mad props to John for providing guidance to a newb like myself when I reached out to him.

So I basically followed his guide to a T, and the only deviation was trying to get wifi+bt working with the Azurewave aw-ce123h half-length mini PCI card I bought from amazon. I used the guide written by RehabMan here: http://www.tonymacx86.com/threads/guide-airport-pcie-half-mini-v2.104850/

but to sum up what I did:

1) install FakePCIID.kext and FakePCIID_Broadcom_Wifi.kext, BrcmPatchRAM2.kext, BrcmFirmwareRepo.kext all to /S/L/E
2) install AirportBrcm4360 US/FCC and the Handoff Lisai9093 kext patches
3) Remove the Broadcom_Bluetooth.kext that was part of the mcdonnelltech kext package

I had a bunch of issues with BT since the x220 had it's own BT3.0 daughter card and I went through various configurations with and without it installed on the motherboard. The main issue was that the BTDC (I believe) was taking precedence over the BT on the aw-ce123h. I eventually got the BT on the aw-ce123h to take precedence by disabling it in windows and rebooting into OS X. I think both devices now power up during POST and get detected in OS X. I also ended up using USBInjectAll.kext and a custom SSDT to disable the USB port disable the USB port that the BTDC was connected to. I had to do this because the BTDC would override the aw-ce123h when resuming from sleep. Now with the USB port disabled, the BTDC is effectively disabled.

1) Install USBInjectAll.kext
2) Grab the SSDT-UIAC-All.dsl file from: https://github.com/RehabMan/OS-X-USB-Inject-All
3) kept only the following ports: HP11 (left rear USB), HP12(left front USB), HP13(BT on aw-ce123h), HP22(right USB), HP23 (fingerprint reader), HP26 (camera). Other ports may be used if you have a dock. use ioregistryexplorer to see what you actuall use. I removed HP24 which is where the BTDC was on.
3) Used MacASL to save as AML, installed into EFI/Clover/ACPI/patched

Airdrop, handoff, continuity, all works now... awesome....

I also had an issue with the trackpad + trackpoint. I couldn't leave the trackpad enabled because my palm would make the cursor jump around all the time during clicks. So with the trackpad disabled (via prtscr button) the trackpoint buttons would not register if my palm was touching the trackpad. My workaround for this was to customized the VoodooPS2Controller.kext by ramping up fingerZ in the VoodooPS2Trackpad.kext/info.plist to a crazy high number (I used 650) which effectively disabled the trackpad.

I also had to activate iMessage/Facetime via: https://www.reddit.com/r/hackintosh/comments/2wohwn/getting_imessage_working_on_10102_generating/
went as expected. no issues there.

Other misc things: I moved FakeSMC and VoodooPS2Controller kexts to /S/L/E

Overall, this has been a great learning experience as this has been my first hackintosh install. Hopefully this info helps someone out there. I'm sure all of you know all the caveats and pitfalls that I already went though but to all the newbs out there, stay strong! I was ready to quit several times and go back to windows.

HUGE thanks to RehabMan for answering all my newb questions. From VoodooPS2Controller to USBInjectAll to FakePCIID and BrcmPatchRAM, you da man!
Native BT card is not contained with my X220, so I bought a Lenovo compatible BT4.0 card installed and drived it by changing the pid with Broadcom_Bluetooth.kext well.
After fail to use airdrop&handoff with DW1510(BCM4322), I bought a BCM94352HMB (without BT version).
So my question is if I am facing the same issue as you? And if it could be working as I expected in this way:
1.Install FakePCIID.kext and FakePCIID_Broadcom_WiFi.kext,
2.Patch AirPortBrcm4360 in Clover for 5Ghz:
  1. Name: AirPortBrcm4360
  2. Find: 4183FCFF742C48
  3. Replace: 66C7065553EB2B
3.Patch IOBluetoothFamily in Clover for Handoff:
  1. Name: IOBluetoothFamily
  2. Find: 4885FF7447488B07
  3. Replace: 41BE0F000000EB44
Am I right? And one more question, does patch IOBluetoothFamily a optional step?

This is my thread:
http://www.tonymacx86.com/threads/how-to-fake-bcm4322-as-4360-in-10-11-5-and-make-airdrop-handoff-working.197141/
 

Attachments

Last edited:
Joined
Jul 5, 2016
Messages
29
Motherboard
Thinkpad X220, Clover
CPU
Core i5-2450M, QM67
Graphics
HD 3000, 1366x768
Mac
MacBook Air
Mobile Phone
iOS
Add my BT controller info:
pid:0x21e6 vid:0x0a5c
 

clx

Joined
Jun 12, 2016
Messages
35
Motherboard
X220 Thinkpad
CPU
Sandy Bridge, Core i5 2540M
Graphics
Intel Graphics 3000 HD
Native BT card is not contained with my X220, so I bought a Lenovo compatible BT4.0 card installed and drived it by changing the pid with Broadcom_Bluetooth.kext well.
After fail to use airdrop&handoff with DW1510(BCM4322), I bought a BCM94352HMB (without BT version).
So my question is if I am facing the same issue as you? And if it could be working as I expected in this way:
1.Install FakePCIID.kext and FakePCIID_Broadcom_WiFi.kext,
2.Patch AirPortBrcm4360 in Clover for 5Ghz:
  1. Name: AirPortBrcm4360
  2. Find: 4183FCFF742C48
  3. Replace: 66C7065553EB2B
3.Patch IOBluetoothFamily in Clover for Handoff:
  1. Name: IOBluetoothFamily
  2. Find: 4885FF7447488B07
  3. Replace: 41BE0F000000EB44
Am I right? And one more question, does patch IOBluetoothFamily a optional step?

This is my thread:
http://www.tonymacx86.com/threads/how-to-fake-bcm4322-as-4360-in-10-11-5-and-make-airdrop-handoff-working.197141/
I would not mix any BT patch with Broadcom_bluetooth.kext. Either don't do any BT patch and use only the broadcom_bluetooth.kext or remove broadcom_bluetooth.kext and use the BT patches as defined in the airport v2 thread.

Good luck
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,123
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
Native BT card is not contained with my X220, so I bought a Lenovo compatible BT4.0 card installed and drived it by changing the pid with Broadcom_Bluetooth.kext well.
After fail to use airdrop&handoff with DW1510(BCM4322), I bought a BCM94352HMB (without BT version).
So my question is if I am facing the same issue as you? And if it could be working as I expected in this way:
1.Install FakePCIID.kext and FakePCIID_Broadcom_WiFi.kext,
2.Patch AirPortBrcm4360 in Clover for 5Ghz:
  1. Name: AirPortBrcm4360
  2. Find: 4183FCFF742C48
  3. Replace: 66C7065553EB2B
3.Patch IOBluetoothFamily in Clover for Handoff:
  1. Name: IOBluetoothFamily
  2. Find: 4885FF7447488B07
  3. Replace: 41BE0F000000EB44
Am I right? And one more question, does patch IOBluetoothFamily a optional step?

This is my thread:
http://www.tonymacx86.com/threads/how-to-fake-bcm4322-as-4360-in-10-11-5-and-make-airdrop-handoff-working.197141/
BCM94352 requirements are clearly covered in the FAQ.

http://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
 
Joined
Jul 5, 2016
Messages
29
Motherboard
Thinkpad X220, Clover
CPU
Core i5-2450M, QM67
Graphics
HD 3000, 1366x768
Mac
MacBook Air
Mobile Phone
iOS
Top