1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Broadcom WiFi

Discussion in 'Mobile Computing' started by lissyara, Feb 26, 2009.

  1. pkubaj

    pkubaj Member

    Messages:
    443
    Likes Received:
    1
    Is it possible to enable the Broadcom WiFi card (BCM43225, works with Linux only using the new drivers) using Windows drivers with NDIS?
     
  2. emc2

    emc2 New Member

    Messages:
    17
    Likes Received:
    0
    Theoretically yes. However, ndisgen seems to have trouble with the drivers I'm using (the Apple Bootcamp drivers for windows). When I looked at disassembled output, the device probe function seems to always returns an error code. Sure enough, it won't attach when I load the .ko. I'm guessing ndisgen isn't finding something it needs in the windows driver.
     
  3. richardpl

    richardpl New Member

    Messages:
    841
    Likes Received:
    0
    This usually means that inf file is invalid/empty.

    Found bug, want to improve software, then report it, on link bellow is website when you can do it and even post links to drivers you are using.
     
  4. KNOStic

    KNOStic New Member

    Messages:
    77
    Likes Received:
    0
    Sorry to say, no. Linux exposes a lot of things in their kernel that BSD is smart enough not to, the system calls are radically different and of course as Jeung said a long time ago, PHY-N isn't really there either to support the Broadcom stuff and that's why he piped off that ship.

    It would take a lot of work on the kernel side to make any of those wl library calls work. Sure would love to see it happen though - there's an awful lot of Broadcom stuff out there and BSD just doesn't support it. And as much as NDISGEN is nice and all, having to do all that tweaking for each and every different radio is just not practical if you want BSD to just start, pick up the radio and go.
     
  5. emc2

    emc2 New Member

    Messages:
    17
    Likes Received:
    0
    From what I've seen of the Broadcom linux driver, it seems possible to reverse-engineer something. All the driver's logic seems to be contained in the closed-source object file. Its interface with the kernel seems to be some kind of custom OS-independent layer built by the broadcom developers. They don't seem to do anything inside the closed source object file that's specific to any OS. They do pass in some linux-specific data structures to some of the functions in the object file, but they pass them in as void pointers, which would suggest they're treated as opaque values (ie, handles). My suspicion is they have an OS interface layer, and a common core driver logic, and they shipped the core logic as an object file, along with the linux version of the OS layer's source code.

    I'm working on reverse-compiling the object file to see if that suspicion is correct. If it turns out to be, then it shouldn't be too hard to adapt the driver to work with FreeBSD, and possibly to use the knowledge gained in the other Broadcom drivers (bwn and bwi)
     
  6. Seeker

    Seeker Member

    Messages:
    858
    Likes Received:
    0
    So? What?
    You are all dead or what?
    Is driver ready? Where can I get it, to test it for a little bit?
    ;)
     
  7. shokry

    shokry New Member

    Messages:
    5
    Likes Received:
    0
    Ok then, I was just holding the installation CD in my hand to install FreeBSD on my laptop, but I have the bcm4313 card :/ , that's what's gonna stop me from installing as I rely on wireless connection almost completely.
    So sad. :(
     
  8. nirnr00t

    nirnr00t New Member

    Messages:
    28
    Likes Received:
    0
    +1. Have asus eee pc 1215N with broadcom 4313.
     
  9. pkubaj

    pkubaj Member

    Messages:
    443
    Likes Received:
    1
    Buy some USB WiFi card.
     
  10. KNOStic

    KNOStic New Member

    Messages:
    77
    Likes Received:
    0
    I'm also holding out hope that this can somehow be done. With so many machines out there *requiring* broadcom support, it's becoming a major showstopper that BSD doesn't. Any word on progress? Want to collaborate? BSD *really* needs to get this done one way or another.
     
  11. emc2

    emc2 New Member

    Messages:
    17
    Likes Received:
    0
    I'm in a semester-of-death right now. I will get back to all this when it blows over.
     
  12. KNOStic

    KNOStic New Member

    Messages:
    77
    Likes Received:
    0
    Page me when it's over ... somebody's GOTTA do this. I'm not the world's best 'nix coder, but maybe with a few more keystrokes at your back, we can get this done somehow. This is one important task that'll make a lot of people happy ... :)
     
  13. avilla@

    avilla@ New Member Developer

    Messages:
    258
    Likes Received:
    0
    People, may I suggest you all to talk about this on freebsd-wireless@? That's a better place for trying to coordinate efforts on this.
     
  14. KNOStic

    KNOStic New Member

    Messages:
    77
    Likes Received:
    0
    I'll be willing to do so if there's some contribution I can offer along with emc. At this time, I'd rather not noise up the list over there since there's a new maintainer for bwn and bwi seems to be chugging along. Currently I'm all tied up with 9beta and cups madness since I'm a one man band over here and am already doubleshifting my days as it is.

    My interest in chiding in over here is merely to see if we can light a fire under getting the Linux code ported over and I'm certainly not up to speed to be a lead. I know Weongyo Jeong threw up his hands a while ago and haven't seen much on the bwn front, thus my act of encouragement here if there's anyone willing to take it up. Promise that I'll mosey over there once I see that I can be useful but am also cautious about making promises I'm not in a condition to keep at this time. Are you aware of any plans/movement/etc on the wl stuff?
     
  15. emc2

    emc2 New Member

    Messages:
    17
    Likes Received:
    0
    I'm a little confused as to just what drivers exist on the linux side. The closed-source Broadcom driver is apparently called wl. In addition there's a completely open-source driver called b43, and an older one called bw. It seems that b43 has N-PHY support (the newer cards, like the 4322), but it's not clear to me what the differences between b43 and wl are.

    My plan was (and still is) to analyze wl as follows: disassemble -> reconstruct CFG's, offsets, and others -> parse C headers to get type info -> type inference. Hopefully, this should result in C code that will yield some insight into how the thing works. However, if all the code we need is in b43, then there's little sense in going through all this.

    Also, there has been some discussion on wireless, but they seem more concerned with other things at the moment, namely getting things in order for 9-RELEASE.
     
  16. gurki

    gurki New Member

    Messages:
    3
    Likes Received:
    0
    Hey

    Just wanted to let you know I got wireless working on my asus 1215N with ndis.
    I downloaded Windows XP drivers for the broadcom chipsets and then ndis was working fine.

    On another note by using the work being done here http://wiki.freebsd.org/Intel_GPU and the new acpi_call module found here http://forums.freebsd.org/showthread.php?t=27010 I got full acceleration using the Intel card and good battery time by turning off the nvidia adapter.

    Hope this can help you to get FreeBSD running on your asus 1215n
     
  17. redw0lfx

    redw0lfx New Member

    Messages:
    99
    Likes Received:
    0
    Do you have a Broadcom 4313 chip on your asus 1215N? I have been looking for XP drivers for that chip, but only found Windows 7 drivers. If you wouldn't mind, could you provide a link to where I can find them, or upload them somewhere for me?

    Thanks.
     
  18. gurki

    gurki New Member

    Messages:
    3
    Likes Received:
    0
    Here is the link

    http://wikidrivers.com/wiki/Broadcom_BCM43xx_5.100.235.19

    Please consider that I do not think this is a reliable website to download them from but it was the only one I could find.
    If someone could find the same drivers from some manufacturers website it would be alot better choice.
     
  19. nirnr00t

    nirnr00t New Member

    Messages:
    28
    Likes Received:
    0
    Probably you use http://forums.freebsd.org/showpost.php?p=150712&postcount=5 ? :) Thanks for winxp drivers, but, as i now, ndis works only on -RELEASE, but develop of many desktop features (probably GEM) doing on -CURRENT. Its sad.
     
  20. gurki

    gurki New Member

    Messages:
    3
    Likes Received:
    0
    Yes I'm using that, I execute it in /etc/rc.local on boot, thanks for that post btw :).

    I'm running on FreeBSD 9-RC1, the kms/intel patch applied fine to that release.
     
  21. wblock@

    wblock@ Administrator Staff Member Administrator Moderator Developer

    Messages:
    11,248
    Likes Received:
    24
    What makes you think that?
     
  22. nirnr00t

    nirnr00t New Member

    Messages:
    28
    Likes Received:
    0
    It was mistake. I confirm that broadcom wifi xp driver described above works fine (with bcw 4313).

    Code:
    kldload ndis & kldload /path/to/generated/driver/module
    ifconfig wlan0 create wlandev ndis0
    ifconfig wlan0 up scan
    wpa_supplicant -D ndis -i wlan0 -c /etc/wpa_supplicant.conf
     
  23. paulfrottawa

    paulfrottawa New Member

    Messages:
    242
    Likes Received:
    0
    Working
    Code:
    bwi0@pci0:5:2:0:	class=0x028000 card=0x1355103c chip=0x431814e4 rev=0x02 hdr=0x00
        vendor     = 'Broadcom Corporation'
        device     = 'BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller'
        class      = network
    
    /boot/loader.conf:

    Code:
    if_bwi_load="YES"
    wlan_wep_load="YES"
    wlan_ccmp_load="YES"
    wlan_tkip_load="YES"
    rc.conf:
    Code:
    wlans_bwi0="wlan0"
    ifconfig_wlan0="WPA SYNCDHCP"
    Added port
    cd /usr/ports/net/bwi-firmware-kmod && make install clean


    Code:
    FreeBSD freea 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:15:25 UTC 2012     
    [email]root@obrian.cse.buffalo.edu[/email]:/usr/obj/usr/src/sys/GENERIC  i386
     
  24. emc2

    emc2 New Member

    Messages:
    17
    Likes Received:
    0
    Just letting anyone who was discussing bcm4322 support before, I am starting to have more free time now. I'm currently writing another driver, but that shouldn't take too long. I should be able to pick up where I left off.
     
  25. azizi

    azizi New Member

    Messages:
    2
    Likes Received:
    0
    I have BCM4322, and freebsd FreeBSD 9.0, I can help to test driver, if any.