Contribute
Register

Mac App Store access with NullEthernet.kext

Status
Not open for further replies.
RehabMan and all: I saw your posts on this topic on several forums. If I understand some of what I've read so far, it is that even with functional Ethernet, one cannot connect to the App Store except by built-in WiFi.

Actually, Built-in WiFi or built-in Ethernet (at en0) will authorize MAS access.

I have a 2014 MacBook Pro with a damaged Airport card and while this model doesn't have a "proper" Ethernet port, it does support "Thunderbolt Ethernet" with an adapter—no additional software or drivers needed. But I can't connect to the App Store because of the device verification error.

Does the broken device still show on the PCI bus? If so, you can use NullEthernet.kext + NullEthernetInjector.kext (with IOPCIPrimaryMatch that matches your vendor/device-id).

If it doesn't show on the PCI bus, you would then have to go the SSDT method, and of course the only way to get your Mac to load an extra SSDT is to use a hackintosh bootloader (such as Clover).

Before I install this kext—or any of the other patches floating around—I wanted to make sure that it (1) wouldn't break my Thunderbolt Ethernet access,

It will not affect other working devices.
 
FYI...

Update 2016-12-16

A new build is up. This version can be installed without any tweaks to ACPI, and even without a PCI device to attach to. Simply i install NullEthernetForce.kext along with NullEthernet.kext. Read the README for further details.
 
hey guys, i did as per your guide,
i have to say i get lost on the mac address part

i retried it for about 5 times now,
just to be cleaer
1. you put the NullEthernetInjector in clover
2. you put the NullEthernet with kext utility on SLE
3. you delete all settings on preferences and apply
4. you remove the NetworkInterfaces.plist
5. reboot

after this it should work am i right; its not working on my hp g6 with Ralink 8101E etherent card.

what am i doing wrong?
 
hey guys, i did as per your guide,
i have to say i get lost on the mac address part

i retried it for about 5 times now,
just to be cleaer
1. you put the NullEthernetInjector in clover
2. you put the NullEthernet with kext utility on SLE
3. you delete all settings on preferences and apply
4. you remove the NetworkInterfaces.plist
5. reboot

after this it should work am i right; its not working on my hp g6 with Ralink 8101E etherent card.

what am i doing wrong?

NullEthernetInjector.kext is only if you have a unsupported or not-working (but still on the PCIe bus) Ethernet card.
And you MUST customize the Info.plist for your Ethernet hardware.
Otherwise, use SSDT or DSDT patch.
 
Thanks a lot for your Kexts! It worked great on Sierra, I used the SSDT method:
"You may also use the provided ssdt-rmne.aml as an extra SSDT for the bootloader"

Afterwards I added

<key>MAC-address</key>
<data>EjRWeKvN</data>

to the NullEthernet.kext/Contents/Info.plist
(replaced EjRWeKvN with a randomized one)
But the ethernet address still shows up as 11:22:33.44:55:66. Am I missing anything?
 
Thanks a lot for your Kexts! It worked great on Sierra, I used the SSDT method:
"You may also use the provided ssdt-rmne.aml as an extra SSDT for the bootloader"

Afterwards I added

<key>MAC-address</key>
<data>EjRWeKvN</data>

to the NullEthernet.kext/Contents/Info.plist
(replaced EjRWeKvN with a randomized one)
But the ethernet address still shows up as 11:22:33.44:55:66. Am I missing anything?

With SSDT-RMNE.aml, the MAC address used is in the SSDT, not the Info.plist.
 
thanks again, it works now.
 
Problem solved...thanks!
 
Last edited:
Hi - like several others, I have a genuine MacBook Pro (early 2013, Mountain Lion) with a broken Airport card. I can use a Thunderbolt Ethernet adaptor or USB WiFi to get internet access, but these are not built in, so as a result App Store / iCloud access doesn't work.

I've read through many guides on this topic, both here and elsewhere. My broken Airport card still shows up on the PCI bus, so it seems like NullEthernetInjector should work to fix this issue. I've installed the injector, and successfully got it to work as en0, but it doesn't show up as IOBuiltin.

I've tried with both of the PCI values shown in the "compatible" field of the original IO Registry record, putting each of these in the IOPCIMatch field for NullEthernetInjector. After the usual restart and plist clearing process, both separate options seem to work, and the fake device loads (as en0), but neither option makes it show up as IOBuiltin in NetworkInterfaces.plist.

I've attached the ioreg file after applying the injector, showing that it is indeed attaching to the device (no other ethernet devices are connected at this point).

RehabMan and others - do you have any idea why this is the case, and what else I could try?

Thanks in advance for the help!


P.s.: It took a while to figure out how to get the IOPCIMatch values (e.g., from IORegistryExplorer), and that the two parts of this value needed to be swapped for the IOPCIMatch field. Maybe these hints could go in the readme for NullEthernet?
 

Attachments

  • ethernet-after.ioreg.zip
    533 KB · Views: 98
Status
Not open for further replies.
Back
Top