dereenigne.org

reverse engineered

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 }

  1. 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
    

  2. After a reboot, you should now be able to bring up this interface manually.

    sudo ifup eth2

  3. :!: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>


comments powered by Disqus