AppleTV Linux Broadcom BCM4328 Wireless

I have an AppleTV 1.0 running Ubuntu 8.04 Server with an XBMC front end as a HTPC/media streamer.

The Broadcom BCM4328 wireless card in the AppleTV is not supported according to the supported devices list of the Broadcom propriety driver, but I've managed to get it to work.

  1. SSH to your AppleTV and download the 32-bit driver from Broadcom:
    wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_32-v5_100_82_38.tar.gz
  2. Extract that tarball to the current directory:
    tar -xvzf hybrid-portsrc*.tar.gz
  3. Install the headers for your particular kernel:
    sudo apt-get install linux-headers-$(uname -r)
  4. Update the hardy version to a backported version of debhelper to meet a dependency:
    wget http://launchpadlibrarian.net/19536572/debhelper_7.0.13ubuntu1~hardy1_all.deb
    sudo dpkg --install debhelper_7.0.13ubuntu1~hardy1_all.deb
  5. Compile the Broadcom driver kernel module:
    make -C /lib/modules/`uname -r`/build M=`pwd`
  6. Load the module into the kernel:
    sudo insmod wl.ko
  7. If successful, you should be able to see new interface, eth2 listed in
    ifconfig
  8. To scan available networks, use:
    sudo iwlist eth2 scan
    xbmc@appletv:/tmp$ sudo iwlist eth2 scan
    eth2      Scan completed :
              Cell 01 - Address: 12:34:56:78:90:12
                        ESSID:"UPC4"
                        Mode:Managed
                        Frequency:2.437 GHz (Channel 6)
                        Quality:4/5  Signal level:-66 dBm  Noise level:-90 dBm
                        Encryption key:on
                        Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
                                  9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
                                  48 Mb/s; 54 Mb/s
              Cell 02 - Address: 12:34:56:78:90:00
                        ESSID:"BTVOYAGER2110-11"
                        Mode:Managed
                        Frequency:2.452 GHz (Channel 9)
                        Quality:5/5  Signal level:-37 dBm  Noise level:-88 dBm
                        IE: WPA Version 1
                            Group Cipher : TKIP
                            Pairwise Ciphers (2) : CCMP TKIP
                            Authentication Suites (1) : PSK
                        Encryption key:on
                        Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
                                  24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s
                                  12 Mb/s; 48 Mb/s
  9. To connect to a network, you must first ensure wpa-supplicant is installed:
    sudo apt-get update
    sudo apt-get install wpasupplicant
  10. In the case of connecting to BTVOYAGER2110-11 above, create or edit /etc/wpa_supplicant.conf to contain the following lines:
    ap_scan=1
    ctrl_interface=/var/run/wpa_supplicant
    
    network={
            ssid="BTVOYAGER2110-11"
            scan_ssid=0
            proto=WPA
            key_mgmt=WPA-PSK
            psk="MY_WPA_PSK"
            pairwise=TKIP
            group=TKIP
    }
    
  11. Add the following the following lines to /etc/network/interfaces to add a static IP address for the machine:
    # auto eth2
    iface eth2 inet static
            address 192.168.1.157
            netmask 255.255.255.0
            gateway 192.168.1.1
            network 192.168.1.1
            broadcast 192.168.1.255
    
  12. After a reboot, you should now be able to bring up this interface manually.
    sudo ifup eth2
  13. :!: Be careful when editing configuration files in the /etc directory. If you do not know what you are doing, you may cause your machine's network interfaces to stay down after a reboot. In that case, you will need to physically log into one of the machine's ttys using a keyboard, and revert your changes because you have no network access.
    Ctrl+Alt+F<1-6>

