Contribute
Register

Lenovo Ideapad U430 - Mavericks

Status
Not open for further replies.
I read through a lot of this thread, but couldn't see any mention of the touch functionality working, anybody know if that works or not ?
I'm considering swapping out my 4530s and getting something a little sleeker, with a better battery life.

Touch screen "works" in Yosemite. No multi-touch though.
 
Has anyone tried FileVault? I did some searching around, and apparently Clover should theoretically support a FileVault setup (given that we have native UEFI) as long as Mac OS has a recovery partition (which appeared for me after updating to Yosemite).
 
Native WiFi, Atheros AR9280 168c:002a working without patching BIOS!!

Edit 2014-11-09: If you have not changed the regdomain on your card (to match your locality and to match OS X valid regdomains), you should do so while it still has the standard ids. Because after you re-brand and install it, you'll not be able to change the regdomain using CommView/RCU. Because I forgot to do this, I need to remove the card again from the laptop, rebrand back to the standard device-id, fix the regdomain, then switch back to the normal device-id (something for tomorrow).

For changing the regdomain, see this thread: http://www.tonymacx86.com/hp-probook/97428-ar9280-athr-unknown-locale-xx-eeprom-mod.html. The Linux method linked later in the thread is the easier than using Windows: http://blog.asiantuntijakaveri.fi/2014/08/one-of-my-atheros-ar9280-minipcie-cards.html

I am writing this message with my Lenovo U430 using native OS X Atheros drivers for AR9280. No more USB WiFi, no more annoying "Wireless Network Utility" for me...

Summary:
- rebrand an AR5BHB92 (AR9280) as 168c:0034 17aa:3114, which are the IDs for the Lenovo WB222 (AR946x).
- use an injector to load the native kext for AR9280
- patch the kext (using Clover config.plist patches) to make the kext treat it as AR9280

Note: No idea if this configuration works in Windows. I haven't gotten that far yet... In Linux it is easy to build a custom ath9k driver.

I used Linux to do the rebrand. Details are here: http://www.tonymacx86.com/hp-probook/115110-rebranding-atheros-928x-cards-guide.html (Recovery guide is the Linux method).

The patches for config.plist (KernelAndKextPatches/KextsToPatch):
Code:
<dict>
	<key>Name</key>
	<string>AirPortAtheros40</string>
	<key>Find</key>
	<data>g8H5g/kp</data>
	<key>Replace</key>
	<data>g8Hvg/kp</data>
	<key>Comment</key>
	<string>AR9280 rebranded as AR946x</string>
</dict>
<dict>
	<key>Name</key>
	<string>AirPortAtheros40</string>
	<key>Find</key>
	<data>QYP6MA+HqQAAAA==</data>
	<key>Replace</key>
	<data>QboqAAAAkJCQkA==</data>
	<key>Comment</key>
	<string>AR9280 rebranded as AR946x</string>
</dict>


Basic process:
- rebrand the card in another computer that does not implement a whitelist
- install the card in the U430, verify you can get past BIOS whitelist check
- install the injector kext
- edit config.plist to include the patches.
- reboot, verify the kext is loaded with 'kextstat|grep -y airport'. wifi will not work yet.
- rebuild cache with 'sudo touch /System/Library/Extensions && sudo kextcache -u /'
- reboot
- this time, wifi should work. add the interface in SysPrefs->Network->[+] if necessary

The injector kext is attached.
 

Attachments

  • AirPort_AR9280_as_AR946x.kext.zip
    1.9 KB · Views: 186
...
Note: No idea if this configuration works in Windows. I haven't gotten that far yet... In Linux it is easy to build a custom ath9k driver.

Update on Windows...

The bad: I haven't found a way to make the driver work on Windows (Win81). Fortunately, the AR946x driver does not crash upon encountering AR9280 hardware with an AR946x device-id. And you can force the AR9280 driver to load, but unfortunately it doesn't work. It probably needs similar patches to help it realize that the actual device is an AR9280.

The good: I can just use USB WiFi on Windows. USB WiFi on Windows isn't painful like it is on OS X because Microsoft fully documents their driver interfaces, instead of keeping them secret like Apple does.

It is a workable solution...
 
Native WiFi, Atheros AR9280 168c:002a working without patching BIOS!!

I am writing this message with my Lenovo U430 using native OS X Atheros drivers for AR9280. No more USB WiFi, no more annoying "Wireless Network Utility" for me...

