TS 7800 USB Wi fi Adapter Installation - FREEDM-DGI/FREEDM GitHub Wiki

A minimalist installation of the linux kernel on the TS 7800 does not normally support Wifi USB adapters, but the support for these devices can be built in using the cross compiler created here: Cross Compile Guide For TS 7800. The following instructions assume that at least the Configuring Crosstool & Building Compilers of the guide has been completed. This guide is written for the ZyDAS ZD1211/ZD1211B device, but the same general process can be followed for another supported device.

  1. Install the firmware for the device. This is done on the actual TS 7800 terminal. The zd1211 firmware package requires adding the following to /etc/apt/sources.list:
deb http://ftp.us.debian.org/debian squeeze main contrib non-free
  1. Once this is done, install the wireless-tools and zd1211-firmware packages:
apt-get update && apt-get install wireless-tools zd1211-firmware
  1. Build the device driver. On the machine set up with the cross compiler, navigate to the source directory for the TS 7800 kernel. (If the Cross Compile Guide was followed exactly, it will be in /home/xxxx/ts7800/linux-2.6.34/ If for some reason the directory isn't there, extract the 2.6.34.tar.gz) Execute the following (changing the directory if you installed the cross compiler into a different directory)
export CROSS_COMPILE=${HOME}/x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-
export ARCH=arm
make ts7800_defconfig
make menuconfig
  1. From here you will need to enable the options that your device's driver depend on. If you know the name of the driver, you can use "/" to find its dependencies and location in the menu. For the zd1211 driver, modularize the following options (hit the space bar until <M> appears next to them):
Networking support -> Wireless -> cfg80211
Networking support -> Wireless -> Generic IEEE 802.11 Networking Stack (mac80211)
Device Drivers -> Network device support -> Wireless LAN -> ZyDAS ZD1211/ZD1211B USB-wireless support
  1. Exit the menuconfig (saving the changes when prompted). Once this is done, execute:
make && make modules
mkdir newmodules
INSTALL_MOD_PATH=newmodules make modules_install
  1. Copy the following kernel module files from the cross compiling machine to the ts 7800 location indicated:
from: /newmodules/lib/2.6.34/kernel/net/mac80211/mac80211.ko
to: /lib/modules/2.6.34/kernel/net/mac80211/mac80211.ko
from: /newmodules/lib/2.6.34/kernel/net/wireless/cfg80211.ko
to: /lib/modules/2.6.34/kernel/net/wireless/cfg80211.ko
from: /newmodules/lib/2.6.34/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
to: /lib/modules/2.6.34/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
  1. Once these files are copied, execute the following on the TS 7800:
depmod
modprobe zd1211rw

If all has gone well, you should now see the module when using the lsmod command. If not, use dmesg to see the error messages that will help diagnose the problem. With the firmware installed, the driver should be automatically loaded whenever the Wi-fi USB adapter is connected to the ts-7800.

Configuring the wireless settings

  1. Now that the device driver is loaded, the interface for the USB Wi-fi adapter should appear when the command ip link is used. ip link set wlan0 up will enable the interface. (If the board has multiple wireless network adapaters, you may need to replace wlan0 with the correct interface name).

  2. Add the following to /etc/network/interfaces:

auto wlan0
iface wlan0 inet dhcp
    wpa-ap-scan 1
    wpa-scan-ssid 1
    wpa-ssid <WirelessNetworkName>
    wpa-psk <WirelessNetworkPassword>

The wpa-scan-ssid 1 line can be omitted if the SSID of the network is not hidden. If the wireless adapter fails to connect to the network, changing the value for wpa-ap-scan to 0, or wpa-scan-ssid to 0 or 2 might resolve the problem.