Jump to content

Broadcom Ethernet BCM57781 kext needed for 10.9 DP2


  • Please log in to reply
28 replies to this topic

#1
giacomoleopardo

giacomoleopardo

    InsanelyMac Protégé

  • Members
  • PipPip
  • 63 posts
  • Gender:Male

Hello everybody.

I need someone who can patch IONetworkingFamily.kext/Contents/PlugIns/AppleBCM5701Ethernet.kext for my Ethernet Broadcom BCM57781on Mavericks DP2. The patched one for ML 10.8.4 no longer works. Any ideas?

ASRock Z77E ITX

Intel i7 3770S

Everything else is working (besides iMessage, FeceTime)



#2
carbo178

carbo178

    InsanelyMac V.I.P.

  • Local Moderators
  • 6,265 posts
  • Gender:Male
  • Location:Dalle paludi della Pianura Padana

Hi Giovanni,

try this, http://www.insanelym...le/79-bcm5722d/

See description and see if Dev-id corresponds to your

Good Hack



#3
giacomoleopardo

giacomoleopardo

    InsanelyMac Protégé

  • Members
  • PipPip
  • 63 posts
  • Gender:Male

Hi Giovanni,

try this, http://www.insanelym...le/79-bcm5722d/

See description and see if Dev-id corresponds to your

Good Hack

Thanks Marco, but unfortunately I've already tried that with no success. I posted my results yesterday here. As Mieze told me, it will be necessary a patch from the original 10.9 DP2 kext. I'm definitely not the right guy for that, but I'll keep on trying.



#4
giacomoleopardo

giacomoleopardo

    InsanelyMac Protégé

  • Members
  • PipPip
  • 63 posts
  • Gender:Male

Well, it seems ethernet is connected, but I have to set manually DHCP address. Green light appears, then, but the internet browser doesn't work. Nevertheless, it allowed me to log into iMessage and FaceTime. Now, with WiFi I can get everything!

BTW: In Mavericks DP 1/2 Power Management and HDMI audio (via DisplayPort in Apple Cinema Display) work without ssdt, dsdt or patched kexts. Added patched AppleHDA.kext for Internal Audio.



#5
Alex Auditore

Alex Auditore

    InsanelyMac Legend

  • Donators
  • 700 posts
  • Gender:Male

Well, it seems ethernet is connected, but I have to set manually DHCP address. Green light appears, then, but the internet browser doesn't work. Nevertheless, it allowed me to log into iMessage and FaceTime. Now, with WiFi I can get everything!

BTW: In Mavericks DP 1/2 Power Management and HDMI audio (via DisplayPort in Apple Cinema Display) work without ssdt, dsdt or patched kexts. Added patched AppleHDA.kext for Internal Audio.

It is hard enough. But I will try to help you..

First of all make bin patch b416->b116 in all places and show me kernel.log after.



#6
giacomoleopardo

giacomoleopardo

    InsanelyMac Protégé

  • Members
  • PipPip
  • 63 posts
  • Gender:Male

It is hard enough. But I will try to help you..

First of all make bin patch b416->b116 in all places and show me kernel.log after.

Well thanks, really, but I'm a little short of knowledge about bin patch. Kernel log is about 

sudo dmesg

 right?


Besides, Device ID is already 0x16b1

 

Attached Files



#7
Alex Auditore

Alex Auditore

    InsanelyMac Legend

  • Donators
  • 700 posts
  • Gender:Male

Use 

 

Well thanks, really, but I'm a little short of knowledge about bin patch. Kernel log is about 

sudo dmesg

 right?

Try this one.(Made bin patch) I think it won't work because we must to disassemble driver and get to know what stoppes driver.

Before it was getAdapterInfo

Now I don't know. Console must show it.

After open console -> all messages-> and find everything which is connected to 5701.

For example

 

Attached File  Screen Shot 2013-06-26 at 14.23.58.png   217.76KB   12 downloads

 


Don't forget to  add your id to the plist. Or more exactly replace 16b4 to 16b1

Attached Files



#8
giacomoleopardo

giacomoleopardo

    InsanelyMac Protégé

  • Members
  • PipPip
  • 63 posts
  • Gender:Male

ok, replaced 16b4 to 16b1 from your kext and replaced into IONetworkingFamily.kext/Contents/PlugIns

 

EDIT: after removing BCM5722D.kext fro S/L/E, console gave me the same error and ethernet no longer detected

Attached Files



#9
Alex Auditore

Alex Auditore

    InsanelyMac Legend

  • Donators
  • 700 posts
  • Gender:Male

Don't know if it will work

0F 84 06 01 00 00->0F 85 06 01 00 00

0f8465010000 -> 0f8565010000

Attached Files



#10
giacomoleopardo