This is great news! (I pretty much gave up on Windows anyways.)
Do you know if there's any patching method for the AR5B95 (aka AR9285)? I remember seeing a thread a while back on TonyMac about this card working natively on OS X, and I happen to have a spare one. If not, I can just pick up an AR9280 for cheap.
 
This is great news! (I pretty much gave up on Windows anyways.)
Do you know if there's any patching method for the AR5B95 (aka AR9285)? I remember seeing a thread a while back on TonyMac about this card working natively on OS X, and I happen to have a spare one. If not, I can just pick up an AR9280 for cheap.

The same general technique would apply to the AR5B95 or AR5B195 (AR9285). Of course the AR9285 doesn't have a 5Ghz radio, and the clover config.plist patches would be slightly different since AR9285 is device-id 002b vs. 002a (It may work with the same patches, but I'd probably stay on the safe side and patch appropriately).
 
Summary:
- rebrand an AR5BHB92 (AR9280) as 168c:0034 17aa:3114, which are the IDs for the Lenovo WB222 (AR946x).
- use an injector to load the native kext for AR9280
- patch the kext (using Clover config.plist patches) to make the kext treat it as AR9280

I'm a bit lost here; for the Linux rebranding guide, where he says to replace the AR9285 product ID with XXXX and later, the vendor ID, what do I use as product/vendor ID?

EDIT: Never mind, figured it out.
 
The same general technique would apply to the AR5B95 or AR5B195 (AR9285). Of course the AR9285 doesn't have a 5Ghz radio, and the clover config.plist patches would be slightly different since AR9285 is device-id 002b vs. 002a (It may work with the same patches, but I'd probably stay on the safe side and patch appropriately).

I followed the rebrand guide, and I installed the injector kext and edited my config.plist file, but on reboot, kextstat shows the kext as loaded, but the card doesn't show up in SysPrefs (I ran the command to update the kextcache.)

I just realized that you said I would need a different config.plist patch. How would I figure out what to use?

EDIT: I'm an idiot, I figured that the encoded string in the patch was just the device ID, and it was, I changed 2A to 2B, and now I have working native Wifi!
Thank you so much RehabMan!
 
I followed the rebrand guide, and I installed the injector kext and edited my config.plist file, but on reboot, kextstat shows the kext as loaded, but the card doesn't show up in SysPrefs (I ran the command to update the kextcache.)

I just realized that you said I would need a different config.plist patch. How would I figure out what to use?

EDIT: I'm an idiot, I figured that the encoded string in the patch was just the device ID, and it was, I changed 2A to 2B, and now I have working native Wifi!
Thank you so much RehabMan!

I don't think your change in the config.plist patches made a material change. The problem was you forgot to reboot after installing the injector kext. Clover can only patch a kext if it is in kernel cache. Without a previous iokit match and cache rebuild, the kext would not have been in the cache until after a reboot, and therefore not patched by Clover until after the second reboot.

To be 100% correct for AR9285, both patches would need to be adjusted:
Code:
<dict>
	<key>Name</key>
	<string>AirPortAtheros40</string>
	<key>Find</key>
	<data>g8H5g/kp</data>
	<key>Replace</key>
	<data>g8Hwg/kp</data>
	<key>Comment</key>
	<string>AR9285 rebranded as AR946x</string>
</dict>
<dict>
	<key>Name</key>
	<string>AirPortAtheros40</string>
	<key>Find</key>
	<data>QYP6MA+HqQAAAA==</data>
	<key>Replace</key>
	<data>QborAAAAkJCQkA==</data>
	<key>Comment</key>
	<string>AR9285 rebranded as AR946x</string>
</dict>

Chances are AR9280 and AR9285 will work with either patch as they are very similar. But it is better to patch the code with the correct patch for the hardware you have.
 
I don't think your change in the config.plist patches made a material change. The problem was you forgot to reboot after installing the injector kext. Clover can only patch a kext if it is in kernel cache. Without a previous iokit match and cache rebuild, the kext would not have been in the cache until after a reboot, and therefore not patched by Clover until after the second reboot.

I did reboot after installing the injector kext (with and without rebuilding the kext cache, with the Clover patches). I guess it needed my card specific patch for it to fully work.
Now that native Wifi works, I can test AirDrop with people who have real Macs.
 
Status
Not open for further replies.
Back
Top