Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.DS_Store
.idea/
.pytest_cache
.vscode/
__pycache__
Expand Down
34 changes: 34 additions & 0 deletions ansible/files/exporter/labgrid-fcefyn/dnsmasq.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
port=0

interface=vlan100
dhcp-range=vlan100,192.168.100.100,192.168.100.200,24h

interface=vlan101
dhcp-range=vlan101,192.168.101.100,192.168.101.200,24h

interface=vlan102
dhcp-range=vlan102,192.168.102.100,192.168.102.200,24h

interface=vlan103
dhcp-range=vlan103,192.168.103.100,192.168.103.200,24h

interface=vlan104
dhcp-range=vlan104,192.168.104.100,192.168.104.200,24h

interface=vlan105
dhcp-range=vlan105,192.168.105.100,192.168.105.200,24h

interface=vlan106
dhcp-range=vlan106,192.168.106.100,192.168.106.200,24h

interface=vlan107
dhcp-range=vlan107,192.168.107.100,192.168.107.200,24h

interface=vlan108
dhcp-range=vlan108,192.168.108.100,192.168.108.200,24h

interface=vlan200
dhcp-range=vlan200,192.168.200.100,192.168.200.200,24h

enable-tftp
tftp-root=/srv/tftp/
101 changes: 101 additions & 0 deletions ansible/files/exporter/labgrid-fcefyn/exporter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
labgrid-fcefyn-belkin_rt3200_1:
location: fcefyn-testbed
RawSerialPort:
port: "/dev/belkin-rt3200-1"
speed: 115200
PDUDaemonPort:
host: localhost:16421
pdu: fcefyn-arduino
index: 0
TFTPProvider:
internal: "/srv/tftp/belkin_rt3200_1/"
external: "belkin_rt3200_1/"
external_ip: "192.168.100.1"
NetworkService:
address: "192.168.1.1%vlan100"
username: "root"

labgrid-fcefyn-belkin_rt3200_2:
location: fcefyn-testbed
RawSerialPort:
port: "/dev/belkin-rt3200-2"
speed: 115200
PDUDaemonPort:
host: localhost:16421
pdu: fcefyn-arduino
index: 1
TFTPProvider:
internal: "/srv/tftp/belkin_rt3200_2/"
external: "belkin_rt3200_2/"
external_ip: "192.168.101.1"
NetworkService:
address: "192.168.1.1%vlan101"
username: "root"

labgrid-fcefyn-belkin_rt3200_3:
location: fcefyn-testbed
RawSerialPort:
port: "/dev/belkin-rt3200-3"
speed: 115200
PDUDaemonPort:
host: localhost:16421
pdu: fcefyn-arduino
index: 2
TFTPProvider:
internal: "/srv/tftp/belkin_rt3200_3/"
external: "belkin_rt3200_3/"
external_ip: "192.168.102.1"
NetworkService:
address: "192.168.1.1%vlan102"
username: "root"

labgrid-fcefyn-bananapi_bpi-r4:
location: fcefyn-testbed
RawSerialPort:
port: "/dev/bpi-r4"
speed: 115200
PDUDaemonPort:
host: localhost:16421
pdu: fcefyn-arduino
index: 3
TFTPProvider:
internal: "/srv/tftp/bananapi_bpi-r4/"
external: "bananapi_bpi-r4/"
external_ip: "192.168.103.1"
NetworkService:
address: "192.168.1.1%vlan103"
username: "root"

labgrid-fcefyn-openwrt_one:
location: fcefyn-testbed
RawSerialPort:
port: "/dev/openwrt-one"
speed: 115200
PDUDaemonPort:
host: localhost:16421
pdu: fcefyn-poe
index: 1
TFTPProvider:
internal: "/srv/tftp/openwrt_one/"
external: "openwrt_one/"
external_ip: "192.168.104.1"
NetworkService:
address: "192.168.1.1%vlan104"
username: "root"

labgrid-fcefyn-librerouter_1:
location: fcefyn-testbed
RawSerialPort:
port: "/dev/librerouter-1"
speed: 115200
PDUDaemonPort:
host: localhost:16421
pdu: fcefyn-arduino
index: 4
TFTPProvider:
internal: "/srv/tftp/librerouter_1/"
external: "librerouter_1/"
external_ip: "192.168.105.1"
NetworkService:
address: "192.168.1.1%vlan105"
username: "root"
69 changes: 69 additions & 0 deletions ansible/files/exporter/labgrid-fcefyn/netplan.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s25:
addresses:
- 192.168.0.10/24
dhcp4: true
vlans:
vlan100:
id: 100
link: enp0s25
addresses:
- 192.168.100.1/24
- 192.168.1.100/24
vlan101:
id: 101
link: enp0s25
addresses:
- 192.168.101.1/24
- 192.168.1.101/24
vlan102:
id: 102
link: enp0s25
addresses:
- 192.168.102.1/24
- 192.168.1.102/24
vlan103:
id: 103
link: enp0s25
addresses:
- 192.168.103.1/24
- 192.168.1.103/24
vlan104:
id: 104
link: enp0s25
addresses:
- 192.168.104.1/24
- 192.168.1.104/24
vlan105:
id: 105
link: enp0s25
addresses:
- 192.168.105.1/24
- 192.168.1.105/24
vlan106:
id: 106
link: enp0s25
addresses:
- 192.168.106.1/24
- 192.168.1.106/24
vlan107:
id: 107
link: enp0s25
addresses:
- 192.168.107.1/24
- 192.168.1.107/24
vlan108:
id: 108
link: enp0s25
addresses:
- 192.168.108.1/24
- 192.168.1.108/24
vlan200:
id: 200
link: enp0s25
addresses:
- 192.168.200.1/24
- 192.168.1.200/24
20 changes: 20 additions & 0 deletions ansible/files/exporter/labgrid-fcefyn/pdudaemon.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"daemon": {
"hostname": "localhost",
"port": 16421,
"logging_level": "INFO",
"listener": "http"
},
"pdus": {
"fcefyn-arduino": {
"driver": "localcmdline",
"cmd_on": "/usr/local/bin/arduino_relay_control.py on %s",
"cmd_off": "/usr/local/bin/arduino_relay_control.py off %s"
},
"fcefyn-poe": {
"driver": "localcmdline",
"cmd_on": "/usr/local/bin/poe_switch_control.py on %s",
"cmd_off": "/usr/local/bin/poe_switch_control.py off %s"
}
}
}
1 change: 1 addition & 0 deletions ansible/inventory.ini
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ labgrid-leinelab
labgrid-wigyori
labgrid-hauke
labgrid-hsn
labgrid-fcefyn

