Jump to content

Port BCM 4313 wifi linux driver to OS X.


  • Please log in to reply
12 replies to this topic

#1
schif

schif

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts
Hi everybody,

I have buy a netbook the Asus eee PC 1015PN, and i want to create a driver for his wifi card, the Broadcom 4313.

I had search and i found a website with the open source driver linux based from broadcom:
http://wireless.kern...ivers/brcm80211

and i want to create a OS X driver with this linux driver open source, but i don't have an enough knowledge for develop it.

if anyone has knowledge sufficient to carry or even explain how to develop it on mac I would be grateful.

#2
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,973 posts
  • Gender:Male
  • Location:Moscow
It is impossible hard work. About 300hours.
But as I know BCM4313 may works with vanilla driver
Device (ARPT)
				{
					Name (_ADR, Zero)
					Name (_SUN, One)
					Name (_PRW, Package (0x02)
					{
						0x09, 
						0x03
					})
					Method (_DSM, 4, NotSerialized)
					{
						Store (Package ()
							{
								"device-id",
								Buffer ()
								{
								  0x12, 0x43, 0x00, 0x00
								},
								
								"name",
								Buffer ()
								{
									"pci14e4,4312"
								},
							
								"model", 
								Buffer (0x13)
								{
									"Dell Wireless 1395"
								}, 

								"device_type", 
								Buffer (0x08)
								{
									"Airport"
								}, 

								"built-in", 
								Buffer (One)
								{
									0x00
								}
							}, Local0)
						DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
						Return (Local0)
					}
				}


#3
flexer

flexer

    InsanelyMac Protégé

  • Members
  • Pip
  • 30 posts
  • Gender:Male
  • Location:caserta - Italy

It is impossible hard work. About 300hours.
But as I know BCM4313 may works with vanilla driver

Device (ARPT)
				{
					Name (_ADR, Zero)
					Name (_SUN, One)
					Name (_PRW, Package (0x02)
					{
						0x09, 
						0x03
					})
					Method (_DSM, 4, NotSerialized)
					{
						Store (Package ()
							{
								"device-id",
								Buffer ()
								{
								  0x12, 0x43, 0x00, 0x00
								},
								
								"name",
								Buffer ()
								{
									"pci14e4,4312"
								},
							
								"model", 
								Buffer (0x13)
								{
									"Dell Wireless 1395"
								}, 

								"device_type", 
								Buffer (0x08)
								{
									"Airport"
								}, 

								"built-in", 
								Buffer (One)
								{
									0x00
								}
							}, Local0)
						DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
						Return (Local0)
					}
				}


sorry Slice, what do you mean with vanilla driver?
And BCM4313 have id 14e4:4727. Could be right just change the device id?

#4
marugby123

marugby123

    InsanelyMac Sage

  • Local Moderators
  • 298 posts
  • Gender:Male
  • Location:USA, East Coast
  • Interests:All technology, computers, network security, iOS app dev, etc

sorry Slice, what do you mean with vanilla driver?
And BCM4313 have id 14e4:4727. Could be right just change the device id?


Changing the device ID will do no good. It still wouldn't be able to communicate with the computer.

Marugby123

#5
leitor

leitor

    InsanelyMac Protégé

  • Members
  • Pip
  • 27 posts

It is impossible hard work. About 300hours.
But as I know BCM4313 may works with vanilla driver

Device (ARPT)
				  {
					  Name (_ADR, Zero)
					  Name (_SUN, One)
					  Name (_PRW, Package (0x02)
					  {
						  0x09, 
						  0x03
					  })
					  Method (_DSM, 4, NotSerialized)
					  {
						  Store (Package ()
							  {
								  "device-id",
								  Buffer ()
								  {
									0x12, 0x43, 0x00, 0x00
								  },
								  
								  "name",
								  Buffer ()
								  {
									  "pci14e4,4312"
								  },
							  
								  "model", 
								  Buffer (0x13)
								  {
									  "Dell Wireless 1395"
								  }, 
  
								  "device_type", 
								  Buffer (0x08)
								  {
									  "Airport"
								  }, 
  
								  "built-in", 
								  Buffer (One)
								  {
									  0x00
								  }
							  }, Local0)
						  DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
						  Return (Local0)
					  }
				  }


Hi Slice,

Following is what I have on my DSDT in an attempt to make BCM4313 work (Network controller [0280]: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller [14e4:4727] (rev 01)
Subsystem: Broadcom Corporation Device [14e4:0510])

Can I just substitute the Device (WLD1) with your Device (ARPT) to make BCM4313 work here?

Thank you