giacomoleopardo

    InsanelyMac Protégé

  • Members
  • PipPip
  • 63 posts
  • Gender:Male

Nope! Yesterday Mieze wrote me this, maybe it says something to you

These are the instructions to patch the 10.8.3 kext. As the corresponding instructions will be at different locations in the code you need to locate them first in the disassembled code. Basic knowledge of x86 assembler is required.

Change

7a8b:    ba 2c 00 00 00     mov $0x2c,%edx
7a90:    e8 bb 90 ff ff         callq b50 <kmod_info-0x36138>
7a95:    66 89 83 92 04 00 00     mov %ax,0x492(%rbx)

Into

7a8b:    ba 2c 00 00 00     mov $0x2c,%edx
7a90:    b8 e4 14 00 00     mov $0x14e4,%eax            <--- Move the subsystem-vendor-id into AX
7a95:    66 89 83 92 04 00 00     mov %ax,0x492(%rbx)


Change

7aa6:    ba 2e 00 00 00     mov $0x2e,%edx
7aab:    e8 a0 90 ff ff         callq b50 <kmod_info-0x36138>
7ab0:    66 89 83 94 04 00 00     mov %ax,0x494(%rbx)

Into

7aa6:    ba 2e 00 00 00     mov $0x2e,%edx
7aab:    b8 b4 16 00 00     mov $0x16b4,%eax            <--- Move the subsystem-id into AX
7ab0:    66 89 83 94 04 00 00     mov %ax,0x494(%rbx)


Change

7b24:    ba 02 00 00 00     mov $0x2,%edx
7b29:    e8 22 90 ff ff         callq b50 <kmod_info-0x36138>
7b2e:    66 89 83 90 04 00 00     mov %ax,0x490(%rbx)

Into

7b24:    ba 02 00 00 00     mov $0x2,%edx
7b29:    b8 b4 16 00 00     mov $0x16b4,%eax            <--- Move the device-id into AX
7b2e:    66 89 83 90 04 00 00     mov %ax,0x490(%rbx)

The routine callq is calling will be at a different location in the code so that the instruction code in hex will be different too. First you'll have to get a copy of GNU binutils, build from source, install and use objdump to disassemble the code. Then you can start searching the sequences.

 

A simple binary match won't work. Without basic x86 assembler knowledge you'll have a hard time doing the patch because you need to understand what the routines are doing.

 

The last mov instruction, which stores the values in variables will write to different locations too

 

Hope this helps you to help me  ;)

I attach my original Mavericks DP2 IONetworkingFamily.kext

Attached Files



#11
Alex Auditore

Alex Auditore

    InsanelyMac Legend

  • Donators
  • 700 posts
  • Gender:Male

Nope! Yesterday Mieze wrote me this, maybe it says something to you

Hope this helps you to help me  ;)

I attach my original Mavericks DP2 IONetworkingFamily.kext

I can't find this data neither disassembler nor hexedit.



#12
giacomoleopardo

giacomoleopardo

    InsanelyMac Protégé

  • Members
  • PipPip
  • 63 posts
  • Gender:Male

No worries, thanks for your time, Alex!



#13
stealth

stealth

    InsanelyMac Protégé

  • Members
  • Pip
  • 8 posts

Hey any luck with this? Having the same issue with the same motherboard/ethernet adapter. And no wifi to fall back on :\



#14
qwerty12

qwerty12

    InsanelyMac Protégé

  • Members
  • Pip
  • 49 posts
  • Gender:Male
  • Location:UK

Nope! Yesterday Mieze wrote me this, maybe it says something to you
Hope this helps you to help me  ;)
I attach my original Mavericks DP2 IONetworkingFamily.kext


This patched binary may work (if it does, credits to Mieze; if not, then all blame is mine) for you.

Attached Files



#15
Regi Yassin

Regi Yassin

    Who am I ?

  • Members
  • PipPipPipPipPip
  • 278 posts
  • Gender:Not Telling

This patched binary may work (if it does, credits to Mieze; if not, then all blame is mine) for you.

this is working with my bcm57781, 16b1

just replace it and add the device id to info.plist

AppleBCM5701Ethernet: [1000001ed, ethernet]        0        0 ReadInRom: no 2nd code header found
Ethernet [AppleBCM5701Ethernet]: Link up on en0, 100-Megabit, Full-duplex, Symmetric flow-control, Debug [796d,0301,0de1,0300,45e1,0000]

DHCP also works

 

thanks a lot

 

the only problem i can't open system information in dp2

it always crashed, so i can't give any screenshot of it



#16
qwerty12

qwerty12

    InsanelyMac Protégé

  • Members
  • Pip
  • 49 posts
  • Gender:Male
  • Location:UK

Oh, great, glad to hear it :)

 