16 thoughts on “AppleTV Linux Broadcom BCM4328 Wireless

  1. Load the module into the kernel: insmod wl.ko

    i have an error:

    insmod: error inserting 'wl.ko': -1 Unknown symbol in module

    what's happen? :S

    • Hi,

      What error message do you see when you run dmesg?

      I've just noticed that there was a slight error in my post, which I have now fixed. I had omitted sudo before the insmod wl.ko operation. This would have resulted in an error like the following:
      insmod: error inserting 'wl.ko': -1 Operation not permitted

      Have you previously tried to get the wireless module working by installing compat-wireless or similar? Perhaps you might have conflicting programs installed as a result of a previous failed install. Downloading the latest version of that and running make uninstall should clear up your system.

      If that still fails, reboot and follow the process again.

      Failing that, post back with results of dmesg. :)

      Regards,
      Jon

  2. xbmc@AppleTV:~$ sudo cp wl.ko /lib/modules/2.6.24-28-generic/kernel/net/wireless/
    xbmc@AppleTV:~$ sudo depmod -a
    xbmc@AppleTV:~$ sudo modprobe wl
    xbmc@AppleTV:~$ reboot

    above fixed my issue that the other person was having but how now do I connect>?

    • Hi,
      Use sudo iwconfig to set the connection parameters, and then sudo ifconfig eth2 up to bring up the interface.

      Have a look at the man page for iwconfig, man iwconfig to see what parameters you require.
      You can set it up as both a client or an access point.
      Regards,
      Jon

  3. this is what i have for eth3 which seems to be my wireless. i am a linux noob so i need some help if you can.

    eth3 IEEE 802.11abgn ESSID:"" Nickname:""
    Mode:Managed Frequency:2.437 GHz Access Point: Not-Associated
    Bit Rate:130 Mb/s Tx-Power:24 dBm
    Retry min limit:7 RTS thr:off Fragment thr:off
    Power Managementmode:All packets received
    Link Quality=5/5 Signal level=0 dBm Noise level=0 dBm
    Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
    Tx excessive retries:0 Invalid misc:0 Missed beacon:0

  4. here is what i see when i do a scan

    Cell 02 - Address: 00:22:B0:B5:89:17
    ESSID:"b00sted-Net"
    Mode:Managed
    Frequency:2.422 GHz (Channel 3)
    Quality:5/5 Signal level:-52 dBm Noise level:-92 dBm
    IE: IEEE 802.11i/WPA2 Version 1
    Group Cipher : TKIP
    Pairwise Ciphers (2) : TKIP CCMP
    Authentication Suites (1) : PSK
    IE: Unknown: DD7F0050F204104A0001101044000102103B00010310470010F8A7D2B4477930928C15025D7D221BB81021000E442D4C696E6B2053797374656D731023000844474C2D34353030102400024132104200046E6F6E651054000800060050F204000110110016587472656D65204E2047616D696E6720526F7574657210080002008C
    IE: WPA Version 1
    Group Cipher : TKIP
    Pairwise Ciphers (2) : TKIP CCMP
    Authentication Suites (1) : PSK
    Encryption key:on
    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
    9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
    48 Mb/s; 54 Mb/s

  5. Hi

    I also tried this one and finish to have the same error as mentionned before :
    atv@appletv-ubuntu:~$ sudo insmod wl.ko
    [sudo] password for atv:
    insmod: error inserting 'wl.ko': -1 File exists

    I'm using a fresh crystlabuntu image on USB :
    Ubuntu 8.04.4 LTS Minimal for Apple TV
    by Sam Nazarko

    even with the cp wl.ko and the reboot commands above, I can't see ethx

  6. So I followed all of the above instructions, I rebooted xbmc the final time in the instructions. I got the final boot, and I lost the ability to ssh, but my system info in xbmc says the newly acquired IP (192.168.1.157). Seems like I have some connectivity...

    I am in my system info, in the xbmc user interface, and my memory usage keeps changing, mac address goes from 'busy' to a mac address, internet goes from busy to no connectivity.

    Any thoughts on where I went wrong?

    • Hi Andrew,

      Sounds like the XBMC interface is getting confused about two interfaces being connected to the same network.

      Try getting the wireless set up correctly and then disabling the ethernet interface.

      sudo ifdown eth0
      

      Jon

  7. Would the ethX be different, mine were like the above comments, eth3 seemed to be ethernet and eth4 was the wireless?

  8. Enable Wireless N « Stm Labs Forums

  9. I am able to configure the wireless interface, but not join any networks or have it persist past a reboot. The wireless interface shows up as eth1. Any hints? I can scan and see networks, just not connect.

Leave a Reply