Dell Mini 10 and BCM4312

I’ve just been bought a Dell Mini 10 by my employer, Red Hat.

I’ve wiped Ubuntu, and installed Fedora 11 on the machine, as it’s what I’m familiar with, and the kernel seems to be a bit more up to date than what it came with. Kudos to Dell for shipping with any Linux, I’m sure most people don’t care that much what “version” of Linx they are using.

Now, the interesting part: most stuff “just works”. The screen is fantastic, the keyboard is pretty good considering it’s so small, and the backlight seems to DTRT. It also weighs about one thousandths of a gram, or something in that order or magnitude.

Now, what doesn’t work: the Broadcom BCM4312 network device. Now, somebody has reversed engineered the Broadcom hardware and has published really good specs about the 43xx hardware, and the 4312 is no exception. The 4312 seems to be a LP PHY, so a little different than what the kernel knows about already. There’s already enough code in the wireless-testing kernel tree thanks to Michael Buesch (but EXPERIMENTAL and BROKEN) to get the chip operational, and recognised by NetworkManager, by alas, 95% of the setup code is needs to be written.

Now, all it would take is for a couple of expert network hackers to take the spec, and implement the engine setup in a few days of hacking. Unfortunately for me, I’m no network hacker, and am crazy busy with PackageKit/DeviceKit/PolicyKit work. That said, if no-one steps up to the mark in the next few weeks, I’ll have a go and submit some patches.

There’s also the firmware issue. Using b43-fwcutter I can get working firmware, but this doesn’t feel very “Fedora” as you have to use the Windows non-free driver and cut the binary data from it. I’ve tried to push through the open firmware package into Fedora, but this only supports a few of the older Broadcom cards. It wouldn’t take much to add support for the newer cards, although that’s probably a task for someone very familiar with the hardware, like for instance, Broadcom.

Now, Broadcom, I’m sure the open source community would really appreciate an engineer-day per week (I guess circa $12,000pa plus some good PR) for the open drivers and firmware. If that were to happen, and Linux support for Broadcom networking goes from 10% done to 90% done, I’m sure a whole lot more vendors would ship with your hardware inside. Whether or not that would translate to greater than $12k’s extra profit is left as an exercise for the reader.

For me, so the notebook is at least useful, I’ve replaced the Broadcom card with an Intel 5100AGN mini PCIe half height card with free drivers and distributable firmware. It cost £10, brand new.

I’ll still be testing the Broadcom free b43 driver, and hopefully be hacking on b43 in a few weeks if nobody beats me to it and my TODO list reduces in size.

edit: I’ve been informed the specs are not by Broadcom, they are reversed engineered. Wow.

22 responses to “Dell Mini 10 and BCM4312”

  1. Jeremy Katz

    Those specs aren’t published by Broadcom, they’ve been painstakingly reverse engineered. So there’s no real reason to thank Broadcom for anything.

  2. luis

    where/how did you buy the 5100 agn? I can’t seem to find anyone actually offering it for sale.

  3. Ruben Vermeersch

    How did you trick F11 to get the video drivers running? Are the poulsbo drivers also in the repos nowadays (rpmfusion?)? I for one cannot wait to wipe my mini 10 and replace the Ubuntu by Fedora…

  4. John W. Linville

    Not only is the spec reverse engineered, the free firmware (including the instruction set itself!) is reverse engineered as well. Amazing! And Broadcom thinks it is protecting itself from us by non-cooperation…

  5. val-gaav

    So wait DELL sells a netbook with Linux that doesn’t have drivers in the kernel ? I guess the ubuntu was using some king of blob for the wifi then ?

    Quite sad I would expect when I but a machine with Linux to have good in kernel support for devices.

  6. val-gaav

    So wait DELL sells a netbook with Linux that doesn’t have drivers in the kernel ? I guess the preloaded ubuntu was using some kind of blob for the wifi then ?

    Quite sad I would expect when I buy a machine with Linux to have good in kernel support for devices.

  7. Nil

    You could try the Broadcom ‘wl’ driver. It works better than b43 or ndiswrapper, doesn’t require firmware wackiness.

  8. jim

    Broadcom does offer some support for linux.

    http://www.broadcom.com/support/802.11/linux_sta.php might be helpful.

  9. J_Tom_Moon_79

    Hi,
    I listed my unsuccessful attempts at driver installation for the BCM4312.
    I quoted this article.
    http://forums.fedoraforum.org/showthread.php?t=228249
    (FYI)

  10. Arturo

    Broadcom BCM4312 network device, works in Fedora 11 doing this:

    First add repository RPMFusion:

    rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
    rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

    Install the driver for the graphic card and the wireless card:

    yum –enablerepo=rpmfusion-nonfree-updates-testing install xorg-x11-drv-psb
    yum install kmod-wl

    Restart the machine and that’s it !

    You need to get wired access to internet to do this, but once done, it works perfect !

  11. Arturo

    The instructions in my previous reply were a little bit wrong: to enable RPM fusion repositories type this:

    su -c ‘rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

    and then, install the graphic card driver (this will improve screen resolution):

    yum –enablerepo=rpmfusion-nonfree-updates-testing install xorg-x11-drv-psb

    and the wireless card driver:

    yum install kmod-wl

    and that’s it. It works.

    1. Arturo
      1. Arturo

        and don’t forget to reboot

Bad Behavior has blocked 2769 access attempts in the last 7 days.