I take it you have QE/CI working? Pressing System Report (in Safe Mode as it was the only way I could boot then) would kick me back to the login screen before I figured out why my HD 3000 device properties weren't being inserted and when I fixed that, I could see the System Report again in 10.9 DP1



#17
stealth

stealth

    InsanelyMac Protégé

  • Members
  • Pip
  • 8 posts

Hey thanks qwerty12, it's working great :)



#18
Buckeyes1995

Buckeyes1995

    InsanelyMac Protégé

  • Members
  • Pip
  • 41 posts

Hi there,

 

 I replaced AppleBCM5701Ethernet in "/System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleBCM5701Ethernet.kext/Contents/MacOS" with your patched binary (Mavericks DP3)

 

 I then edited /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleBCM5701Ethernet.kext/Contents/Info.plist and added:

 

  <key>IONameMatch</key>

  <array>

         <string>pci14e4,16b1</string>

          ....

  </array>

 

But get the following error messages in the console log:

 

7/20/13 11:43:50.000 AM kernel[0]: Kext com.apple.iokit.AppleBCM5701Ethernet - library kext com.apple.driver.mDNSOffloadUserClient not found.
7/20/13 11:43:50.000 AM kernel[0]: Can't load kext com.apple.iokit.AppleBCM5701Ethernet - failed to resolve library dependencies.
7/20/13 11:43:50.000 AM kernel[0]: Kext com.apple.iokit.AppleBCM5701Ethernet failed to load (0xdc00800e).
7/20/13 11:43:50.000 AM kernel[0]: Failed to load kext com.apple.iokit.AppleBCM5701Ethernet (error 0xdc00800e).
7/20/13 11:43:50.000 AM kernel[0]: Couldn't alloc class "BCM5701Enet"
 
 
 
Any ideas?
 
Thanks!
 

 

 

 

Oh, great, glad to hear it :)

 

I take it you have QE/CI working? Pressing System Report (in Safe Mode as it was the only way I could boot then) would kick me back to the login screen before I figured out why my HD 3000 device properties weren't being inserted and when I fixed that, I could see the System Report again in 10.9 DP1



#19
Buckeyes1995

Buckeyes1995

    InsanelyMac Protégé

  • Members
  • Pip
  • 41 posts

It's probably because I'm running Mavericks DP3, not DP2.   Also, with just my WiFi I can't log into the app store.. tried everything... anyone have any ideas, or can someone patch the DP3 version so the BCM57781 works?

 

thanks!

 

 

EDIT: I reverted back to DP2, no luck.. still get the same errors as above:

 

7/20/13 11:43:50.000 AM kernel[0]: Kext com.apple.iokit.AppleBCM5701Ethernet - library kext com.apple.driver.mDNSOffloadUserClient not found.
7/20/13 11:43:50.000 AM kernel[0]: Can't load kext com.apple.iokit.AppleBCM5701Ethernet - failed to resolve library dependencies.
7/20/13 11:43:50.000 AM kernel[0]: Kext com.apple.iokit.AppleBCM5701Ethernet failed to load (0xdc00800e).
7/20/13 11:43:50.000 AM kernel[0]: Failed to load kext com.apple.iokit.AppleBCM5701Ethernet (error 0xdc00800e).
7/20/13 11:43:50.000 AM kernel[0]: Couldn't alloc class "BCM5701Enet"


#20
Alex Auditore

Alex Auditore

    InsanelyMac Legend

  • Donators
  • 700 posts
  • Gender:Male

It's probably because I'm running Mavericks DP3, not DP2.   Also, with just my WiFi I can't log into the app store.. tried everything... anyone have any ideas, or can someone patch the DP3 version so the BCM57781 works?
 
thanks!
 
 
EDIT: I reverted back to DP2, no luck.. still get the same errors as above:
 

7/20/13 11:43:50.000 AM kernel[0]: Kext com.apple.iokit.AppleBCM5701Ethernet - library kext com.apple.driver.mDNSOffloadUserClient not found.
7/20/13 11:43:50.000 AM kernel[0]: Can't load kext com.apple.iokit.AppleBCM5701Ethernet - failed to resolve library dependencies.
7/20/13 11:43:50.000 AM kernel[0]: Kext com.apple.iokit.AppleBCM5701Ethernet failed to load (0xdc00800e).
7/20/13 11:43:50.000 AM kernel[0]: Failed to load kext com.apple.iokit.AppleBCM5701Ethernet (error 0xdc00800e).
7/20/13 11:43:50.000 AM kernel[0]: Couldn't alloc class "BCM5701Enet"
Did you try this solution. Theoretically it should be better as it doesn't stop during an active traffic and continue working after sleep.
http://www.insanelym...le/79-bcm5722d/





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy