Skip to end of metadata
Go to start of metadata

The HDP-TTJ-500 is equipped with both a 10/100 baseT ethernet port and IEEE 802.11abgn WLAN.  Linux supports many different ways to configure the network.  However, here we focus upon two different methods for network configuration management, using either connman or /etc/network/interfaces.  Both approaches have different pros and cons depending how you wish to configure your board e.g., WiFi Access Point or Client, static IP address allocation or DHCP.

 

Auto-negotiation

Icon

The ICO-TTJ-500 Ethernet PHY auto-negotiation fails when attempting to connect to a port supporting Gigabit Ethernet. It is only possible to connect ICO-TTJ-500 to a port supporting 10/100 modes. This also precludes connecting two ICO-TTJ-500 boards back-to-back since the ICO-TTJ-500 PHY advertises Gigabit capability.

 

Using connman to manage network connections

By default the HDP-TTJ-500 is configured to use connman to manage network connections.  This is suitable when HDP-TTJ-500 is acting as a DHCP client and you don't wish to use AP mode for WLAN.  If you want to use a DHCP server and/or run WLAN in AP mode then you should instead use /etc/network/interfaces for your network configuration.

Enabling ethernet technology

Nothing is required to be done.  By default connman is started during Linux boot-up and will enable ethernet automatically.  The ethernet configuration uses DHCP for IP address allocate, so it is expected that your board is attached to a home network with an AP or router.

Enabling wlan technology

In order to enable the wlan technology in client mode, execute the following steps:

  1. Login as root via the console
  2. Kill the connman-applet process using killall connman-applet
    • This ensures that the connmanctl application has sole access for establishing an initial connection to a wlan access point
  3. Launch the connman control application by running connmanctl
  4. At the "connmanctl>" prompt enter the command enable wifi
  5. Scan for all available access point by running the command scan wifi and wait for the message "Scan completed for wifi" to appear
  6. List the available services by entering the command services and you will be presented with a list of available services e.g.,

    *AR Wired ethernet_3aee4e8ec385_cable
    BTHub5-NG6W wifi_deadbeef0000_4254487562352d4e473657_managed_psk
    BTWifi-with-FON wifi_deadbeef0000_4254576966692d776974682d464f4e_managed_none
    BTWifi-X wifi_deadbeef0000_4254576966692d58_managed_ieee8021x
    BTHub3-57NS wifi_deadbeef0000_4254487562332d35374e53_managed_psk
    Belkin Pre-N_ADSL wifi_deadbeef0000_42656c6b696e205072652d4e5f4144534c_managed_wep
    TNCAP7CECE5 wifi_deadbeef0000_544e434150374345434535_managed_psk

     
  7. Enable the wireless agent by entering the command agent on

  8. Select the AP you wish to connect to from the list of services and then enter the command (for example) connect wifi_deadbeef0000_4254487562352d4e473657_managed_psk

  9. When prompted for a passphrase enter your WiFi access point's Wireless Key.

  10. Once the connection has been established you can exit the application by typing quit.

Once a wireless connection has been made, connman will remember it and connect to it automatically.  This behaviour can be changed by using the config wifi_deadbeef0000_4254487562352d4e473657_managed_psk --autoconnect <yes|no> command at the connmanctl prompt.

Since connman performs connection management on the user's behalf it will only establish a wireless connection automatically when no ethernet connection is established.

Using /etc/network/interfaces to manage network connections

If you choose to use /etc/network/interfaces to manage your network connectivity, it is first necessary to disable connman.  In order to do this, login to your board via the console a root user and delete the file /etc/init.d/connman.  It is a good idea to create a back-up copy of this file before doing so in case you wish to restore connman at a later date.

Setting up the ethernet interface

Add the following to your /etc/network/interfaces file, if you wish to use DHCP for IP address allocation:

auto eth0
iface eth0 inet dhcp

Alternatively, for a fixed IP address allocation (for example):

auto eth0
iface eth0 inet static
  address 192.168.1.1
  netmask 255.255.255.0

Setting up the wlan interface

Add the following to your /etc/network/interfaces file:

# Wireless interfaces
auto wlan0
iface wlan0 inet dhcp
  wpa-conf /etc/wpa_supplicant.conf

Next edit the file called /etc/wpa_supplicant.conf so that it looks something like the following:

ctrl_interface=wlan0
ctrl_interface_group=0
update_config=1

network={
        ssid="<your ssid>"
        psk="<your passphrase>"
        key_mgmt=WPA-PSK
        proto=RSN WPA
        pairwise=CCMP TKIP
        group=CCMP TKIP
}

Ensure that <your ssid> and <your passphrase> are substituted to reflect the values for the AP you wish to connect to.  Note that it is possible to list as many networks as you wish in this file.  Just create a separate network={} for each SSID.

MAC address configuration

The hardware MAC addresses on ethernet and wifi are not configured by default.  To ensure that the MAC addresses do not conflict with other hardware on your network, you should assign a unique MAC address to the board.

Ethernet MAC address

For ethernet, the default MAC address is randomly assigned.  This can be overridden by modifying the u-boot bootargs parameter passed to the kernel during boot-up.  For example, if you wished to assign the MAC address 00:11:22:33:44:55 to ethernet then you would append fec.macaddr=0x00,0x11,0x22,0x33,0x44,0x55 to bootargs via the console using u-boot.

Wifi MAC address

For wifi, the default MAC address is DE:AD:BE:EF:00:00.  Unfortunately this can not be permanently reprogrammed without using the Texas Instruments calibration tool (refer to http://processors.wiki.ti.com/index.php/WL12xx_NLCP_Calibration_Process).  However, it is possible to set the MAC address using the ifconfig command before the wlan0 network interface is brought up.  For example, if you wished to assign the MAC address 00:11:22:33:44:55 to wlan0 then you would run the command ifconfig wlan0 hw ether 00:11:22:33:44:55.  This could be added to a start-up script under /etc/init.d such that it is always run before the wireless network is brought up.