[coordinator]
global-coordinator
55 changes: 55 additions & 0 deletions docs/labs/fcefynlab.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Devices in FCEFYN Lab

## Coordinator/Exporter

- Ubuntu Host
- Ethernet: VLAN trunk to switch
- USB serial adapters via hub (udev symlinks)
- Arduino relay control (barrel-jack DUTs)
- PoE switch control (PoE DUTs via TP-Link SG2016P)
- TFTP/DHCP: dnsmasq per VLAN

## Switch

- **Model:** TP-Link SG2016P (16-port Gigabit, 8 PoE)

| Port | Device | Power |
|------|------------------|-------|
| 1 | OpenWRT One | PoE |
| 2 | LibreRouter #1 | Relay |
| 3 | LibreRouter #2 | Relay |
| 9 | Host | Trunk |
| 10 | MikroTik | Trunk |
| 11 | Belkin RT3200 #1 | Relay |
| 12 | Belkin RT3200 #2 | Relay |
| 13 | Belkin RT3200 #3 | Relay |
| 14 | Banana Pi R4 | Relay |

## DUTs

- **Belkin RT3200 #1, #2, #3** (linksys_e8450)
- Power: Arduino relay (channels 0–2)
- Target: mediatek-mt7622

- **Banana Pi R4** (bananapi_bpi-r4)
- Power: Arduino relay (channel 3)
- Target: mediatek-filogic

- **OpenWrt One** (openwrt_one)
- Power: PoE (switch port 1)
- Target: mediatek-filogic

- **LibreRouter #1** (librerouter_librerouter_v1)
- Power: Arduino relay (channel 4, 12V DC jack)
- Target: ath79-generic

## Maintainers

- @javierbrk
- @francoriba
- @ccasanueva7

## Location

- Universidad Nacional de Córdoba. Facultad de Ciencias Exactas, Físicas y Naturales
- Córdoba, Argentina
29 changes: 29 additions & 0 deletions labnet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,11 @@ devices:
target: mediatek-mt7622
firmware: initramfs-kernel.bin

librerouter_librerouter_v1:
name: LibreRouter v1
target: ath79-generic
firmware: initramfs-kernel.bin

labs:
labgrid-aparcar:
proxy: labgrid-aparcar
Expand Down Expand Up @@ -212,6 +217,28 @@ labs:
developers:
- hauke

labgrid-fcefyn:
proxy: labgrid-fcefyn
maintainers:
- "@francoriba"
- "@ccasanueva7"
- "@javierbrk"
devices:
- linksys_e8450
- openwrt_one
- bananapi_bpi-r4
- librerouter_librerouter_v1
device_instances:
linksys_e8450:
- belkin_rt3200_1
- belkin_rt3200_2
- belkin_rt3200_3
librerouter_librerouter_v1:
- librerouter_1
developers:
- francoriba
- aparcar

developers:
aparcar:
sshkey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDZTxjQ3/KTefKvsPlVBWz+ITD7dGWcOt8/C55ekd2VE
Expand All @@ -223,3 +250,5 @@ developers:
sshkey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG8vcHMKcl6W6OuzSdjOhQ0ZehtH+McjLB7WzgP9P4Ls
hauke:
sshkey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDhbJDeGBfpn8vkd1wjHgOWvN9WGWS3mRgqqFqNqgpNE
francoriba:
sshkey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPaNY9LyGgQlwlMaWxSWq5xD++UGCJtdqxHPHDADFACi
36 changes: 36 additions & 0 deletions targets/librerouter_librerouter_v1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
targets:
main:
features:
- wan_port
- wifi
resources:
RemotePlace:
name: !template "$LG_PLACE"
drivers:
- PDUDaemonDriver: {}
- TFTPProviderDriver: {}
- SerialDriver:
txdelay: 0.01
- UBootDriver:
interrupt: "\n"
prompt: "ath>"
init_commands:
- tftp 0x82000000
boot_command: bootm 0x82000000
- ShellDriver:
prompt: 'root@[\w()]+:[^ ]+ '
login_prompt: Please press Enter to activate this console.
await_login_timeout: 15
login_timeout: 120
post_login_settle_time: 5
username: root
- UBootTFTPStrategy: {}
- SSHDriver:
connection_timeout: 120.0
explicit_scp_mode: True

images:
root: !template $LG_IMAGE

imports:
- ../strategies/tftpstrategy.py
Loading