Git Product home page Git Product logo

link022's Introduction

License GoDoc Go Report Card Build Status codecov

Link022: an open WiFi access point

Link022 is an open reference implementation and experimental platform for an OpenConfig and gNMI controlled WiFi access point.

The central part of Link022 is an gNMI agent that runs on a Linux host with WiFi capability. The agent turns the host into an gNMI capable wireless access point which can be configured using OpenConfig models.

Get Started

This repository contains following components.

Link022 agent

A WiFi management component that runs on a Link022 AP, with OpenConfig and gNMI implemented. It supports gNMI "SET" and "GET" opertions for AP configuration.

To run the agent on a Raspberry Pi device, see the start guide.

Link022 demo

A demo for configuring Link022 AP though gNMI. demo guide

Link022 emulator

An emulator that runs Link022 agent inside a Linux namespace. start guide

gNMI test kit.

A tool to test the gNMI functionality of an AP device. start guide

Disclaimer

link022's People

Contributors

alshaboti avatar bairdo avatar boleifu avatar gizmoguy avatar mike-albano avatar zhangtianyang avatar zhiweicen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

link022's Issues

Set failed error with ap_config.json

Hi,
I got a set fiailed error when I tryed to run gnmi_set with the ap_config.json as it is explained in the demo.
Command was:

root@raspi1:/home/pi/link022/demo# sudo env PATH=$PATH gnmi_set -ca=cert/client/ca.crt -cert=cert/client/client.crt -key=cert/client/client.key -target_name=www.example.com -target_addr=192.168.11.5:8080 -replace=/:@ap_config.json

Output:

== getRequest:
< ap_config.json content here, then> 

F0120 12:10:19.679681    1961 gnmi_set.go:158] Set failed: rpc error: code = InvalidArgument desc = config data validation fails: pointed-to value with path ../config/name from field Name value freeradius (string ptr) schema /device/system/aaa/server-groups/server-group/name is empty set, pointed-to value with path ../config/address from field Address value 192.168.11.1 (string ptr) schema /device/system/aaa/server-groups/server-group/servers/server/address is empty set

Logo contribution

Hello,

I want to contribute. I designed a logo for link022. How this look? Also, I can design anything you want. What do you think?

If you want to see my portfolio you can look at my github profile. Have a nice day.

link022

can't open import: "math/bits

I recently download the source code from this link:
https://github.com/achilleasa/bare-metal-gophers
I tried to run the make file it gave me this error:
[go] compiling go sources into a standalone .o file
| ./fma.go:7:8: can't open import: "math/bits": open $WORK/b003/pkg.a: no such file or directory
make: *** [Makefile:36: go.o] Error 2
Go version: go1.14.9 linux/amd64

thank you

error when starting the agent

i just installed stretch on this raspberry pi 3 and after following the readme for installing and running the agent i get the following error message, and I am unable to run the agent.

export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
sudo env PATH=$PATH agent \
> -ca=/home/pi/tls_cert_key/server/ca.crt \
> -cert=/home/pi/tls_cert_key/server/server.crt \
> -key=/home/pi/tls_cert_key/server/server.key \
> -eth_intf_name=eth0 \
> -wlan_intf_name=wlan0 \
> -gnmi_port=10162
panic: schema error: json: cannot unmarshal object into Go struct field ListAttr.Dir.Dir.Dir.Dir.Dir.Dir.Dir.ListAttr.MaxElements of type uint64

goroutine 1 [running]:
github.com/google/link022/generated/ocstruct.init.0()
	/home/pi/go/src/github.com/google/link022/generated/ocstruct/ocstruct.go:37 +0xd4

go version go version go1.15 linux/arm

PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Problem launching the emulator

When I do step 3 - Start the Emulator, I got the following error:
sudo env -u TERM python emulator.py --target_cmd "../binary/link022_agent -ca ../demo/cert/server/ca.crt
-cert ../demo/cert/server/server.crt
-key ../demo/cert/server/server.key -eth_intf_name target-eth1
-wlan_intf_name target-eth2"
Traceback (most recent call last):
File "emulator.py", line 127, in
emulator.start()
File "emulator.py", line 83, in start
self._start_topo()
File "emulator.py", line 103, in _start_topo
params1=params1, params2=params2)
File "/usr/lib/python2.7/dist-packages/mininet/net.py", line 287, in addLink
return cls( node1, node2, **defaults )
File "/usr/lib/python2.7/dist-packages/mininet/link.py", line 342, in init
port1 = node1.newPort()
AttributeError: 'str' object has no attribute 'newPort'

I have the latest mininet installed. This is on an Ubuntu machine.
Linux ubuntu 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

unrecognized import path "math/bits"

go get github.com/google/link022/agent
package math/bits: unrecognized import path "math/bits" (import path does not begin with hostname)

im following the start guide for the raspberry pi and get this error when trying to download the agent onto the raspberry pi

Raspberry Pi 3
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 9.8 (stretch)
Release: 9.8
Codename: stretch

Multiple SSID's on raspberry pi 3

Hello,
I am currently working on a gNMI related project and am having trouble with running a sample ap configuration in the demo folder, ap_config_1r.json. After looking up the issue, I realized that the raspberry pi 3 I am working with does not support multiple AP's after running "iw list" (not iwlist) in the terminal. I looked at the line that specified that interface combinations with the embedded wireless interface is not possible. Additionally, when commented out the guest-link022 AP and running the auth-link022 AP, the specified username and password provided in the demo instructions does not work. Can you please help me?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.