Version 32 (modified by, 5 years ago) (diff)


This Page Will Currently Describe the PI Lab

Inventory: see attachment:Purchase_for_Raspberry_Pi_project.pdf:wiki:GENIRacksHome/OpenGENIRacks/RaspberryPIs


DNS Addresses rosifolius gunnianus leucodermis parvifolius ellipticus idaeus

We also asked for fixed IP addresses for BBNGuest. We provided the MAC addresses for affiliation. DNS entries have also been assigned:


Web Pages Used for Reference

Generic Raspbian Installation - Note: I had trouble getting micro 64GB cards to work with this process although I know that the installation instructions for the hypriot worked for this size.

Docker Image Installation

[Image with Docker built in]

[Instructions on how to run a container using the previous image -]

Note - To make sure you have the full SD card available to you - you might need to expand the file system:
After booting up
[sudo raspi-config]

Setting Up Wifi

[Installing TL-WN722N WiFi on the Pi - Directions taken from]

Edit /etc/apt/sources.list to add the non-free archive and backports (eg: sudo vi /etc/apt/sources.list):

deb squeeze main non-free
deb squeeze/updates main non-free
deb squeeze-updates main non-free
deb squeeze-backports main non-free

Update the package cache:

sudo apt-get update

Download the wifi utils:

sudo apt-get install wireless-tools usbutils

Download the required firmware and put it in the correct location - you may not need to do this for your adapter or you may need different firmware - see below.

sudo apt-get install firmware-atheros
sudo wget
sudo cp htc_9271.fw /lib/firmware

Add adapter definition to network config - eg: sudo vi /etc/network/interfaces - add the wlan0 section:

# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.

auto lo

iface lo inet loopback
iface eth0 inet dhcp

# The wireless interface
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa.conf

Plug in adapter Confirm adapter is present:

root@raspberrypi:~# sudo iwconfig
  lo        no wireless extensions.

  eth0      no wireless extensions.

  wlan0     IEEE 802.11bgn  ESSID:off/any
            Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm
            Retry  long limit:7   RTS thr:off   Fragment thr:off
            Encryption key:off
            Power Management:off

Scan your network to see what wireless access points can be seen. You may need to do this to identify your network's SSID (name), but it also confirms that the wifi dongle is doing something. The first command just lists the SSIDs found, the second tells you probably more than you ever want to know:

sudo iwlist wlan0 scan | grep ESSID


sudo iwlist wlan0 scan

Create the wpa.conf file - eg: sudo vi /etc/wpa.conf:

Note: The ssid is case sensitive - if your WLAN's SSID is MYLAN, using "mylan" will not work - you won't connect!

pairwise=CCMP TKIP

Start the adapter

sudo ifup wlan0

Double-check whether you are connected - below the WLAN interface has been given an IP address - looks good!

root@raspberrypi:~# ifconfig
 eth0      Link encap:Ethernet  HWaddr b8:27:eb:76:7e:2e
           inet addr:  Bcast:  Mask:
           RX packets:1060 errors:0 dropped:0 overruns:0 frame:0
           TX packets:146 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:95749 (93.5 KiB)  TX bytes:48493 (47.3 KiB)

 lo        Link encap:Local Loopback
           inet addr:  Mask:
           UP LOOPBACK RUNNING  MTU:16436  Metric:1
           RX packets:8 errors:0 dropped:0 overruns:0 frame:0
           TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
           RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

 wlan0     Link encap:Ethernet  HWaddr b0:48:7a:91:5c:f4
           inet addr:  Bcast:  Mask:
           RX packets:31 errors:0 dropped:0 overruns:0 frame:0
           TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:2260 (2.2 KiB)  TX bytes:1542 (1.5 KiB)

And then to configure the wifi adapter - use the WICD GUI


[Wicd -]

You must remove network-manager to get wicd to work. Check to see if network-manager is installed and see if, after you installed the driver, your wireless is already working in the notification area of your desktop manager. You may already be good to go.

wicd (Wireless Interface Connection Daemon) is a lightweight alternative to NetworkManager. It is environment-independent, making it suitable for all desktop environments, including GNOME, Xfce, LXDE, and Fluxbox. Like NetworkManager, wicd is configured via a graphical interface. Your wireless interface should not be referenced within Debian's /etc/network/interfaces file.

  1. Update the list of available packages and install the wicd package:
        $ su
        # aptitude update
        # aptitude install wicd
  1. Amend /etc/network/interfaces to contain only the following:
        # This file describes the network interfaces available on your system
        # and how to activate them. For more information, see interfaces(5).
        # The loopback network interface
        auto lo
        iface lo inet loopback

Note: as of wheezy it is fine to have your wireless interface in /etc/network/interfaces, but not required. You can set the wireless interface (e.g. wlan0) in the wicd client's preferences.

  1. If not already performed, add your regular user account to the netdev group and reload DBus:
        # adduser yourusername netdev
        # /etc/init.d/dbus reload
  1. Start the wicd daemon:
        # /etc/init.d/wicd start
  1. Start the wicd GUI with your regular user account: Original instruction had a -n. We needed to run it without -n
        # exit
        $ wicd-client

GUI Setup

[We used Openbox -]

RYU Installation

    sudo apt-get install python-dev
    sudo pip install ryu

GRAM Porting Status

The latest GRAM AM Software has been put on the card. The idea was to have GRAM as the AM manager for the resources of the rack. It was not as trivial to pull out the OpenStack code as there might be OpenStack assumptions intertwined into the GRAM AM code. In particular, the GRAM AM seems to support the notion of a tenant. And that notion naturally follows with OpenStack, and I think GRAM uses that notion. On a positive note, all python dependencies seemed to be supported by the PI operating system easily.

Attachments (7)

Download all attachments as: .zip