Device (RP02)
			 {
				 Name (_ADR, 0x001C0001)
				 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
				 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
				 {
							 Offset (0x10), 
					 APL0,   1, 
					 APL1,   1, 
							 Offset (0x12), 
						 ,   13, 
					 LASX,   1, 
							 Offset (0x1A), 
					 ABPX,   1, 
						 ,   2, 
					 PDCX,   1, 
						 ,   2, 
					 PDSX,   1, 
							 Offset (0x1B), 
					 LSCX,   1, 
							 Offset (0x20), 
							 Offset (0x22), 
					 PSPX,   1, 
							 Offset (0x98), 
						 ,   30, 
					 HPEX,   1, 
					 PMEX,   1, 
						 ,   30, 
					 HPSX,   1, 
					 PMSX,   1
				 }
				 Device (PXSX)
				 {
					 Name (_ADR, Zero)
				 }
				 Method (_PRT, 0, NotSerialized)
				 {
					 If (PICM)
					 {
						 Return (AR05)
					 }
					 Return (PR05)
				 }
				 Device (WLD1)
				 {
					 Name (_ADR, Zero)
					 OperationRegion (WLAN, PCI_Config, Zero, 0x08)
					 Field (WLAN, ByteAcc, NoLock, Preserve)
					 {
						 WLID,   8
					 }
					 Method (_DSM, 4, NotSerialized)
						 {
						   Store (Package (0x0C)
							 {
								 "device-id",
								 Buffer (0x04)
								 {
									 0x12, 0x43, 0x00, 0x00
								 },
 
								 "subsystem-id",
								 Buffer (0x04)
								 {
									 0x6B, 0x10, 0x00, 0x00
								 },
 
								 "name",
								 Buffer (0x0D)
								 {
									 "pci14e4,4312"
								 },
 
								 "device_type",
								 Buffer (0x08)
								 {
									 "Airport"
								 },
 
								 "model",
								 Buffer (0x11)
								 {
									 "Broadcom BCM4313"
								 },
 
								 "built-in",
								 Buffer (One)
								 {
									 0x00
								 }
							 }, Local0)
						 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
						 Return (Local0)
						 }
				 }
			 }


#6
LatinMcG

LatinMcG

    Insanely digesting DSDT

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,509 posts
  • Gender:Male
  • Location:Tampa, Florida
just change the card. and if its lenovo or HP flash bios whitelist removed from MDL forums
(or alternative sometimes is WWAN slot not WLAN = depends on model of laptop. with pin 20 tape.. no bios flashing)

i use atheros AR5B91 vendor 168c device id 2A $10 ebay for atheros
or if u want broadcom bcm94321 is like $16

the realtek use Lnx2mac.blogspot driver .. sleep wont wake with realtek drivers RTL2.0.x

#7
ugokind

ugokind

    InsanelyMac Deity

  • Donators
  • 1,712 posts
  • Gender:Male
  • Location:10100
  • Interests:Apicoltura
    Mac
    Linux
    Homebrew
    Australia
    Spremermilcervello
why not using the dsdt fix and the enabler?
http://www.kexts.com...er_bcm43xx.html

#8
psychoarka

psychoarka

    InsanelyMac Protégé

  • Members
  • Pip
  • 7 posts
  • Gender:Male
  • Location:Where the weed is free for all
No use. The enabler can't make it work.

#9
LatinMcG

LatinMcG

    Insanely digesting DSDT

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,509 posts
  • Gender:Male
  • Location:Tampa, Florida
the 4727 is different firmware as its low power chipset not 43xx ..its 47xx. maybe with newer drivers in lion ?

#10
psychoarka

psychoarka

    InsanelyMac Protégé

  • Members
  • Pip
  • 7 posts
  • Gender:Male
  • Location:Where the weed is free for all
you mean with airport utility fully updated? I'm running 10.7.3
tried everything except this dsdt thingy. Can't get 'em totally. But it would be awesome if I just had a working wireless.
Every other thing is flawless in my laptop !

#11
LatinMcG

LatinMcG

    Insanely digesting DSDT

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,509 posts
  • Gender:Male
  • Location:Tampa, Florida
maybe = hope = no working to my knowledge.

just change the card for a compatible like BCM94321MC or AR5B91

the 4727 has a different chip than older broadcoms that work. SO NO IT WONT WORK UNLESS APPLE added drivers for this chipset which it has NOT... i think

#12
YuTech

YuTech

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts
Anything changed maybe in Mountain Lion?
Or any other news on BCM4313?

maybe is something helpful on this site:
http://wiki.debian.o...evices_.28wl.29

#13
Thalles

Thalles

    InsanelyMac Protégé

  • Members
  • Pip
  • 49 posts
  • Gender:Male
  • Location:Brazil, SP
Wating news for this card Broadcom 4313 (14e4,4727)





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