Menu

MacBook 6,1 wireless issues

Help
Carter
2013-12-09
2013-12-14
  • Carter

    Carter - 2013-12-09

    Hi all,

    I have been attempting to use CloneZilla to clone to ~25 MacBooks, but have had immense difficulty. I finally was able to boot with the newer Ubuntu-based CloneZilla live systems, but wireless internet is still non-functional. Worse - any attempt to set wlan0 up freezes the terminal.

    The controller these notebooks use is a Broadcom BCM43224, and it likes to use module bcma. I can set the SSID for a network it should connect to, but using # dhclient or $ sudo ifconfig wlan0 up both freeze the terminal. I can switch to other terminals but cannot interact with the process (e.g. by passing # kill xxxx; be it dhclient or ifconfig) that caused the freeze. CTRL+C has no effect when used in the frozen terminal.

    While I have not tested with other distros on these MacBooks, from my googling I cannot find any reason why this should be the case. Any thoughts on what to try, look for, etc?

    Thanks!

     
  • Carter

    Carter - 2013-12-09

    dmesg following ifconfig wlan0 up:

    ieee80211 phy0: brcmsmac: fail to load firmware brcm/bcm43xx-0.fw

     
  • Carter

    Carter - 2013-12-10

    I have downloaded bcm43xx-0.fw from the kernel.org git repository and have added it to the 20131125-saucy-amd64 live USB. In case you are unclear on how to properly add this (or other firmware or whatnot) here's how.

    1. On my Gentoo server, I had already built squashfs support and loopback device support into the kernel. For more on how to set your environment up for squashfs, see: http://www.tldp.org/HOWTO/html_single/SquashFS-HOWTO/

    2. I downloaded the appropriate version of Clonezilla (in this case, the alternative Ubuntu branch 20131125-saucy-amd64, though I know that newer Ubuntu branch releases work as well) and extracted it to a GPT-formatted USB drive. Unfortunately due to the Mac-centric nature of the environment I work in, the USB was formatted with an HFS+ partition. That's ok as newer Clonezilla releases have hfsplus support.

    3. I copied home/filesystem.squashfs from the Clonezilla stick (or from its mounted image) to a working directory on the server.

    4. cd to your working directory and extract: $ unsquashfs ./filesystem.squashfs

    5. Move bcm43xx-0.fw to the correct directory: $ mkdir ./squashfs-root/lib/firmware/brcm && cp bcm43xx-0.fw ./squashfs-root/lib/firmware/brcm/

    6. Resquash: $ mksquashfs ./squashfs-root/* filesystem1.squashfs
      (Make sure you get the syntax right, or you may end up with a squashfs that doesn't have the right directory structure to be a root filesystem! Check your work if you need to, eg. $ mkdir sq && mount -t squashfs filesystem1.squashfs sq/ && ls -l sq/)

    7. Everything looking good? Then copy the new squashfs back to its place on your USB stick, insert into Mac, boot, and up your wlan0!

    I hope this helps others. Perhaps more of the common firmware blobs should be included with CloneZilla to ease this process and provide compatibility for common hardware like the BCM43224 AirPort eXtreme (heh)?

    Best,
    Carter

     
  • Steven Shiau

    Steven Shiau - 2013-12-14

    Wow, nice!
    On the other hand, did you try the alternative testing Clonezilla live, like 2013-trusty?
    It comes with newer Linux kernel (3.12), newer firmware than that of 2013
    -saucy. Maybe it can ease your process.

    Steven.

     

Log in to post a comment.