Jump to content

Please Help! LAN Broadcom BCM5787


petcama
 Share

47 posts in this topic

Recommended Posts

Okay well after looking more into the issue, it's undoubtedly the Mac Address. As soon as I attempt to set the Mac Address via Terminal (sudo -s; (password); ifconfig en0 ether (my mac address)) the system immediately locks up and freezes. So my guess is that after a few seconds of having internet connectivity, the network attempts to set a mac address, which then in turn causes the crash to occur. I looked at my logs (system, ect..) and really didn't notice any errors at the time of the crash, but before I did notice a bunch of speed step errors, which could be somehow related.

 

Anyway if I ever figure this out I'll let you guys know, I'm still trying to figure out a way to set this mac address so that when the system reboot it will automatically have the mac set, and hopefully will allow the internet to work.

no solution at this time?

i have a laptop ACER 5920G with a BCM5787 i try to install today for testing any suggest???

Link to comment
Share on other sites

... So my guess is that after a few seconds of having internet connectivity, the network attempts to set a mac address, which then in turn causes the crash to occur.

Wrong. The network doesn't set your mac address. The device driver is supposed to get it from the hardware. If it can't, like in this case, doing "ifconfig en0 ether (my mac address)" might look like it's doing something useful, if the command completes, but it really doesn't. Even for people who can run that command, that's as far as they ever get. It does not make the card start working after that.

 

In your case the driver is not actually talking to the hardware. It's trying to write to an invalid memory location and the pc crashes and freezes up hard. In other words, the driver (kext) does not work for that card. You'll never get a connection that way.

Link to comment
Share on other sites

Wrong. The network doesn't set your mac address. The device driver is supposed to get it from the hardware. If it can't, like in this case, doing "ifconfig en0 ether (my mac address)" might look like it's doing something useful, if the command completes, but it really doesn't. Even for people who can run that command, that's as far as they ever get. It does not make the card start working after that.

 

In your case the driver is not actually talking to the hardware. It's trying to write to an invalid memory location and the pc crashes and freezes up hard. In other words, the driver (kext) does not work for that card. You'll never get a connection that way.

 

I can't say you're completely wrong, but you are somewhat wrong. I can actually get on the internet and surf the web, but only for a minute before it crashes the system. If I try to set the Mac address it crashes the same as if I try to surf the web for a few minutes, which is making me think it's attempting to get the MAC address. But I could be wrong, I'm only guessing.

Link to comment
Share on other sites

I tried the 11 steps..

Something weird; I can keep using network utility to traceroute, ping (over 500..), etc.. but if i open the browser once that makes the system crash. Any explanation for this ?

capture3kg8.th.jpg

Link to comment
Share on other sites

I tried the 11 steps..

Something weird; I can keep using network utility to traceroute, ping (over 500..), etc.. but if i open the browser once that makes the system crash. Any explanation for this ?

capture3kg8.th.jpg

 

I tried this, if you let it keep pinging it will eventually crash out. It's the mac address, plain and simple. Now you can set the MAC address in the Network Configuration.kext, but on reboot it will automatically revert back to the original. Does anyone know if there's a way to lock this up with your mac address manually inserted? If so this could be the solution.

Link to comment
Share on other sites

I can't say you're completely wrong, but you are somewhat wrong. I can actually get on the internet and surf the web, but only for a minute before it crashes the system. If I try to set the Mac address it crashes the same as if I try to surf the web for a few minutes, which is making me think it's attempting to get the MAC address. But I could be wrong, I'm only guessing.

That's interesting, but the problem is primarily that the chip has a certain number of data buffers and the driver was written for a chip with a different number. When the buffers run out the driver thinks there are still more available and attempts to write to them. Crash. Sure, it might work for a few minutes but those buffers are going to run out sooner or later.

 

The MAC address has nothing to do with it. It's a minor issue. The chip needs a MAC address to talk to the ethernet wire, yes, but fundamentally it has nothing to do with why the driver is crashing. The real problem goes much deeper than that.

Link to comment
Share on other sites

That's interesting, but the problem is primarily that the chip has a certain number of data buffers and the driver was written for a chip with a different number. When the buffers run out the driver thinks there are still more available and attempts to write to them. Crash. Sure, it might work for a few minutes but those buffers are going to run out sooner or later.

 

The MAC address has nothing to do with it. It's a minor issue. The chip needs a MAC address to talk to the ethernet wire, yes, but fundamentally it has nothing to do with why the driver is crashing. The real problem goes much deeper than that.

 

Well you want to give it a shot at fixing it? I'll send over my logs if it'll help any....

Link to comment
Share on other sites

well,anyone knows how to get a KP instead of a lock? what i mean is this, the driver is locking totally the hack and nothing is logged, so i don't have any idea where the lock happens,with a Kp at least i can see the eip of the offending function (i hope)SetHardwareAddress (located at HEX 2e95e in the file) and GetHardwareAddress (located at HEX 2e29e) are functions of the driver,its easy to see its disassembly using Idapro, they are getting parameters by the outside and return a value (my knowledges of the macos are really limited)Anyway there are tons of functions and the lock can happen anywhere, see this xcel sheet to see the functions list of the 5751 kext, i can try to modify some of them but i need an hint.Some time ago someone tried to hack the gethardwareaddress function (page 14 post #265 http://forum.insanelymac.com/index.php?showtopic=4987) i've tried the hack on mine and got a macaddress but my connectivity was still broken and the mod wasn't stable,sometimes i got macaddress sometimes not, sometimes got a crash

 

i forgot about a thing Sgarbesi, you get a similar lock even if you try to unload the kext, not only trying to set the macaddress,and don't think it try to set/get the macaddress even unloading the driver.

5751_func.zip

Edited by nobb1x
Link to comment
Share on other sites

Well you want to give it a shot at fixing it? I'll send over my logs if it'll help any....

I have something else cooking right now. It's for the 57xx family but not the 5787. Besides, I don't have a 5787 so there's no way I could test it.

Link to comment
Share on other sites

I have something else cooking right now. It's for the 57xx family but not the 5787. Besides, I don't have a 5787 so there's no way I could test it.

What kind of project do you have ?

I have tried to learn how to use IOKit last weeks, so maybe I could help. I have begun to read source code from FreeBSD and Linux but as i haven't experience in driver writing, I don't understand everything :(

Link to comment
Share on other sites

  • 3 weeks later...
well,anyone knows how to get a KP instead of a lock? what i mean is this, the driver is locking totally the hack and nothing is logged, so i don't have any idea where the lock happens,with a Kp at least i can see the eip of the offending function (i hope)SetHardwareAddress (located at HEX 2e95e in the file) .....

 

 

Nobb1x,

 

If you set the timeout on boot you can type in debug=0x100 at the bootoptions prompt.

 

Now when the driver crashes you get the KP printed over your desktop.

It gives some info on a Page fault and with me it always seems to happen at offset 0x74F8 in de driver.

 

Hope this helps.

Link to comment
Share on other sites

  • 1 month later...

No further findings on this?

 

I anaged lioke some people to install the modified kext, and while I get all zeroes for a MAC, on inserting a cable I get an IP assigned.

 

Opening up safari loads up the home page and crashes a few second later.... :)

Link to comment
Share on other sites

  • 2 weeks later...
  • 11 months later...
  • 3 months later...
 Share

×
×
  • Create New...