404
+ +Page not found
+ + +diff --git a/404.html b/404.html new file mode 100644 index 0000000..5ded10a --- /dev/null +++ b/404.html @@ -0,0 +1,174 @@ + + +
+ + + + +Page not found
+ + +The Seattle Community Network (SCN) is dedicated to fostering an environment in which everyone can participate in our meetups, installs, online spaces, and any other community event.
+We believe that diversity in our community is critical and should be celebrated. We welcome everyone of any race, age, gender, nationality, gender identity and expression, sexual orientation, disability, physical appearance, body size, religion, education, and skill level. The SCN community and experience often extends outside those spaces. Members meet in person to collaborate on projects, attend related meetups or conferences together, and communicate on social media. Abusive or unwelcoming behavior between SCN Members still has a profound impact on individuals and on the community when it happens beyond our events and online forums. We will use our discretion when deciding whether to enforce this code of conduct after reports of such behavior happening outside of our spaces, taking into account the impact on the individual Members involved as well as the impact on the community at large.
+All participants are expected to: be considerate, respectful, and collaborative. Specifically we expect participants to:
+The following types of behavior are unacceptable at SCN, both online and in-person, and constitute code of conduct violations.
+Please report code of conduct violations either to the event organizer, by emailing lcl@seattlecommunitynetwork.org or by alerting moderators on Discord with the @moderators group tag.
+All of our moderators are volunteers, and will response with their best effort. However, if you provide your name, or contact info we promise to respond within two business days.
+In your report, please include:
+Moderators will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct.
+Community Impact: Unwelcoming behavior. Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
+Consequence: A private, written warning from moderators, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public or private apology may be requested in the venue where the behavior took place, for example on Discord or at the event.
+Community Impact: A violation through a single incident of abusive behavior or series of unwelcoming behaviors.
+Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
+Community Impact: A serious violation of community standards, including sustained unwelcoming behavior.
+Consequence: A temporary ban from any sort of participation, interaction, or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
+Community Impact: Demonstrating a pattern of violation of community standards, including sustained unwelcoming behavior, harassment or threatening of an individual, or aggression toward or disparagement of classes of individuals.
+Consequence: A permanent ban from any sort of participation, or public interaction within the community.
+If you have questions about any aspect of the code of conduct, or want to propose amending it, please contact the @moderators group, or drop in to the public #governance channel on Discord.
+Taken almost verbatim from the NYC Mesh Code of Conduct.
+NYC Mesh CoC Attribution:
+Most of this is from the Recurse Center CoC. Other parts are from Strange Loop(community goals), Contributor Covenant (portion of the community goals, encouraged behaviors, enforcement guidelines), and the Toronto Mesh/Geek Feminism (guidelines for moderators).
+ +This is a toolkit/resource guide for anyone interested in starting up their own community network.
+Here is a spreadsheet containing a bunch of tools and equipment that you should bring to network deployments. This was created by Esther Jang who has a lot of practical experience deploying sites. This spreadsheet is color-coded into different categories based on how important they are to have!
+Ethernet crimping is an important skill for network site installations. The length of an ethernet cable connection is only truly known once you're on site so it is useful to be able to quickly cut ethernet cable to the desired length and crimp it.
+Seattle Community Network has a place for everyone. Whether you'd like to join +to get free Internet, get involved to help out your community, learn some skills +so that you can get a job, or all of the above!
+PRO TIP Do everything on this page! Our community is spread out in a lot of different places, so doing everything is the best way to make sure you don't miss out.
+Discord is a messaging platform that we use to stay in touch +with each other, organize our different teams, and update everyone on last minute things.
+This is a MUST do if you don't want to get left out!
+#introductions
channel and friend request one of the moderators so they can chat with you (you can write @moderators
in your message to get their attention). They will need to add a role for you as a "member" so you can stay on the server before you log out, otherwise you will have to be invited and join again.The best way to get involved with the network is to find someone that can direct you! Most of our work happens in teams. Here's how to join a team.
+On our Google calendar we post regular occurring meetings and any impromptu events like social events, emergency repairs, site visits, etc. +This is one of the only places to find out about the meetings our various teams are having!
+Join using one of these options:
+Our social media team makes posts about upcoming meetings, social events, and they also occasionally +make educational posts!
+Don't miss out and follow us on Instagram, Facebook, and Twitter.
+LCL seeks to democratize knowledge, skills, and resources to enable people to establish and run their own local, community-centered, and community-owned Internet access networks and digital infrastructure.
+We envision a world where no one is excluded from access to the Internet, and where anyone can achieve the expertise and capability to bring communications infrastructure to their community and improve their quality of life.
+We value the ability to access the Internet and all public information and digital resources therein as a human right. +- Digital privacy of our users and partner organizations +- Collaboration, especially with the communities and organizations we work with +- Care, consideration, allyship, and peer mentorship between individuals within our organization +- Education, sharing, and capacity-building- emphasize teaching and dissemination of information and skills +- Openness, transparency, and accountability of our organization and its processes +- Democratization and inclusiveness of decision processes among stakeholders +- Long-term sustainability of our technology deployments and community structures +- Equity in planning for resource allocation, programming, and contribution
+ +As a volunteer-run community network, we are always in need of extra hands. +If you're interested in helping out, check out what our teams are working on here!
+Feel free to have informational meetings with the respective team leads to learn more about how you can help. There's no commitment required and we welcome you to take on as much work as you have the capacity for.
+Our outreach team is responsible for finding new site host partners, finding users, and maintaining communications with our current partners. Message the #outreach channel in Discord and contact Esther Jang to learn more about how you can get involved.
+This is the perfect team for you if any of the following apply to you:
+As of July 2021, the primary objective of the outreach team is to get connected with users for our network sites that fit any of the following criteria:
+Our social media team is in charge of our various accounts on Instagram, Facebook, and Twitter. They also develop branding and marketing materials for our various projects. Message the #social-media channel in Discord and contact Firn Tieanklin to learn more about how you can get involved.
+You should join this team if you have experience in or are interested in practicing any of the following skills/technologies: +- Canva +- Design +- Marketing +- Photography/Videography
+Our web development team is working on redesigning and developing our new website. Message the #website channel in Discord to learn more about how you can get involved.
+You should join this team if you have experience in or are interested in learning any of the following skills/technologies:
+Our mobile app development team is currently developing an Android app to record cell network performance metrics during our field tests.
+Message the #measurement channel in Discord and contact Zhennan Zhou to learn more about how you can get involved.
+You should join this team if you have experience in or are interested in learning any of the following skills/technologies:
+Our education team plays a core role in our community networks as they enable our networks to be community-owned and operated. The education team is responsible for developing educational materials, running workshops, and teaching our Digital Steward cohorts. Message the #digital-stewards channel in Discord and contact Esther Jang to learn more about how you can get involved.
+You should join this team if you have experience in or are interested in learning any of the following skills/technologies:
+Our fundraising team is currently setting up a crowdfunding platform to raise money for various expenses that this project requires. Our fundraising team is also working on applying for various community grants and research grants. Message the #funding channel in Discord and contact Esther Jang to learn more about how you can get involved.
+Local Connectivity Lab, the nonprofit organizing that is incubating this project, often runs into accounting and legal challenges. If you are willing to provide pro bono services to benefit the community network, please contact Esther Jang at lcl@seattlecommunitynetwork.org.
+ +There are several ways to get community-based tech support from the SCN community, such as the Help Desk. +You can use any of these methods to request Internet service from us, request general technology or computer help, or contact us about any other topic.
+The FASTEST way to get support will be to join the #support
channel on our Discord, a messaging platform that we use to organize.
#introductions
channel! How did you hear about SCN and why are you interested?
+(More complete instructions can be found here).The Seattle Community Network organizes a community-run tech help desk supported by the Black Brilliance Research Project's (BBR's) Digital Stewards Program and the Filipino Community of Seattle (FCS). Our current in-person help desk hours are on Fridays at 3-5 pm starting on 2/18/2022, located in the Filipino Community Village Integrated Learning Center (ILC).
+Filipino Community Village Integrated Learning Center address: +5727 37th Ave S, Seattle, WA 98118
+Our help desk is best-effort and mainly volunteer-based, so our virtual hours availability may be highly variable. +Please check our available hours and sign up for an appointment slot using the calendar link below if you can (or contact us another way if that doesn't work), as it helps the volunteers plan for our time. +However, you may also drop in during our scheduled calendar hours without an appointment.
+(253) 655-7221
We are actively recruiting more volunteers to help us run the help desk virtually, whenever and wherever that you are available. +Join our team by simply signing up on this interest form, we need you!
+Please let us know if you have additional questions or concerns in the #support
channel on our Discord.
As always, please do not hesitate to consult our docs for any information, or submit an issue on the docs site github if there is information missing that you would like to see. +Also feel free to message the Discord for the same purpose.
+ +If you wanna share resources and help improve our docs, this page will get you started! +Our docs are designed so that anyone can contribute. If this page isn't enough, contact one of +us and we'll be able to help you!
+Our documentation uses MkDocs ReadTheDocs theme (links at the bottom of the page)
+To edit this documentation you should:
+The rest of this page will explain all the details you need to know about the directory structure, markdown, and other quirks for editing this documentation. Make sure to read everything!
+All our documentation is stored in 'Markdown' files so that they can be easily +modified and changed without heavy technical knowledge.
+A nice and simple online editor is StackEdit which will let you type in markdown and see what it would look like in realtime in split-screen.
+Another option is HackMD which has the same features as StackEdit +but it also allows you to connect to your own GitHub repo and pull/push.
+MkDocs is pretty simple, just install it through pip then you can run mkdocs serve
to locally view the website it will generate.
Each directory has a .site
file that declares the order each file/folder in that directory will show up.
+Children pages are implicit in the directory structure
If you need static files for any of your pages, you should put them in the assets
folder within the top level docs
folder
For example, for the cable-crimping page, the images for the tutorial are located in the "assets/cable-crimping" folder. These images can then be referenced relatively with the following standard markdown image syntax:
+![RJ45 Crimping Tool](../assets/cable-crimping/kit-crimping-tool.jpg)
+
+
+ Seattle Community Network (SCN) is a community network dedicated to providing fair access to underserved communities all across the Puget Sound. SCN is a project of Local Connectivity Lab, a 501(c)(3) registered non-profit that works to share free or low-cost broadband access in higher-need areas throughout the Puget Sound region, making use of existing network infrastructure such as buildings and fiber-optic cables to extend coverage to more people.
+As a community network, we rely on the help of local residents such as yourself to maintain and grow the network. Joining us is a great way to become an active member of your own community, make friends, and learn valuable technical skills.
+ +The Seattle Community Network exists to provide free or low-cost internet to low-income and in-need users.
+We prioritize serving the following groups:
+To connect to the internet through the Seattle Community Network, you will need to register with us.
+To register, you can: +- Email lcl@seattlecommunitynetwork.org +- Contact us by phone at (253) 655-7221 and leaving a voice mail or text.
+Once your registration is processed, you will receive the necessary hardware to connect to the network.
+ +SCN is run completely by volunteers. There are many ways you can help, and no technology skills are required. We need help with everything from setting up network hardware and developing software to community outreach and fundraising. If you want to help, we can use your talents!
+First, make sure you get connected with our community.
+Next, why not Join a Team or Contribute to SCN Docs?
+ +The Seattle Community Network partners with the University of Washington to share free or low-cost internet access with areas of higher need.
+The Seattle Community Network (SCN) is a wireless Internet access network using 4G LTE and WiFi technologies, providing public access from partner locations such as libraries, schools, businesses, and community centers. The Internet connection at these sites is shared wirelessly to nearby devices using the 4G LTE (cell-phone) data standard, which can be used by certain phones and hotspots (also known as Customer Premises Equipment or CPE). Individual users can connect to this signal using SCN-provided (or other compatible) devices to create a local WiFi network in their home. Some of our installed sites utilize a portion of the University of Washington's internet bandwidth, sharing it out to further neighborhoods via point-to-point wireless links. Some sites use other upstream internet service providers (ISPs) such as Lumen.
+The network is completely created, managed, and maintained by volunteers with a range of diverse skills in information technology and beyond. All infrastructure is paid for by generous donations from sponsors and the public. Speaking of which, why not volunteer or donate?
+ +The Seattle Community Network Docs website is the central hub for information about our community and networks. Here, we describe our infrastructure, how to set-up hardware and software, how you can start your own community network, our community rules, and more.
+This website is maintained by our volunteers, much like the rest of our services. This means you can help us improve it by adding missing information, clarifying confusing points, or even just fixing typos you notice while you’re reading. See Contribute to SCN Docs to learn more about how you can contribute to this website.
+If you are looking for our main website, it is located at www.seattlecommunitynetwork.org.
+ +"Community Networks (CNs) are crowd-sourced collaborative networks, developed in a bottom-up fashion by groups of individuals – i.e. communities – that design, develop and manage the network infrastructure as a common resource. Importantly, at the centre of CNs and the socio-economic ecosystems they generate lay the communities and their members, who are essential to initiate, maintain and guarantee the success of these connectivity efforts."
+Source: Building Community Network Policies: A Collaborative Governance towards Enabling Frameworks
+ +Internet access is a foundational component of many aspects of modern life, nearly as important as electricity and water service. Though internet service is generally available in many areas of the United States, there are still areas that are underserved because of a variety of geographic and socio-economic factors, or simply because traditional internet service providers do not find it profitable to install and maintain the necessary infrastructure to serve some areas with adequate internet.
+Community networks attempt to address this digital divide by connecting underserved communities. Because a community network is created, managed, and maintained by volunteers, it is able to serve areas that may not have other affordable internet options.
+ +Welcome to the documentation website for the Seattle Community Network! If you're looking for our main website, it is located at https://www.seattlecommunitynetwork.org.
+Seattle Community Network has a place for everyone. Whether you'd like to join +to get free Internet, get involved to help out your community, learn some skills +so that you can get a job, or all of the above!
+PRO TIP We are a community. It's in our name! So, why not start by joining our community? It's easy.
+Some topics you can find on this website include:
+Our core networks use the CoLTE project maintained by the UW ICTD Lab.
+For information on how to install and configure CoLTE, visit the tutorial we wrote with them!
+ +This page will be an overview of some of the core pieces of hardware that we use to deploy our sites.
+This page is in development, please contact us at lcl@seattlecommunitynetwork.org if you would like to learn more about the hardware we use.
+Baicells Nova 233 3.5GHz 1W Gen2
+More info here
+Alpha Wireless, 3.3-3.8GHz, 2x2 MIMO, 18dBi, +/-45°, 65°
+More info here
+Qotom Mini PC Q190G4N S07
+Key features: +- 4 ethernet ports +- designed to be run 24/7 +- small and quiet +- cheap
+More info here
+Baicells Atom OD04 3.5GHz 14dBi
+More info here
+Mikrotik OmniTIK 5 PoE ac
+Outdoor router of choice for NYC Mesh, so it has been tried and tested. Good balance of quality and price.
+More info here
+TP-Link Archer A5 Router
+More info here
+We purchase refurbished Google Pixel 4 smartphones because they are affordable, provide all +necessary smartphone features, and are CBRS-compatible.
+Note that purchasing CBRS-compatible phones can be a logistical challenge. We've experienced trouble purchasing +from vendors that send incorrect models of phones that don't support CBRS band and we had to go back and forth. +Test your phones before distributing them!
+Here is one spot to purchase refurbished phones.
+ +Seattle Community Networks uses SNMP to monitor network nodes. LibreNMS is used for Network Management, Dashboard generation and Alerting.
+Install LibreNMS +Install and Configure LibreNMS on Ubuntu with nginx
+Change active user to librenms:
+sudo su - librenms
Edit /opt/librenms/config.php:
+<?php
+
+$config['user'] = 'librenms';
+$config['base_url'] = "/";
+$config['snmp']['community'] = array('<SNMP COMMUNITY STRING>');
+$config['auth_mechanism'] = "mysql"; # default, other options: ldap, http-auth
+$config['nets'][] = "10.0.0.0/24"; # Replace with your Management Network Subdomain
+$config['rrd_purge'] = 0;
+$config['enable_billing'] = 1;
+$config['show_services'] = 1;
+
+As user 'librenms', run /opt/librenms/snmp-scan.php, to scan the configured network for snmp hosts
+As user 'librenms' on the librenms server, create the following files and update their contents accordingly: +* For OS detection, ~librenms/includes/definitions/rts.yaml:
+ os: rts
+ text: 'Baicells RTS'
+ type: network
+ icon: rts
+ over:
+ - { graph: device_bits, text: 'Device Traffic' }
+ - { graph: device_processor, text: 'CPU Usage' }
+ - { graph: device_mempool, text: 'Memory Usage' }
+ discovery:
+ - sysDescr:
+ - 'CELL'
+
+mib: BAICELLS-MIB
+modules:
+ os:
+ hardware: BAICELLS-MIB::hardwareVersion.0
+ serial: BAICELLS-MIB::sn.0
+ version: BAICELLS-MIB::softwareVersion.0
+ sensors:
+ count:
+ data:
+ -
+ oid: ulThroughput
+ num_oid: '.1.3.6.1.4.1.53058.190.7.{{ $index }}'
+ descr: 'Upload Throughput'
+ group: 'Throughput'
+ index: 'ulthroughput.{{ $index }}'
+ -
+ oid: dlThroughput
+ num_oid: '.1.3.6.1.4.1.53058.190.8.{{ $index }}'
+ descr: 'Download Throughput'
+ group: 'Throughput'
+ index: 'dlThroughput.{{ $index }}'
+ -
+ oid: ulPrbUtilization
+ num_oid: '.1.3.6.1.4.1.53058.190.9.{{ $index }}'
+ descr: 'Upload PRB Utilization'
+ group: 'Utilization'
+ index: 'ulPrbUtilization{{ $index }}'
+ -
+ oid: dlPrbUtilization
+ num_oid: '.1.3.6.1.4.1.53058.190.10.{{ $index }}'
+ descr: 'Download PRB Utilization'
+ group: 'Utilization'
+ index: 'dlPrbUtilization.{{ $index }}'
+ frequency:
+ data:
+ -
+ oid: carrierBwMhz
+ num_oid: '.1.3.6.1.4.1.53058.100.7.{{ $index }}'
+ divisor: 5
+ descr: 'Carrier Bandwidth'
+ index: 'carrierBwMhz.{{ $index }}'
+ percent:
+ data:
+ -
+ oid: eRABEstablishSuccessRate
+ num_oid: '.1.3.6.1.4.1.53058.190.3.{{ $index }}'
+ descr: 'ERAB Establishment Success Rate'
+ group: 'LTE'
+ index: 'eRABEstablishSuccessRate.{{ $index }}'
+ -
+ oid: hoSuccInterEnbS1Rate
+ num_oid: '.1.3.6.1.4.1.53058.190.4.{{ $index }}'
+ descr: 'Inter MME S1 Handover Success Rate'
+ group: 'LTE'
+ index: 'heSuccInterEnbS1Rate.{{ $index }}'
+ -
+ oid: hoSuccInterEnbRate
+ num_oid: '.1.3.6.1.4.1.53058.190.5.{{ $index }}'
+ descr: 'Inter MME Handover Success Rate'
+ group: 'LTE'
+ index: 'hoSuccInterEnbRate.{{ $index }}'
+ -
+ oid: rrcBuildSuccessRate
+ num_oid: '.1.3.6.1.4.1.53058.190.6.{{ $index }}'
+ descr: 'RRC Build Success Rate'
+ group: 'LTE'
+ index: 'rrcBuildSuccessRate.{{ $index }}'
+
+<?php
+namespace LibreNMS\OS;
+
+use LibreNMS\Device\WirelessSensor;
+use LibreNMS\Interfaces\Discovery\Sensors\WirelessClientsDiscovery;
+use LibreNMS\Interfaces\Discovery\Sensors\WirelessUtilizationDiscovery;
+use LibreNMS\OS;
+
+class Rts extends OS implements WirelessClientsDiscovery
+{
+ public function discoverWirelessClients()
+ {
+ $oid = '.1.3.6.1.4.1.53058.100.11.0'; //BAICELLS-MIB::ueConnections.0
+ return array(
+ new WirelessSensor('clients', $this->getDeviceId(), $oid, 'rts', 1, 'UE Connections')
+ );
+ }
+}
+
+A nice looking logo, ~librenms/html/images/os/rts.png +Download an example Baicells Logo Here
+Download the baicells mib from this link, and save it to ~librenms/mibs/BAICELLS-MIB (note: no file extension)
+Both the eNodeB and the ePC must be configured individually in order for them to report statistics to the SNMP Manager. Since the eNodeB is not directly accessible from the management VPN, we configure an SNMP proxy on the ePC to pass SNMP statistics to the Management host.
+Install snmpd to the ePC node:
+$ sudo apt install snmpd
Modify /etc/snmp/snmpd.conf:
+sysLocation <SITE NAME STRING>
+sysContact lcl@seattlecommunitynetwork.org
+sysServices 72
+master agentx
+agentAddress udp:161
+com2sec readonly <SNMP Manager IP Address> <SNMP COMMUNITY STRING>
+com2sec -Cn ctx_baicells readonly <SNMP Manager IP Address> enodeb
+group readonlygroup v2c readonly
+view all included .1
+access readonlygroup "" v2c noauth exact all none none
+access readonlygroup ctx_baicells v2c noauth prefix all none none
+proxy -Cn ctx_baicells -v 2c -c private 192.168.151.1 .1.3
+
+This configuration allows us to access SNMP data on the EPC with the standard community string (refer to internal standards documentation). but will proxy the Baicells SNMP data when we send the community string ‘enodeb’
+[Unit]
+Description=Simple Network Management Protocol (SNMP) Daemon.
+After=network.target
+ConditionPathExists=/etc/snmp/snmpd.conf
+
+[Service]
+Type=simple
+ExecStartPre=/bin/mkdir -p /var/run/agentx
+ExecStart=/usr/sbin/snmpd -LO2w -u Debian-snmp -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf -f -p /run/snmpd.pid
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-failure
+RestartSec=5s
+
+[Install]
+WantedBy=multi-user.target
+
+Sudo systemctl daemon-reload
+sudo systemctl enable snmpd
+sudo systemctl restart snmpd
+
+Log into the Baicells configuration console:
+https://<Baicells IP Address>
From the left menu, select System
+Select SNMP +
+If the ePC is running, librenms should be able to auto-discover it. Run this command from a shell on the management host:
+sudo -u librenms lnms scan
LibreNMS should print a status message that it was able to add a new device.
+When first discovered, the ePC will show up generically as it’s ip address. Edit the hostname, but clicking ‘Edit Device’ (gear icon):
+Fill ‘Overwrite IP’ with the ePC IP address
+The Baicells eNB needs to be added manually: From LibreNMS, select Devices and click “Add Device” +
+Add a new device, with the following configurations:
+Force Add: On
+Note: If you receive an error message stating that a device with the specified IP already exists, make sure that you have successfully changed the eNodeB’s hostname per the previous step.
+Once the device is added, click the ‘Edit Device’ icon (gear icon) and update the following values:
+How to SSH into Baicells eNB:
+Please contact us to peer with our network.
+Note this network is our public ASN, not the Seattle Community Network itself. If you would like to join the network visit our connect page.
+Seattle Community Network (SCN) is a community network dedicated to providing fair access to underserved communities all across the Puget Sound. Learn more on our FAQ.
+Building | +Address | +Ports | +
---|---|---|
Westin | +2001 6th Avenue, Seattle, WA | +1G / 10G | +
Exchange | +City | +IPv4 | +IPv6 | +ASNs | +Routes | +Speed | +
---|---|---|---|---|---|---|
Seattle Internet Exchange (SIX) | +Seattle, WA | +206.81.81.150 | +2001:504:16::d49d | +336 | +~192K | +10G | +
ASN: 54429
+Peering Contact: tech@seattlecommunitynetwork.org
+PeerDB Page: https://as54429.peeringdb.com
+As we are a non-profit, please consider providing as many routes as possible, including upstream or other routes.
sudo ufw status
. If it is active, use ufw disable
. The expected status should be inactive. If that still doesn’t work, try restarting the VM from the Proxmox VE.docker pull vaultwarden/server:latest
+docker run -d --name vaultwarden -v /vw-data/:/data/ --restart unless-stopped -p 80:80 vaultwarden/server:latest
+
+version: "3"
+
+services:
+ vaultwarden:
+ container_name: vaultwarden
+ hostname: vaultwarden9
+ ports:
+ - "127.0.0.1:8080:80"
+ environment:
+ - LOG_FILE=/log/access.log
+ - LOG_LEVEL=info
+ - EXTENDED_LOGGING=true
+ image: vaultwarden/server:latest
+ restart: unless-stopped
+ volumes:
+ - /opt/vw-data:/data
+ - /var/log/vw:/log
+
+docker-compose up -d
+docker-compose start
+docker-compose stop
+docker-compose restart
+
+sudo apt update
+sudo apt install nginx
+sudo systemctl enable nginx
+sudo systemctl start nginx
+
+/etc/nginx/sites-enabled/default
. Delete everything inside default
and paste this:# The `upstream` directives ensure that you have a http/1.1 connection
+# This enables the keepalive option and better performance
+#
+# Define the server IP and ports here.
+upstream vaultwarden-default {
+ zone vaultwarden-default 64k;
+ server 127.0.0.1:8080;
+ keepalive 2;
+}
+
+# Needed to support websocket connections
+# See: https://nginx.org/en/docs/http/websocket.html
+# Instead of "close" as stated in the above link we send an empty value.
+# Else all keepalive connections will not work.
+map $http_upgrade $connection_upgrade {
+ default upgrade;
+ '' "";
+}
+
+# Redirect HTTP to HTTPS
+server {
+ listen 80;
+ listen [::]:80;
+ server_name vaultwarden.seattlecommunitynetwork.org;
+
+ if ($host = vaultwarden.seattlecommunitynetwork.org) {
+ return 301 https://$host$request_uri;
+ }
+ return 404;
+}
+
+server {
+ # For older versions of nginx appened http2 to the listen line after ssl and remove `http2 on`
+ listen 443 ssl;
+ listen [::]:443 ssl;
+ # http2 on;
+ server_name vaultwarden.seattlecommunitynetwork.org;
+
+ # Specify SSL Config when needed
+ ssl_certificate /etc/path...;
+ ssl_certificate_key /etc/path...;
+ ssl_trusted_certificate /etc/path...;
+
+ client_max_body_size 525M;
+
+ location / {
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection $connection_upgrade;
+
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+
+ proxy_pass http://vaultwarden-default;
+ }
+
+ # Optionally add extra authentication besides the ADMIN_TOKEN
+ # Remove the comments below `#` and create the htpasswd_file to have it active
+ #
+ #location /admin {
+ # See: https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/
+ #auth_basic "Administrator's Area";
+ #3auth_basic_user_file /path/to/htpasswd_file;
+
+ #proxy_http_version 1.1;
+ #proxy_set_header Upgrade $http_upgrade;
+ #proxy_set_header Connection $connection_upgrade;
+
+ #proxy_set_header Host $host;
+ #proxy_set_header X-Real-IP $remote_addr;
+ #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+
+ #proxy_set_header X-Forwarded-Proto $scheme;
+ #proxy_pass http://vaultwarden-default;
+ }
+}
+
+sudo apt install certbot python3-certbot-nginx
+sudo certbot --nginx -d vaultwarden.seattlecommunitynetwork.org
+
+sudo systemctl status nginx
+
+Go back to /etc/nginx/sites-enabled/default
and uncomment the admin section at the bottom. Follow directions at Nginx Admin Guide to encrypt your admin password as a .env
file (preferably using argon CLI).
Once done, make sure you create a .env
file in the directory where the compose file is with VAULTWARDEN_ADMIN_TOKEN=[insert your hashed admin token]
.
Then in your compose, add these two lines under environment:
+- ADMIN_TOKEN=${VAULTWARDEN_ADMIN_TOKEN}
+- DOMAIN=https://vaultwarden.seattlecommunitynetwork.org
+
+Restart the container and try logging into https://vaultwarden.seattlecommunitynetwork.org/admin.
+Once logged in, SMTP and 2FA enabling settings can be configured on the home page.
+Backup script:
+#!/bin/bash
+
+docker-compose down
+datestamp=$(date +%m-%d-%Y)
+zip -9 -r /home/scn/backups/${datestamp}.zip /opt/vw-data*
+scp -i ~/.ssh-comm/id_rsa /home/scn/backups/${datestamp}.zip azureuser@[IP address]:~/backups/
+docker-compose up -d
+
+Cleanup Script:
+#!/bin/bash
+
+# Define the directory containing backup files
+backup_dir=~/backups
+
+# Go to the backup directory
+cd "$backup_dir" || exit
+
+# Find and delete older backup files (excluding the latest day)
+find . -type f -name '*.zip' ! -mtime -1 -exec rm {} +
+
+# Exit
+exit 0
+
+To restore a data backup to the original virtual machine, simply unzip the file and delete the existing contents of /opt/vw-data
. Then, transfer the contents of your zip file into this directory. Perform a quick restart of the container, and you will have successfully restored the version of the backup you selected.
Despite CBRS being a relatively open frequency band, the processes for spectrum access are still somewhat opaque and require significant capital investment and/or ISP-level resources to set up. To clarify this process, here’s a step by step walkthrough tutorial of the setup of a Baicells eNodeB (eNB) base station running in the Citizen’s Broadband Radio Service (CBRS) spectrum band (or band 48).
+Before following this tutorial, you should have completed the setup of a LTE Evolved Packet Core (EPC) to control your eNB, for which the setup of an open source version based on open5gs is outlined in this tutorial.
+Current FCC regulations require all CBRS equipment (called a CBSD) to be registered on a Spectrum Access System (SAS) that coordinates all spectrum assignments and ensures that no transmissions interfere with each other. This will likely require a commercial agreement with a SAS provider such as Google, Federated Wireless, etc. This tutorial uses the Google SAS.
+At least one member of your team will require “Certified Professional Installer” (CPI) training and license in order to hold legal responsibility for and sign off on device installations. Most SAS providers will offer training at about $500 for both an online training course and the certification exam. If you aren’t able to get someone on your team certified, be sure to collaborate with a CPI! Feel free to contact us at the Local Connectivity Lab if you need support for your community project in this regard, and we can figure out what is feasible.
+The following are some links and helpful notes about this process: +* https://wifidevan.wordpress.com/cbrs-certified-professional-installer-cpi-study-notes/ +* https://alliancecorporation.ca/webinars/webinars-webinars/cbrs-for-beginners-part-2-by-commscope/ +* https://cbrs.wirelessinnovation.org/acronyms
+For Google, the price options provided us in summer 2020 were:
+CBSDs must register their transmit capabilities with the SAS using either the “one-step” or “multi-step” process.
+The one-step process requires you to input all installation parameters and sign them with the CPI certificate all on the base station itself, or via a cloud domain proxy such as used by Baicells. Not all base stations support this and the interfaces for doing so might vary widely, so “multi-step” is typically recommended.
+This tutorial will be walking through steps following the specifics of the Google SAS portal interface, but the steps should be generalizable to other SAS portals.
+The Google SAS portal can be found at: https://wirelessconnectivity.google.com/sas/
+Our test setup in the lab includes:
+An example configuration for this setup is shown below.
+ +The configuration screen is a right-hand sidebar next to the map view, hence the unwieldy aspect ratio.
+Explanation of parameters:
+FCC ID and Serial Number:
+Beamforming Gain, Beamwidth
+Azimuth
+Air Interface
+When the parameters are all filled out, click the big red “Ready for CPI” button at the bottom of the panel (not shown here). On the CPI’s version of the interface, it will provide a place to “sign” the configuration with their CPI certificate, which they will upload to the interface. This must happen before the device can get a spectrum grant.
+After the CPI signs the eNB configuration, under the “Status” tab (visible in the config panel), you should see “Not yet Registered” (or a similar message) because the eNB has not checked in to the Google SAS yet with its matching parameters to complete the multi-step process. If something has otherwise gone wrong, you’ll see an error message here.
+Due to Baicells’ use of a “domain proxy” for their SAS requests, you will need to make a new user account in the Baicells Operators Management Console (OMC): https://cloudcore.baicells.com:4443/
+This is distinct from their paid “Cloud Core” service which we will not be using in this tutorial, although the management portal is the same.
+Once you have made an account, note the 6-letter “CloudKey” in the upper right corner of the screen (circled in red).
+ +This will need to be inputted into the local eNB management portal for the eNB to check into the Cloud OMC.
+On your version of this portal, if you’re doing this for the first time, you shouldn’t see any eNBs already present.
+Navigate to Advance→SAS in the left hand menu, and then click the gear icon on the upper right corner, which has the hover text “Settings.”
+The Baicells eNodeB (eNB) is best managed through the browser-based management portal; the current command line interface is accessible but extremely limited.
+The default IP address of the management portal (and that of most Baicells equipment I’ve seen) is 192.168.150.1, and the default login credentials are admin/admin. I would recommend changing the admin login credentials to be more secure.
+Connect your computer to the eNB via Ethernet, and navigate to this IP address in your browser (using http://192.168.150.1, not https).
+Baicells Initial Login Screen:
+ +BTS Info→“Basic Info” Page visible upon login:
+ +Upgrade the firmware to the latest firmware version that supports SAS functionality, or verify that it is already up to date.
+You can check the official firmware page under the correct eNB model. The Nova 233 CBRS small cell we’re using is model mBS1105. The latest firmware version after which SAS is officially supported is BaiBS_RTS_3.6.6.IMG (as of Feb 2021), for which the direct download is available here.
+ +Do not skip this step, otherwise none of the following steps will work right.
+Once the firmware is upgraded, you will want to get the eNB connected to your local LTE core network (EPC) as well as to the Internet so it can contact the necessary SAS infrastructure.
+Navigate to the Network→WAN/LAN/VLAN tab on the left hand menu.
+We will set the WAN interface IP address to 192.168.151.1, since the Baicells console requires (for whatever reason) a different subnet for the WAN as opposed to the LAN.
+Then we will connect the eNB to an Ethernet port on the EPC that has the IP address 192.168.151.2 (as set up in our previous tutorial), which will act as the eNB’s Internet gateway.
+Don’t forget to hit “Save” after each change you make in this interface. +
+At this point, if the EPC is configured correctly to pass eNB traffic to the Internet, the eNB should be able to ping an arbitrary IP address.
+To test this, navigate to the Network→Diagnostics tab on the left hand menu and select “Ping” under the “Method of Diagnostics” dropdown menu. Set the “Target IP Domain” to be a highly reachable IP address on the Internet such as 1.1.1.1, which is the CloudFlare DNS server. Press “Implement.”
+If the result is “Fail!” as in the screenshot, there is likely something wrong with your eNB’s Internet connection through the EPC; you should fix this issue before continuing. +
+If a message appears that the eNB needs a reboot after the new settings are saved, navigate to the Reboot tab in the left hand menu and perform the reboot (Warm Reset is fine).
+To configure the eNB to talk to the OMC as discussed in the prior section, navigate to the BTS Setting→Management Server tab in the management console and enter the CloudKey.
+Within a few minutes, the eNB should appear in your Baicells Cloud OMC console, and the “Basic Info” page should show that the OMC is “Connected.” + +
+For our purposes we will not be using IPsec between our EPC and eNB; the default IPSec configured is used for the Baicells Cloud EPC which we are not using.
+Navigate to the Network→“MME&IPSec Binding” menu tab and set “IPSec Status” to “Disable.” You may also delete the IPSec tunnels as shown below. +
+Navigate to the “BTS Setting”→“Sync Setting” menu and disable both “Forced Sync” and “GPS Sync Switch,” in case you need to work with the base station in a location where you don’t have a strong GPS signal.
+Some base stations will not start up normally or attach to the EPC unless they get a GPS signal, and we should avoid this behavior. +
+Change the MME settings. Since we are using our local EPC, we will need to change the MME settings to reflect our MME’s IP address, on which it is listening for eNBs to attach, as well as other configurations. Navigate to the BTS Info→Quick Setting tab on the left hand menu.
+ +SAS should only be enabled after successfully attaching the eNB to the MME. Unfortunately, when SAS is enabled, the eNB will not attach to the MME unless it has a currently valid authorization to transmit on a certain frequency. However, until it is attached to an MME, the Baicells Cloud OMC will not provide it this authorization.
+So we need to have SAS disabled first with the RF also disabled, attach the eNB to the MME, and then enable SAS.
+Choose “Multi-step” under “SAS Registration Type,” as specified in Section I.E. Also choose “B” under “category,” and write in the other parameters to match the ones with the same name in the Google SAS configuration.
+ +After you click “Save,” SAS should be enabled immediately. You should see the SAS enabled status change in the Baicells Cloud OMC. If all goes smoothly, your device should get an authorization to transmit within a few minutes and the radio should turn on!
+You can check the status of the SAS authorization process in the Cloud OMC. Here you can find logs (upper right corner of SAS screen, shown in the screenshot below) with any error messages that may have occurred in the process. +
+As an example, this section will show how you would change the equipment’s location upon moving from test site to deployment site.
+Google SAS steps
++
++
On the Baicells OMC, navigate to the Advance→SAS screen where you can see the list of CBRS devices and their SAS status. Click on the 3 dots ( ⠇) symbol before the serial number for a particular device and click on “Procedure” to enter the SAS procedure screen. +
+On the Procedure screen, you can see the most recent SAS logs, relinquish and re-request active spectrum authorizations, or de-register and re-register devices. First click on the “Authorized” icon and click on the “Relinquishment req” button to relinquish the current spectrum authorization. Then the latter two icons will become greyed out, but the device will remain registered. +
+We will need to fully de-register and re-register the device with the new parameters. Click the “Registered” icon and then the “De-register” button when it appears to de-register the device. +
+Once the device is in the “Unregistered” state, click the “Unregistered” icon and then click the “Register req” button when it appears. If all goes well, the device should re-register, and also request and receive a new grant (completing the full procedure) within a few moments.
+Here is a list of the software that we use to deploy, maintain, and plan our network sites.
+We use the CoLTE project maintained by the University of Washington ICTD Lab +to provide services such as network monitoring, web-based administration, and local web and DNS serving/caching.
+Our EPC is powered by Open5GS, an open-source project for 4G and 5G core networks. Currently all of our networks are 4G networks.
+We have a partnership with Google SAS to gain access to CBRS spectrum.
+Learn more about our SAS setup here.
+We use LibreNMS and SNMPd to monitor our nodes and provide alerting. Our Baicells-specific Network Manager setup is documented here, and our instructions for configuring a new node can be found here.
+The LCL Network Performance Measurement Tool is an Android App in development that will measure a variety of network metrics, including but not limited to ping, upload/download speed, signal strength. We will use this tool to easily capture and upload network metrics +in the field so that we can provide better estimates of what kind of Internet access that our users can expect to receive.
+Network Cell Info Lite is an Android App on the Google Playstore that is free to use (with advertisements) +and is capable of taking network metric measurements and recording them to upload. This is an option that we +use but are not satisfied with for many reasons, which is why we are developing our own app.
+We primarily use the Google Earth Pro desktop application to do a rough line-of-sight evaluation. We perform what is called a "viewshed analysis" that allows us to determine what is visible from a specific point on Earth (e.g. a rooftop).
+A web-based line of sight tool provided by Ubiquiti that contains helpful altitude data and diagrams. +A drawback is that it is specialized to provide data for Ubiquiti devices only.
+A web-based line of sight tool provided by Facebook Connectivity that utilizes public LiDAR data. Unfortunately LiDAR data for the Seattle area is not present yet, although there is data for some areas in Tacoma.
+A web-based market evaluator provided by Facebook Connectivity that can be used +to provide more context about the areas around potential network sites. It offers information about other service providers in the area, average household income, median speeds, and current lowest broadband price available.
+ +In this article, you'll all about crimping ethernet cables!
+Crimping an ethernet cable is the process of attaching connectors onto the ends of ethernet cables. This process is also called 'RJ45 crimping' because RJ45 is the name of the connectors that are used for ethernet cables, and they are what is being crimped.
+Setting up networks involves setting up long ethernet cable connections between different devices. Instead of buying premade ethernet cables of varying lengths (e.g. 5ft, 10ft, 50ft, etc.), it's more practical to just have a big spool of cabling that we can roll out and cut to the exact length we need.
+Therefore we need to be able to attach RJ45 connectors to the ends of these cut cables so that we can actually plug them in!
+Here are some tools you should have in your crimping kit!
+An RJ45 crimping tool is the most essential tool. Although it's technically possible to crimp ethernet cables without this specialized tool, it's not very practical for crimping lots of cables.
+Its primary utility is to do the actual 'crimping' part of compressing/crimping the tiny gold pins in the RJ45 connector onto the ethernet cables. It also has blades that can be used to cut or strip wires.
+Cable strippers are used to take off the protecting shielding around cables and expose the inner wires. You can also do the same thing with a simple blade or pair of scissors. The trickiest part about stripping cables is trying to avoid cutting the inner wires!
+RJ45 connectors are required for crimping because they feature the 8 golden pins that get crimped onto the 8 wires of the ethernet cable. They are what get plugged into ethernet ports! They also feature a latch/clip that locks the ethernet cable into the port once it is plugged in.
+RJ45 boots can be optionally used to protect the RJ45 connector. It provides insulation and prevents the cable from being breaking easily. They have to put slipped onto the cable before you put on the RJ45 connectors though!
+RJ45 cable testers allow you to guarantee that you did the job correctly!
+They have two pieces that separate from each other, and you plug each end of your crimped ethernet cable into the port on each piece. Then you turn it on and the cable tester will test the connection for all 8 pins. If there are any missing lights on any of the pins, it means that you messed up somewhere and have to restart!
+Assuming you have a crimping kit and an ethernet cable that needs to be crimped, here are all the steps!
+In this step, you'll be taking the 8 colored wires inside the ethernet cable and putting them into the correct ordering of colors.
+NOTEThis is the hardest part of crimping! The wires are small and are hard to control. Take your time and make sure you do this step correctly! Otherwise you might have to go back and restart.
+There should be 4 pairs of wires: green, brown, orange, and blue. Each pair has a solid-colored wire and a striped-colored wire. Untwist these pairs and separate them into the 8 wires.
+After untwisting the wires, they are probably still kinked and look like they want to be twisted. In this step, you should carefully grab all the wires and try to straighten them out by pulling on them. This will prevent the wires from moving around later on.
+WARNING Don't break off the wires!
++
+With your straightened out wires, put them into the correct order! Make sure that the wires are all flat and in line with each other.
+The ordering for these wires is: +1. Striped orange +2. Solid orange +3. Striped green +4. Solid blue +5. Striped blue +6. Solid green +7. Striped brown +8. Solid brown
+TIP After laying them out in order, straighten them out again as a group! This will help keep the wires together.
+Trim the wires evenly to about 1/2 inch in length using scissors or the blade of your crimping tool. You want to make sure you have enough room for the wires to reach the end of the RJ45 connector. But also try to have room for the shielding of the cable to be inserted into the connector too.
+TIP You can put the wires side-by-side to the RJ45 connector to see how long you should cut it. Look at the next step to see what the final product looks like.
+TIP If you don't have the shielding inside of the connector, it makes it easier for the wires to snap off later, which is bad.
+TIP Make sure that you cut the wires evenly!
+Carefully slide your 8 wires into the connector. Make sure that the clip is facing away from you! If it is really hard to slide it into the connector, you probably didn't straighten out the wires enough in step 2.2 or 2.3.
+MORE INFO Inserting the wires with the clip facing away from you is the standard. However, you could technically do it in 'reverse' and insert the wires with the clip facing you, as long as you do it on both ends of the cable. You shouldn't do this in practice though because others would get confused when looking at your cable.
+Push the RJ45 connector into the slot of your crimping tool for RJ45 connectors. The slot should be labeled something like "8P" for the 8-pin RJ45 connector that you're using.
+In this step, you're doing the actual 'crimping' part and crimping/compressing/stabbing the 8 golden pins on the RJ45 connector into the 8 colored wires.
+TIP Squeeze as hard as you can! You need to make sure that all 8 pins are crimped.
+Slide the two pieces of the tester apart and plug each of the cable ends into either piece. Turn the switch to “On” or “Slow.” If it's working, all 8 numbers should be flashing green.
+If any of them are not showing green, it means something is wrong and you have to redo it! The RJ45 connector can't be reused once it's crimped, so you should just cut the end off and start back at step 1.
+If everything is green, then you're done! If you had a cable boot, you can push the boots onto the RJ45 connector now.
+Our network uses a 4G LTE network architecture. Understanding everything is a huge challenge, but understanding it at a high-level is very achievable.
+Consider exploring all of these links as they all complement each other well!
+This page is currently in development. For now, please view our lesson on computer networks +from our Digital Stewards curriculum here.
+TODO
+ +Authored by: Dominick Ta +Last updated: June 18th, 2021
+TODO:
+This is a crash course in wireless communication: the magical way that we humans send information (e.g. music, messages, text, videos) to each other over long distances, without a wire.
+Wireless communication is primarily powered by radio waves, a physical thing that we as humans cannot see or touch. In this article you will gain a layman's understanding of how wireless communication works. Specifically, this article will cover the following broad topics:
+This is not meant to be a comprehensive article, so there will be a lot of simplifications, analogies, and informal explanations. Please let me know at domta@cs.uw.edu if you see any inaccuracies, misconceptions, or misnomers.
+Radio waves are just oscillations of energy that exist throughout our environment. They can be generated naturally by lightning, or artifically by equipment made by humans such as cell phones.
+The technical definition of radio waves are that they are a form of 'electromagnetic radiation'. Other types of electromagnetic radiation include visible light (what we get from the sun), infrared, and X-rays.
+ +To understand why radio waves are considered a type of electromagnetic radiation, it is helpful to know how we generate radio waves. This section is not important to fully understand, but it is good to skim to have a basic idea of how this stuff works.
+We create radio waves by moving electrons back and forth within an electrically conductive object (an object made of material that allows electrons to move freely, such as metals).
+This works because electrons have special properties:
+By moving an electron back and forth in an oscillating (repetitive) motion, these electromagnetic fields are constantly being disturbed/moved in a way that creates electromagnetic waves or equivalently, electromagnetic radiation.
+In this GIF below, we see the charge of an antenna changing, representing electrons moving back and forth within the antenna. This creates pulsating electromagnetic waves. Note: in this particular GIF, it is actually only showing the pulsating electric fields.
+ +In this GIF below, we are able to fully see an electromagnetic wave with a 3D representation. The red component of the wave represents the electric field, while the blue component represents the magnetic field. Notice how they are perpendicular to each other! This is also why the GIF above didn't show both fields: it was a 2D representation! +
+In this section, we learned about radio waves. In essence, you can just think of radio waves as physical phenomenon that look like these sine waves: +
+With the proper hardware and knowledge, we can create any type of wave we want! We can vary frequencies (how fast the waves go by), amplitudes (how tall/powerful the waves are), and phases (what position within the loop the wave is in).
+It turns out that a fundamental characteristic of any given radio wave is its frequency. Therefore, it's important to know what 'frequency' means, and how it relates to the concept of 'wavelength'.
+Frequency is a measurement of how often something happens. In the case of radio waves, it measures how many cycles of a radio wave occurs in a certain amonut of time. Frequency is measured in the units of hertz (Hz), which represents cycles per second. If we had a radio wave that passed through 10 complete cycles in a minute, it would have a frequency of 0.16Hz (10 cycles per 60 seconds).
+Wavelength measures the physical length of a single cycle in a radio wave. If we could see radio waves and measure it, and we saw that there was a distance of 10-feet between two of the peaks in a radio wave, then that radio wave would have a wavelength of 10 feet.
+ +In the image above, we can see a natural relationship between frequency and wavelength: a faster frequency means that you will have shorter wavelengths! Or conversely, longer wavelengths means that there is a slower frequency! When one value goes up, the other value has to go down; this is called an inverse relationship.
+So if I told you that I had a radio wave with a very high frequency, you could figure out that my radio wave has very small wavelengths. And actually, if I told you exactly what frequency my radio waves travelled at, you'd be able to figure out the exact size of the wavelength!
+For example, if I told you I had a radio wave with a frequency of 10Hz, you would be able to figure out that my radio wave has a wavelength of approximately 30,000,000 meters.
+This is because radio waves are a physical thing, so they always travel through air at the same speed: the speed of light. This means we can consistently convert back and forth between frequency and wavelength with some basic algebra.
+The basic equation, where c is the speed of light (3.0 x 10^8 m/s), is: +frequency (Hz) * wavelength (m) = c
+So given a radio wave with a frequency of 10Hz, to solve for wavelength, I just need to take the speed of light and divide by 10! 30,000,000 divided by 10 gives a value of a wavelength of 30,000,000 meters.
+To summarize this section, frequency and wavelength are important properties of radio waves. Although they describe different aspects of a radio wave, they are essentially synonymous because we can easily convert between the two.
+When people are talking about radio waves, you may hear them talk in terms of frequencies (e.g. megahertz, gigahertz) or you may hear them talk in terms of wavelengths (e.g. meters).
+In the next section, we'll see why exactly frequency is such an important characteristic of radio waves.
+An important thing to remember about radio waves is that nowadays they surround us everywhere we go! Radio waves are powerful because they can go through obstacles like walls, and they can potentially propagate over huge distances at a relatively cheap cost.
+Radio waves are used to communicate information in technologies such as GPS, WiFi, Bluetooth, cell phones, music radio stations, and more.
+The problem with this is that these radio waves interfere with each other and combine together to become a jumbled mess! They are all co-existing within the same space, and they can't avoid each other.
+In real life we don't get to have nice, simple, isolated radio wave like in the previous sections, we get a mix of radio waves coming all at once! And somehow, we have to find and narrow down the signal we care about.
+ +Imagine you are at an airport and you're trying to talk to your friend, but it is super crowded and theres people talking and shouting all around you. It would be super hard to hear your friend and have a conversation!
+(In this situation the people represent devices that use radio waves, the sound waves represent radio waves, and the voices & words represent the data we want to transmit)
+But if your friend talks loud enough, even though your ear is full of noise from everyone else in the airport, you can still figure out what your friend is trying to tell you. This is because you're smart enough to recognize what your friend's voice sounds like and you can focus on that voice. We can do the same thing with radio waves of different frequencies!
+(Being able to focus on your friend's specific voice is analogous to being able to focus on only radio waves of a specific frequency)
+In the image below, we can see a red radio wave. This radio wave is actually the combination of 5 radio waves of different frequencies! In the blue, we see this same signal analyzed and split into the individual components, located at its respective frequencies. (Analogy: 5 people talking at the same time, what your ears hear is the red. Your brain recognizing that these are 5 different voices is the blue) +
+The mathematical process of going from the red representation (the signal in the time domain) to the blue representation (the signal in the frequency domain) is called the "Discrete Fourier Transform". You may also hear about something called the "Fast Fourier Transform" which is the discrete fourier transform, but a very clever and fast way to calculate it.
+(Intuitively, the DFT/FFT is essentially comparing a bunch of sine waves of varying frequencies to the signal detected, and calculating how similar they are. This would be like your brain iterating through all possible human voices and checking to see how strongly your ears hear that particular voice)
+This means that even though there may be a jumbled mess of radio waves surrounding us at all times, if they are radio waves of different frequencies, we are able to distinguish between all these different frequencies using some old fashioned engineering.
+This non-trivial fact is what allows our world to have so many different types of devices communicating wirelessly all at the same time! They are all using radio waves, all in the same space, but at different frequencies! This is why radio waves are identified by their frequency (or wavelength).
+In this section on radio waves, we learned about what they are, the basics of how they're produced, frequency & wavelength, and how we distinguish between different radio waves co-existing in the same space. These are the fundamental concepts behind the physics of radio waves that engineers take advantage of.
+In the next section on antennas, we will learn what they are and how they are used to efficiently propagate/send radio waves.
+In another section, we will learn more about how exactly we manipulate radio waves to convey the information we want to send.
+We use antennas in our everyday lives, but most people don't know how they work. We use antennas on cars, on buildings, and even within our computers and phones!
+Antennas are all made up of electrically conductive material. This usually means antennas are made out of metals like copper.
+Materials that are electrically conductive allow electrons to freely move throughout it. The opposite type of material would be electrically insulating material.
+As a real-life analogy, imagine a typical swimming pool filled with water. A normal pool like this allows people to freely swim through it! In this analogy the water represents electrically conductive material and people represent electrons. Now imagine a piece of copper metal as being that pool of water. Because copper is electrically conductive, electrons can freely move through it!
+An analogy for an electrically insulating material would be a swimming pool filled with jello/pudding/gelatin. If someone tried diving into that pool, they wouldn't get very far and it'd be super hard or impossible to swim through it. In this analogy the jello/pudding/gelatin represents electrically insulating material and people represent electrons. Now imagine a piece of plastic being that pool of water. Because plastic is electrically insulating, eletrons are mostly stuck where they are inside the plastic!
+Antennas need to be electrically conductive because they transmit and receive radio waves by taking advantage of the movement of electrons.
+In the above section on "How radio waves are created" we learned that radio waves are generated by moving an electron back and forth in an oscillating (repetitive) motion. This oscillation of electrons occurs in the antennas.
+If antennas weren't electrically conductive, these electrons wouldn't be able to move and create these radio waves!
+In order to transmit with an antenna, the antenna needs to be connected to an electrical component that can control the movement of these electrons.
+TODO: expand/clarify?
+Antennas receive radio signals passively. As the electromagnetic fields are manipulated in the environment around an antenna, the electrons in the antenna move accordingly (because of how the physics of it work). By monitoring the movement of these electrons, the respective radio wave can be captured.
+TODO: expand/clarify?
+How do we as humans harness this power of manipulating radio waves as communication? We agree on a bunch of different rules and conventions on how we will manipulating these radio waves to convey information efficiently and responsibly. In the United States, most of these rules are established and enforced by the Federal Communications Commission (FCC).
+To lay a conceptual foundation for this relatively abstract section, here is an analogy.
+Suppose we have two friends with the simple names of "A" and "B" that want to talk to each other over a distance, but they cant see, hear, or touch each other over that distance. The only way method of communication they have is a really long piece of rope between them. So once they travel far away from each other, they will each be holding one end of the rope and will be trying to communicate.
+But before they travel far away from each other, they need to talk to each other to figure out a set of rules of communication so that they can understand each other when they feel the rope moving.
+When coming up with these rules for communication, one of the first things that A & B need to do is come up with a language. Because A & B really like computers, they chose the language of computers: binary. They chose this language because it is super simple and effective; it only has two letters (1 and 0) and you can send tons of information by being clever with 1s and 0s (thats what computers do).
+Now the next thing that A & B needs to do is figure out how to use the rope to send these 1s and 0s. Here are some ideas they brainstormed together: +* If the rope is moving up and down (oscillating), then that is considered a 1. If the rope is not moving, then that is considered a 0. +* If the rope is oscillating super fast then that's a 1, but if the rope is oscillating slowly then that's a 0. +* If the rope is oscillating super fast then that's a 0, but if the rope is oscillating slowly then that's a 1. +* If the rope is oscillating with a big height then that's a 1, but if the rope is oscillating with small height then that's a 0.
+A & B realized two properties of the movement of the rope that they could capture: (1) frequency, how fast the rope is oscillating, and (2) amplitude, how tall the rope is when its oscillating.
+The term for manipulating these properties is "modulation". This makes sense because a dictionary definition of modulation is "to adjust"; modulation is just a fancy word for changing.
+In this analogy, the material/medium of communication was the rope. But in our context, the material/medium of communication is radio waves. Both of these materials have frequency and amplitude that can be modulated to send information, and demodulated to receive that information.
+In the next section, we'll learn about frequency and amplitude modulation. We'll also learn about some other types of modulation that don't have a direct real-life connection to ropes.
+In the previous section on "Communicating with Radio Waves", we learned how we are able to transmit messages wirelessly over radio waves via modulation.
+We understood this through our analogy with friends A & B who came up with a way to send letters in their binary language (1 and 0) through a rope. Assuming they were able to do this successfully, they could send long streams of messages that look something like "101011100101010101010". But that's still not enough! They need to come up with a 'protocol' for deciphering what this message actually means!
+For example, they could come up with a simple protocol for sending messages about how their day went. +* The first 3 letters would represent how their day went: "101" could mean that they had a good day, and "010" could mean that they had a bad day, and maybe "110" means that their day went okay. +* The next 3 letters would represent the weather: "100" could mean that it was sunny and "101" could mean that it was rainy.
+We have these same types of protocols in real life that are much more complicated. They are carefully designed to ensure security (can people intercept messages?), reliability (what if the message gets messed up in certain places?), and efficiency (how much useful data can we send at a time?).
+' + escapeHtml(summary) +'
' + noResultsText + '
'); + } +} + +function doSearch () { + var query = document.getElementById('mkdocs-search-query').value; + if (query.length > min_search_length) { + if (!window.Worker) { + displayResults(search(query)); + } else { + searchWorker.postMessage({query: query}); + } + } else { + // Clear results for short queries + displayResults([]); + } +} + +function initSearch () { + var search_input = document.getElementById('mkdocs-search-query'); + if (search_input) { + search_input.addEventListener("keyup", doSearch); + } + var term = getSearchTermFromLocation(); + if (term) { + search_input.value = term; + doSearch(); + } +} + +function onWorkerMessage (e) { + if (e.data.allowSearch) { + initSearch(); + } else if (e.data.results) { + var results = e.data.results; + displayResults(results); + } else if (e.data.config) { + min_search_length = e.data.config.min_search_length-1; + } +} + +if (!window.Worker) { + console.log('Web Worker API not supported'); + // load index in main thread + $.getScript(joinUrl(base_url, "search/worker.js")).done(function () { + console.log('Loaded worker'); + init(); + window.postMessage = function (msg) { + onWorkerMessage({data: msg}); + }; + }).fail(function (jqxhr, settings, exception) { + console.error('Could not load worker.js'); + }); +} else { + // Wrap search in a web worker + var searchWorker = new Worker(joinUrl(base_url, "search/worker.js")); + searchWorker.postMessage({init: true}); + searchWorker.onmessage = onWorkerMessage; +} diff --git a/search/search_index.json b/search/search_index.json new file mode 100644 index 0000000..79e8a76 --- /dev/null +++ b/search/search_index.json @@ -0,0 +1 @@ +{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"Seattle Community Network Docs Welcome to the documentation website for the Seattle Community Network ! If you're looking for our main website, it is located at https://www.seattlecommunitynetwork.org . You're in the Right Place Seattle Community Network has a place for everyone . Whether you'd like to join to get free Internet , get involved to help out your community, learn some skills so that you can get a job, or all of the above! PRO TIP We are a community . It's in our name! So, why not start by joining our community ? It's easy. What's here? Some topics you can find on this website include: FAQ - get the answers to some common questions. Community - get involved and learn more about our community, our rules, and what we're up to. Learn - gain some new skills that you can use to help out with our networks. Infrastructure - get the details on how our networks work behind the scenes.","title":"Home"},{"location":"#seattle-community-network-docs","text":"Welcome to the documentation website for the Seattle Community Network ! If you're looking for our main website, it is located at https://www.seattlecommunitynetwork.org .","title":"Seattle Community Network Docs"},{"location":"#youre-in-the-right-place","text":"Seattle Community Network has a place for everyone . Whether you'd like to join to get free Internet , get involved to help out your community, learn some skills so that you can get a job, or all of the above! PRO TIP We are a community . It's in our name! So, why not start by joining our community ? It's easy.","title":"You're in the Right Place"},{"location":"#whats-here","text":"Some topics you can find on this website include: FAQ - get the answers to some common questions. Community - get involved and learn more about our community, our rules, and what we're up to. Learn - gain some new skills that you can use to help out with our networks. Infrastructure - get the details on how our networks work behind the scenes.","title":"What's here?"},{"location":"community/code-of-conduct/","text":"Code of Conduct The Seattle Community Network (SCN) is dedicated to fostering an environment in which everyone can participate in our meetups, installs, online spaces, and any other community event. We believe that diversity in our community is critical and should be celebrated. We welcome everyone of any race, age, gender, nationality, gender identity and expression, sexual orientation, disability, physical appearance, body size, religion, education, and skill level. The SCN community and experience often extends outside those spaces. Members meet in person to collaborate on projects, attend related meetups or conferences together, and communicate on social media. Abusive or unwelcoming behavior between SCN Members still has a profound impact on individuals and on the community when it happens beyond our events and online forums. We will use our discretion when deciding whether to enforce this code of conduct after reports of such behavior happening outside of our spaces, taking into account the impact on the individual Members involved as well as the impact on the community at large. Types of Behavior Encouraged Behavior All participants are expected to: be considerate, respectful, and collaborative. Specifically we expect participants to: Demonstrate empathy, kindness, and patience toward other people Assume the best intentions from others Be respectful of differing opinions, viewpoints, and experiences Give and gracefully accept constructive feedback Accept responsibility and apologize to those affected by our mistakes, and learn from the experience Focus on what is best not just for us as individuals, but for the overall community Unacceptable Behavior The following types of behavior are unacceptable at SCN, both online and in-person, and constitute code of conduct violations. Abusive Behavior Harassment Offensive verbal comments related to gender, sexual orientation, disability, physical appearance, body size, race, nationality, immigration status, language, religion, or education level Sexual images in public spaces, unwelcome sexual or romantic attention, and inappropriate physical contact. Threats Threating someone physically or verbally. For example, threatening to publicize sensitive information about someone's personal life Hacking Any kind of malicious or harmful behavior towards other network users and their devices/data/property, or towards the network and its equipment or normal functioning. For example, DDOS attacks or unauthorized remote access. Unwelcoming Behavior Blatant -isms Saying things that are explicitly racist, sexist, homophobic, etc. For example, arguing that some people are less intelligent because of their gender, race or religion. Subtle -isms and small mistakes made in conversation are not code of conduct violations. However, repeating something after it has been pointed out to you that you made a member feel unwelcome, broke a social rule or antagonizing or arguing with someone who has pointed out your subtle -ism is considered unwelcoming behavior and is not allowed in SCN. Maliciousness towards other members Deliberately attempting to make others feel bad, name-calling, singling out others for derision or exclusion. For example, telling somone they're not technical enough or that they don't belong in SCN. Being especially unpleasant For example, if we've received reports from multiple members of annoying, rude, or especially distracting behavior. For example, repeatedly engaging in bad faith arguments, talking down to people, or excluding people from participation. Reporting Please report code of conduct violations either to the event organizer, by emailing lcl@seattlecommunitynetwork.org or by alerting moderators on Discord with the @moderators group tag. All of our moderators are volunteers, and will response with their best effort. However, if you provide your name, or contact info we promise to respond within two business days. How to Report In your report, please include: Subject line \"[SCN Code of Conduct Violation Report]\" followed by descriptive subject Your name This is incredibly helpful for us to be able to follow up with you, and ask questions to better understand the situation. You are welcome to report anonymously. Please only use this option if you really need to, and know that we might not be able to take action without knowing who you are. In any case, provide an email address so we can correspond with you about the report. A detailed description of what happened If the violation happened online, please link to or send us the relevant text. If the violation happened in person, please detail exactly what the other person said or did. In order to take action, we need to know the concrete actions that someone took. Where and when the incident happened Any other relevant context. Do you have examples of a pattern of similar behavior? Do you have a relationship with this person outside of SCN? If/how you've already responded - this lets us know the current state of the situation. Why to Report You are responsible for making SCN a safe and comfortable space for everyone. Everyone in our community shares this responsibility. Our volunteer Moderators are not around all the time, so we cannot enforce the code of conduct without your help. The consequences for SCN of not reporting bad behavior outweigh the consequences for one person reporting it. We sometimes hear \u201cI don\u2019t want X person to meet consequences because I told someone about their bad behavior.\u201d Consider the impact on everyone else at SCN of letting their behavior continue unchecked. SCN only works as a self-directed, community-driven effort because of shared trust between members. Reporting code of conduct violations helps us identify when this trust is broken, to prevent that from happening in the future. Enforcement Guidelines Moderators will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct. Correction Community Impact: Unwelcoming behavior. Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. Consequence: A private, written warning from moderators, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public or private apology may be requested in the venue where the behavior took place, for example on Discord or at the event. Warning Community Impact: A violation through a single incident of abusive behavior or series of unwelcoming behaviors. Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban. Temporary Ban Community Impact: A serious violation of community standards, including sustained unwelcoming behavior. Consequence: A temporary ban from any sort of participation, interaction, or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban. Permanent Ban Community Impact: Demonstrating a pattern of violation of community standards, including sustained unwelcoming behavior, harassment or threatening of an individual, or aggression toward or disparagement of classes of individuals. Consequence: A permanent ban from any sort of participation, or public interaction within the community. Discussion If you have questions about any aspect of the code of conduct, or want to propose amending it, please contact the @moderators group, or drop in to the public #governance channel on Discord. Attribution Taken almost verbatim from the NYC Mesh Code of Conduct . NYC Mesh CoC Attribution: Most of this is from the Recurse Center CoC. Other parts are from Strange Loop(community goals), Contributor Covenant (portion of the community goals, encouraged behaviors, enforcement guidelines), and the Toronto Mesh/Geek Feminism (guidelines for moderators).","title":"Code of Conduct"},{"location":"community/code-of-conduct/#code-of-conduct","text":"The Seattle Community Network (SCN) is dedicated to fostering an environment in which everyone can participate in our meetups, installs, online spaces, and any other community event. We believe that diversity in our community is critical and should be celebrated. We welcome everyone of any race, age, gender, nationality, gender identity and expression, sexual orientation, disability, physical appearance, body size, religion, education, and skill level. The SCN community and experience often extends outside those spaces. Members meet in person to collaborate on projects, attend related meetups or conferences together, and communicate on social media. Abusive or unwelcoming behavior between SCN Members still has a profound impact on individuals and on the community when it happens beyond our events and online forums. We will use our discretion when deciding whether to enforce this code of conduct after reports of such behavior happening outside of our spaces, taking into account the impact on the individual Members involved as well as the impact on the community at large.","title":"Code of Conduct"},{"location":"community/code-of-conduct/#types-of-behavior","text":"","title":"Types of Behavior"},{"location":"community/code-of-conduct/#encouraged-behavior","text":"All participants are expected to: be considerate, respectful, and collaborative. Specifically we expect participants to: Demonstrate empathy, kindness, and patience toward other people Assume the best intentions from others Be respectful of differing opinions, viewpoints, and experiences Give and gracefully accept constructive feedback Accept responsibility and apologize to those affected by our mistakes, and learn from the experience Focus on what is best not just for us as individuals, but for the overall community","title":"Encouraged Behavior"},{"location":"community/code-of-conduct/#unacceptable-behavior","text":"The following types of behavior are unacceptable at SCN, both online and in-person, and constitute code of conduct violations.","title":"Unacceptable Behavior"},{"location":"community/code-of-conduct/#abusive-behavior","text":"Harassment Offensive verbal comments related to gender, sexual orientation, disability, physical appearance, body size, race, nationality, immigration status, language, religion, or education level Sexual images in public spaces, unwelcome sexual or romantic attention, and inappropriate physical contact. Threats Threating someone physically or verbally. For example, threatening to publicize sensitive information about someone's personal life Hacking Any kind of malicious or harmful behavior towards other network users and their devices/data/property, or towards the network and its equipment or normal functioning. For example, DDOS attacks or unauthorized remote access.","title":"Abusive Behavior"},{"location":"community/code-of-conduct/#unwelcoming-behavior","text":"Blatant -isms Saying things that are explicitly racist, sexist, homophobic, etc. For example, arguing that some people are less intelligent because of their gender, race or religion. Subtle -isms and small mistakes made in conversation are not code of conduct violations. However, repeating something after it has been pointed out to you that you made a member feel unwelcome, broke a social rule or antagonizing or arguing with someone who has pointed out your subtle -ism is considered unwelcoming behavior and is not allowed in SCN. Maliciousness towards other members Deliberately attempting to make others feel bad, name-calling, singling out others for derision or exclusion. For example, telling somone they're not technical enough or that they don't belong in SCN. Being especially unpleasant For example, if we've received reports from multiple members of annoying, rude, or especially distracting behavior. For example, repeatedly engaging in bad faith arguments, talking down to people, or excluding people from participation.","title":"Unwelcoming Behavior"},{"location":"community/code-of-conduct/#reporting","text":"Please report code of conduct violations either to the event organizer, by emailing lcl@seattlecommunitynetwork.org or by alerting moderators on Discord with the @moderators group tag. All of our moderators are volunteers, and will response with their best effort. However, if you provide your name, or contact info we promise to respond within two business days.","title":"Reporting"},{"location":"community/code-of-conduct/#how-to-report","text":"In your report, please include: Subject line \"[SCN Code of Conduct Violation Report]\" followed by descriptive subject Your name This is incredibly helpful for us to be able to follow up with you, and ask questions to better understand the situation. You are welcome to report anonymously. Please only use this option if you really need to, and know that we might not be able to take action without knowing who you are. In any case, provide an email address so we can correspond with you about the report. A detailed description of what happened If the violation happened online, please link to or send us the relevant text. If the violation happened in person, please detail exactly what the other person said or did. In order to take action, we need to know the concrete actions that someone took. Where and when the incident happened Any other relevant context. Do you have examples of a pattern of similar behavior? Do you have a relationship with this person outside of SCN? If/how you've already responded - this lets us know the current state of the situation.","title":"How to Report"},{"location":"community/code-of-conduct/#why-to-report","text":"You are responsible for making SCN a safe and comfortable space for everyone. Everyone in our community shares this responsibility. Our volunteer Moderators are not around all the time, so we cannot enforce the code of conduct without your help. The consequences for SCN of not reporting bad behavior outweigh the consequences for one person reporting it. We sometimes hear \u201cI don\u2019t want X person to meet consequences because I told someone about their bad behavior.\u201d Consider the impact on everyone else at SCN of letting their behavior continue unchecked. SCN only works as a self-directed, community-driven effort because of shared trust between members. Reporting code of conduct violations helps us identify when this trust is broken, to prevent that from happening in the future.","title":"Why to Report"},{"location":"community/code-of-conduct/#enforcement-guidelines","text":"Moderators will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct.","title":"Enforcement Guidelines"},{"location":"community/code-of-conduct/#correction","text":"Community Impact: Unwelcoming behavior. Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. Consequence: A private, written warning from moderators, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public or private apology may be requested in the venue where the behavior took place, for example on Discord or at the event.","title":"Correction"},{"location":"community/code-of-conduct/#warning","text":"Community Impact: A violation through a single incident of abusive behavior or series of unwelcoming behaviors. Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.","title":"Warning"},{"location":"community/code-of-conduct/#temporary-ban","text":"Community Impact: A serious violation of community standards, including sustained unwelcoming behavior. Consequence: A temporary ban from any sort of participation, interaction, or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.","title":"Temporary Ban"},{"location":"community/code-of-conduct/#permanent-ban","text":"Community Impact: Demonstrating a pattern of violation of community standards, including sustained unwelcoming behavior, harassment or threatening of an individual, or aggression toward or disparagement of classes of individuals. Consequence: A permanent ban from any sort of participation, or public interaction within the community.","title":"Permanent Ban"},{"location":"community/code-of-conduct/#discussion","text":"If you have questions about any aspect of the code of conduct, or want to propose amending it, please contact the @moderators group, or drop in to the public #governance channel on Discord.","title":"Discussion"},{"location":"community/code-of-conduct/#attribution","text":"Taken almost verbatim from the NYC Mesh Code of Conduct . NYC Mesh CoC Attribution: Most of this is from the Recurse Center CoC. Other parts are from Strange Loop(community goals), Contributor Covenant (portion of the community goals, encouraged behaviors, enforcement guidelines), and the Toronto Mesh/Geek Feminism (guidelines for moderators).","title":"Attribution"},{"location":"community/community-networking-toolkit/","text":"Community Networking Toolkit This is a toolkit/resource guide for anyone interested in starting up their own community network. Recommended Deployment Kit Here is a spreadsheet containing a bunch of tools and equipment that you should bring to network deployments. This was created by Esther Jang who has a lot of practical experience deploying sites. This spreadsheet is color-coded into different categories based on how important they are to have! Ethernet Crimping Ethernet crimping is an important skill for network site installations. The length of an ethernet cable connection is only truly known once you're on site so it is useful to be able to quickly cut ethernet cable to the desired length and crimp it. Our Guide to Crimping Workshop Slides Crimping Video Cable Testing Video (first 7 min only for basics) Ethernet Color Coding Diagrams Both the T-568A and the T-568B standard Straight-Through cables are used most often as patch cords for your Ethernet connections. If you require a cable to connect two Ethernet devices directly together without a hub or when you connect two hubs together, you will need to use a Crossover cable instead. Internet Society (ISOC) Materials Introduction to Community Networks All-aspects Community Networking Guides AlterMundi (Spanish Language) NYC Mesh - How to start a community network NYC Mesh Docs Telecommunications Reclaimed - Linked from NYC Mesh guide Start your own ISP This site is dedicated to helping you start your own Internet Service Provider. Specifically this guide is about building a Wireless ISP (WISP). Commotion Construction Kit The Commotion Construction Kit is a set of documentation tools that the Open Technology Institute has used in workshops around the world and at home. It is a \u201cdo it ourselves\u201d guide to building community wireless networks. Neighborhood Network Construction Kit The Neighborhood Network Construction Kit is a set of documentation tools that the Open Technology Institute has used in workshops around the world and at home. It is a \u201cdo it ourselves\u201d guide to building community wireless networks. Many of these activities were first released as part of the Commotion project. Community Technology Field Guide A collective resource for digital stewardship, digital justice and community infrastructure. These resources emphasize self-governance, participatory learning, collaborative design and sustainability. Building Broadband Commons - Tools for Planners and Communities Next Century City - Becoming Broadband Ready, a Toolkit for Communities Wireless Networking in the Developing World - Online Book Wireless Networking in the Developing World is a free book about designing, implementing, and maintaining low-cost wireless networks. Community Networks in Comics It is not easy to explain the concepts behind community networks, both the technical characteristics of radio frequency networks and the social and human aspects of community technologies. Teaching a workshop for popular groups using colonizing terms and methodologies can increase the existing barrier between people and a technology that was not created for their interests. With this in mind, images and analogies are powerful tools to make it easier to explain a technical term or an idea. We reject the premise that to do so would in any way underestimate people\u2019s ability to understand technical matters. Building Consentful Tech Zine In 2017, Una Lee, Dann Toliver, and their design firm And Also Too published the Building Consentful Tech Zine as a provocation on how to think about and design for consentfulness. This framing really resonated with our group, so we expanded it into a project where we prototype what this looks like in practice (and learned some interaction design methodologies on the way)! Report on Digital Skill Sets for Diverse Users The City of Seattle, in partnership with Technology and Social Change Group (TASCHA), developed a set of Digital Equity Indicators that helps measure Seattle\u2019s progress in meeting the initiative's goals. What digital skills do existing frameworks and curricula cover? What digital skills should the City and partners recommend to digital skill instructors to teach and promote? Do these resources have corresponding assessments to help assess individuals\u2019 digital skill abilities? Worksheet for Digital Skills for Diverse Users A list of 74 skills identified by TASCHA (see above resource) to include in digital equity curriculums Report on current state of Detroit Community Network In this case study, we focus on Detroit and the predominantly Black and lower-income neighborhood of the North End as an example of innovative, community-scale projects that are locally generated. New Community Networks by Douglas Schuler Online book about building and socially sustaining community networks, based on Doug Schuler's experiences with the Seattle Community Network project in the 90's (1996)","title":"Community Networking Toolkit"},{"location":"community/community-networking-toolkit/#community-networking-toolkit","text":"This is a toolkit/resource guide for anyone interested in starting up their own community network.","title":"Community Networking Toolkit"},{"location":"community/community-networking-toolkit/#recommended-deployment-kit","text":"Here is a spreadsheet containing a bunch of tools and equipment that you should bring to network deployments. This was created by Esther Jang who has a lot of practical experience deploying sites. This spreadsheet is color-coded into different categories based on how important they are to have!","title":"Recommended Deployment Kit"},{"location":"community/community-networking-toolkit/#ethernet-crimping","text":"Ethernet crimping is an important skill for network site installations. The length of an ethernet cable connection is only truly known once you're on site so it is useful to be able to quickly cut ethernet cable to the desired length and crimp it. Our Guide to Crimping Workshop Slides Crimping Video Cable Testing Video (first 7 min only for basics) Ethernet Color Coding Diagrams Both the T-568A and the T-568B standard Straight-Through cables are used most often as patch cords for your Ethernet connections. If you require a cable to connect two Ethernet devices directly together without a hub or when you connect two hubs together, you will need to use a Crossover cable instead.","title":"Ethernet Crimping"},{"location":"community/community-networking-toolkit/#internet-society-isoc-materials","text":"Introduction to Community Networks","title":"Internet Society (ISOC) Materials"},{"location":"community/community-networking-toolkit/#all-aspects-community-networking-guides","text":"AlterMundi (Spanish Language) NYC Mesh - How to start a community network NYC Mesh Docs Telecommunications Reclaimed - Linked from NYC Mesh guide Start your own ISP This site is dedicated to helping you start your own Internet Service Provider. Specifically this guide is about building a Wireless ISP (WISP). Commotion Construction Kit The Commotion Construction Kit is a set of documentation tools that the Open Technology Institute has used in workshops around the world and at home. It is a \u201cdo it ourselves\u201d guide to building community wireless networks. Neighborhood Network Construction Kit The Neighborhood Network Construction Kit is a set of documentation tools that the Open Technology Institute has used in workshops around the world and at home. It is a \u201cdo it ourselves\u201d guide to building community wireless networks. Many of these activities were first released as part of the Commotion project. Community Technology Field Guide A collective resource for digital stewardship, digital justice and community infrastructure. These resources emphasize self-governance, participatory learning, collaborative design and sustainability. Building Broadband Commons - Tools for Planners and Communities Next Century City - Becoming Broadband Ready, a Toolkit for Communities Wireless Networking in the Developing World - Online Book Wireless Networking in the Developing World is a free book about designing, implementing, and maintaining low-cost wireless networks. Community Networks in Comics It is not easy to explain the concepts behind community networks, both the technical characteristics of radio frequency networks and the social and human aspects of community technologies. Teaching a workshop for popular groups using colonizing terms and methodologies can increase the existing barrier between people and a technology that was not created for their interests. With this in mind, images and analogies are powerful tools to make it easier to explain a technical term or an idea. We reject the premise that to do so would in any way underestimate people\u2019s ability to understand technical matters. Building Consentful Tech Zine In 2017, Una Lee, Dann Toliver, and their design firm And Also Too published the Building Consentful Tech Zine as a provocation on how to think about and design for consentfulness. This framing really resonated with our group, so we expanded it into a project where we prototype what this looks like in practice (and learned some interaction design methodologies on the way)! Report on Digital Skill Sets for Diverse Users The City of Seattle, in partnership with Technology and Social Change Group (TASCHA), developed a set of Digital Equity Indicators that helps measure Seattle\u2019s progress in meeting the initiative's goals. What digital skills do existing frameworks and curricula cover? What digital skills should the City and partners recommend to digital skill instructors to teach and promote? Do these resources have corresponding assessments to help assess individuals\u2019 digital skill abilities? Worksheet for Digital Skills for Diverse Users A list of 74 skills identified by TASCHA (see above resource) to include in digital equity curriculums Report on current state of Detroit Community Network In this case study, we focus on Detroit and the predominantly Black and lower-income neighborhood of the North End as an example of innovative, community-scale projects that are locally generated. New Community Networks by Douglas Schuler Online book about building and socially sustaining community networks, based on Doug Schuler's experiences with the Seattle Community Network project in the 90's (1996)","title":"All-aspects Community Networking Guides"},{"location":"community/join/","text":"Join Us Seattle Community Network has a place for everyone . Whether you'd like to join to get free Internet, get involved to help out your community, learn some skills so that you can get a job, or all of the above! PRO TIP Do everything on this page! Our community is spread out in a lot of different places, so doing everything is the best way to make sure you don't miss out. Join our Discord! Discord is a messaging platform that we use to stay in touch with each other, organize our different teams, and update everyone on last minute things. This is a MUST do if you don't want to get left out! Follow these steps to join our Discord server: Click the invite link to enter the Discord server. Introduce yourself on the #introductions channel and friend request one of the moderators so they can chat with you (you can write @moderators in your message to get their attention). They will need to add a role for you as a \"member\" so you can stay on the server before you log out, otherwise you will have to be invited and join again. Install Discord on your computer , Android , or iOS device to always stay up-to-date. Chat with someone! The best way to get involved with the network is to find someone that can direct you! Most of our work happens in teams. Here's how to join a team . Subscribe to our Google calendar! On our Google calendar we post regular occurring meetings and any impromptu events like social events, emergency repairs, site visits, etc. This is one of the only places to find out about the meetings our various teams are having! Join using one of these options: Use this link that should prompt you to add the calendar to your Google account Use this ICS file to manually add the calendar via the iCalendar format. View the calendar here Follow our social media! Our social media team makes posts about upcoming meetings, social events, and they also occasionally make educational posts! Don't miss out and follow us on Instagram , Facebook , and Twitter . Visit our Space!","title":"Join Us"},{"location":"community/join/#join-us","text":"Seattle Community Network has a place for everyone . Whether you'd like to join to get free Internet, get involved to help out your community, learn some skills so that you can get a job, or all of the above! PRO TIP Do everything on this page! Our community is spread out in a lot of different places, so doing everything is the best way to make sure you don't miss out.","title":"Join Us"},{"location":"community/join/#join-our-discord","text":"Discord is a messaging platform that we use to stay in touch with each other, organize our different teams, and update everyone on last minute things. This is a MUST do if you don't want to get left out!","title":"Join our Discord!"},{"location":"community/join/#follow-these-steps-to-join-our-discord-server","text":"Click the invite link to enter the Discord server. Introduce yourself on the #introductions channel and friend request one of the moderators so they can chat with you (you can write @moderators in your message to get their attention). They will need to add a role for you as a \"member\" so you can stay on the server before you log out, otherwise you will have to be invited and join again. Install Discord on your computer , Android , or iOS device to always stay up-to-date.","title":"Follow these steps to join our Discord server:"},{"location":"community/join/#chat-with-someone","text":"The best way to get involved with the network is to find someone that can direct you! Most of our work happens in teams. Here's how to join a team .","title":"Chat with someone!"},{"location":"community/join/#subscribe-to-our-google-calendar","text":"On our Google calendar we post regular occurring meetings and any impromptu events like social events, emergency repairs, site visits, etc. This is one of the only places to find out about the meetings our various teams are having! Join using one of these options: Use this link that should prompt you to add the calendar to your Google account Use this ICS file to manually add the calendar via the iCalendar format. View the calendar here","title":"Subscribe to our Google calendar!"},{"location":"community/join/#follow-our-social-media","text":"Our social media team makes posts about upcoming meetings, social events, and they also occasionally make educational posts! Don't miss out and follow us on Instagram , Facebook , and Twitter .","title":"Follow our social media!"},{"location":"community/join/#visit-our-space","text":"","title":"Visit our Space!"},{"location":"community/mission-vision-values/","text":"Mission, Vision, and Values Mission LCL seeks to democratize knowledge, skills, and resources to enable people to establish and run their own local, community-centered, and community-owned Internet access networks and digital infrastructure. Vision We envision a world where no one is excluded from access to the Internet, and where anyone can achieve the expertise and capability to bring communications infrastructure to their community and improve their quality of life. Values We value the ability to access the Internet and all public information and digital resources therein as a human right. - Digital privacy of our users and partner organizations - Collaboration, especially with the communities and organizations we work with - Care, consideration, allyship, and peer mentorship between individuals within our organization - Education, sharing, and capacity-building- emphasize teaching and dissemination of information and skills - Openness, transparency, and accountability of our organization and its processes - Democratization and inclusiveness of decision processes among stakeholders - Long-term sustainability of our technology deployments and community structures - Equity in planning for resource allocation, programming, and contribution","title":"Mission, Vision, Values"},{"location":"community/mission-vision-values/#mission-vision-and-values","text":"","title":"Mission, Vision, and Values"},{"location":"community/mission-vision-values/#mission","text":"LCL seeks to democratize knowledge, skills, and resources to enable people to establish and run their own local, community-centered, and community-owned Internet access networks and digital infrastructure.","title":"Mission"},{"location":"community/mission-vision-values/#vision","text":"We envision a world where no one is excluded from access to the Internet, and where anyone can achieve the expertise and capability to bring communications infrastructure to their community and improve their quality of life.","title":"Vision"},{"location":"community/mission-vision-values/#values","text":"We value the ability to access the Internet and all public information and digital resources therein as a human right. - Digital privacy of our users and partner organizations - Collaboration, especially with the communities and organizations we work with - Care, consideration, allyship, and peer mentorship between individuals within our organization - Education, sharing, and capacity-building- emphasize teaching and dissemination of information and skills - Openness, transparency, and accountability of our organization and its processes - Democratization and inclusiveness of decision processes among stakeholders - Long-term sustainability of our technology deployments and community structures - Equity in planning for resource allocation, programming, and contribution","title":"Values"},{"location":"community/partners/","text":"Our Partners Althea API Chaya (WiFi is a Lifeline) Black Brilliance Research Project Breakfast Group Cham Refugees Community City of Seattle IT Filipino Community of Seattle King County Library System Oromo Cultural Center Seattle Public Schools Tacoma Cooperative Network Tacoma Public Library University of Washington","title":"Our Partners"},{"location":"community/partners/#our-partners","text":"Althea API Chaya (WiFi is a Lifeline) Black Brilliance Research Project Breakfast Group Cham Refugees Community City of Seattle IT Filipino Community of Seattle King County Library System Oromo Cultural Center Seattle Public Schools Tacoma Cooperative Network Tacoma Public Library University of Washington","title":"Our Partners"},{"location":"community/teams/","text":"Join a Team As a volunteer-run community network, we are always in need of extra hands. If you're interested in helping out, check out what our teams are working on here! Feel free to have informational meetings with the respective team leads to learn more about how you can help. There's no commitment required and we welcome you to take on as much work as you have the capacity for. Outreach Our outreach team is responsible for finding new site host partners, finding users, and maintaining communications with our current partners. Message the #outreach channel in Discord and contact Esther Jang to learn more about how you can get involved. This is the perfect team for you if any of the following apply to you: Experience with community organizing Have community connections in the Greater Seattle Area Have cultural humility and experience partnering with marginalized communities Have the ability to translate and/or interpret into non-English languages common in the Seattle area such as Spanish, Vietnamese, Somali, Oromo, Khmer, and more. As of July 2021, the primary objective of the outreach team is to get connected with users for our network sites that fit any of the following criteria: Unemployed Seniors Housing-unstable or houseless Non-English speaking Social Media Our social media team is in charge of our various accounts on Instagram , Facebook , and Twitter . They also develop branding and marketing materials for our various projects. Message the #social-media channel in Discord and contact Firn Tieanklin to learn more about how you can get involved. You should join this team if you have experience in or are interested in practicing any of the following skills/technologies: - Canva - Design - Marketing - Photography/Videography Web Development Our web development team is working on redesigning and developing our new website. Message the #website channel in Discord to learn more about how you can get involved. You should join this team if you have experience in or are interested in learning any of the following skills/technologies: HTML/CSS Javascript Bootstrap React Redux Web Design (Using Figma) Mobile App Development Our mobile app development team is currently developing an Android app to record cell network performance metrics during our field tests. Message the #measurement channel in Discord and contact Zhennan Zhou to learn more about how you can get involved. You should join this team if you have experience in or are interested in learning any of the following skills/technologies: Android app development iOS app development Java Object oriented programming Open source development, Git, and GitHub Education Our education team plays a core role in our community networks as they enable our networks to be community-owned and operated. The education team is responsible for developing educational materials, running workshops, and teaching our Digital Steward cohorts. Message the #digital-stewards channel in Discord and contact Esther Jang to learn more about how you can get involved. You should join this team if you have experience in or are interested in learning any of the following skills/technologies: Teaching Curriculum development Computer networks, LTE networks, and community networks Linux Community organizing Fundraising Our fundraising team is currently setting up a crowdfunding platform to raise money for various expenses that this project requires. Our fundraising team is also working on applying for various community grants and research grants. Message the #funding channel in Discord and contact Esther Jang to learn more about how you can get involved. Accounting & Legal Local Connectivity Lab, the nonprofit organizing that is incubating this project, often runs into accounting and legal challenges. If you are willing to provide pro bono services to benefit the community network, please contact Esther Jang at lcl@seattlecommunitynetwork.org.","title":"Join a Team"},{"location":"community/teams/#join-a-team","text":"As a volunteer-run community network, we are always in need of extra hands. If you're interested in helping out, check out what our teams are working on here! Feel free to have informational meetings with the respective team leads to learn more about how you can help. There's no commitment required and we welcome you to take on as much work as you have the capacity for.","title":"Join a Team"},{"location":"community/teams/#outreach","text":"Our outreach team is responsible for finding new site host partners, finding users, and maintaining communications with our current partners. Message the #outreach channel in Discord and contact Esther Jang to learn more about how you can get involved. This is the perfect team for you if any of the following apply to you: Experience with community organizing Have community connections in the Greater Seattle Area Have cultural humility and experience partnering with marginalized communities Have the ability to translate and/or interpret into non-English languages common in the Seattle area such as Spanish, Vietnamese, Somali, Oromo, Khmer, and more. As of July 2021, the primary objective of the outreach team is to get connected with users for our network sites that fit any of the following criteria: Unemployed Seniors Housing-unstable or houseless Non-English speaking","title":"Outreach"},{"location":"community/teams/#social-media","text":"Our social media team is in charge of our various accounts on Instagram , Facebook , and Twitter . They also develop branding and marketing materials for our various projects. Message the #social-media channel in Discord and contact Firn Tieanklin to learn more about how you can get involved. You should join this team if you have experience in or are interested in practicing any of the following skills/technologies: - Canva - Design - Marketing - Photography/Videography","title":"Social Media"},{"location":"community/teams/#web-development","text":"Our web development team is working on redesigning and developing our new website. Message the #website channel in Discord to learn more about how you can get involved. You should join this team if you have experience in or are interested in learning any of the following skills/technologies: HTML/CSS Javascript Bootstrap React Redux Web Design (Using Figma)","title":"Web Development"},{"location":"community/teams/#mobile-app-development","text":"Our mobile app development team is currently developing an Android app to record cell network performance metrics during our field tests. Message the #measurement channel in Discord and contact Zhennan Zhou to learn more about how you can get involved. You should join this team if you have experience in or are interested in learning any of the following skills/technologies: Android app development iOS app development Java Object oriented programming Open source development, Git, and GitHub","title":"Mobile App Development"},{"location":"community/teams/#education","text":"Our education team plays a core role in our community networks as they enable our networks to be community-owned and operated. The education team is responsible for developing educational materials, running workshops, and teaching our Digital Steward cohorts. Message the #digital-stewards channel in Discord and contact Esther Jang to learn more about how you can get involved. You should join this team if you have experience in or are interested in learning any of the following skills/technologies: Teaching Curriculum development Computer networks, LTE networks, and community networks Linux Community organizing","title":"Education"},{"location":"community/teams/#fundraising","text":"Our fundraising team is currently setting up a crowdfunding platform to raise money for various expenses that this project requires. Our fundraising team is also working on applying for various community grants and research grants. Message the #funding channel in Discord and contact Esther Jang to learn more about how you can get involved.","title":"Fundraising"},{"location":"community/teams/#accounting-legal","text":"Local Connectivity Lab, the nonprofit organizing that is incubating this project, often runs into accounting and legal challenges. If you are willing to provide pro bono services to benefit the community network, please contact Esther Jang at lcl@seattlecommunitynetwork.org.","title":"Accounting & Legal"},{"location":"community/tech-help/","text":"Community Tech Help There are several ways to get community-based tech support from the SCN community, such as the Help Desk . You can use any of these methods to request Internet service from us, request general technology or computer help, or contact us about any other topic. Join our Discord! The FASTEST way to get support will be to join the #support channel on our Discord , a messaging platform that we use to organize. Follow these steps to join Discord: Join our Discord server via the invite link. You will need to log in or create an account to join, and a moderator will need to assign you a role before you are allowed to join permanently. Install Discord for your computer , Android , or iOS device to stay up-to-date on conversations. When posting to the #support channel, describe your question or problem in as much detail as you can. Someone from the community will most likely respond within a few hours. If you would like to get to know the community, introduce yourself in the #introductions channel! How did you hear about SCN and why are you interested? (More complete instructions can be found here ). Community-Run Help Desk The Seattle Community Network organizes a community-run tech help desk supported by the Black Brilliance Research Project's (BBR's) Digital Stewards Program and the Filipino Community of Seattle (FCS). Our current in-person help desk hours are on Fridays at 3-5 pm starting on 2/18/2022, located in the Filipino Community Village Integrated Learning Center (ILC) . Filipino Community Village Integrated Learning Center address: 5727 37th Ave S, Seattle, WA 98118 Our help desk is best-effort and mainly volunteer-based, so our virtual hours availability may be highly variable. Please check our available hours and sign up for an appointment slot using the calendar link below if you can (or contact us another way if that doesn't work), as it helps the volunteers plan for our time. However, you may also drop in during our scheduled calendar hours without an appointment. Our Help Desk Calendar : You can sign up for an appointment slot for any staffed volunteer hours indicated on the calendar. Phone Number (Voicemail-only except during staffed Community Tech Help hours): (253) 655-7221 You may also send text messages to this number, which will be checked during staffed hours. Inquiries about getting connected to our Internet service can also be sent here. Email address for general Tech Support: support@seattlecommunitynetwork.org Email address for SCN Internet service-related support: help@seattlecommunitynetwork.org Help Desk Volunteers We are actively recruiting more volunteers to help us run the help desk virtually, whenever and wherever that you are available. Join our team by simply signing up on this interest form , we need you! Please let us know if you have additional questions or concerns in the #support channel on our Discord . Documentation As always, please do not hesitate to consult our docs for any information, or submit an issue on the docs site github if there is information missing that you would like to see. Also feel free to message the Discord for the same purpose.","title":"Community Tech Help"},{"location":"community/tech-help/#community-tech-help","text":"There are several ways to get community-based tech support from the SCN community, such as the Help Desk . You can use any of these methods to request Internet service from us, request general technology or computer help, or contact us about any other topic.","title":"Community Tech Help"},{"location":"community/tech-help/#join-our-discord","text":"The FASTEST way to get support will be to join the #support channel on our Discord , a messaging platform that we use to organize.","title":"Join our Discord!"},{"location":"community/tech-help/#follow-these-steps-to-join-discord","text":"Join our Discord server via the invite link. You will need to log in or create an account to join, and a moderator will need to assign you a role before you are allowed to join permanently. Install Discord for your computer , Android , or iOS device to stay up-to-date on conversations. When posting to the #support channel, describe your question or problem in as much detail as you can. Someone from the community will most likely respond within a few hours. If you would like to get to know the community, introduce yourself in the #introductions channel! How did you hear about SCN and why are you interested? (More complete instructions can be found here ).","title":"Follow these steps to join Discord:"},{"location":"community/tech-help/#community-run-help-desk","text":"The Seattle Community Network organizes a community-run tech help desk supported by the Black Brilliance Research Project's (BBR's) Digital Stewards Program and the Filipino Community of Seattle (FCS). Our current in-person help desk hours are on Fridays at 3-5 pm starting on 2/18/2022, located in the Filipino Community Village Integrated Learning Center (ILC) . Filipino Community Village Integrated Learning Center address: 5727 37th Ave S, Seattle, WA 98118 Our help desk is best-effort and mainly volunteer-based, so our virtual hours availability may be highly variable. Please check our available hours and sign up for an appointment slot using the calendar link below if you can (or contact us another way if that doesn't work), as it helps the volunteers plan for our time. However, you may also drop in during our scheduled calendar hours without an appointment. Our Help Desk Calendar : You can sign up for an appointment slot for any staffed volunteer hours indicated on the calendar. Phone Number (Voicemail-only except during staffed Community Tech Help hours): (253) 655-7221 You may also send text messages to this number, which will be checked during staffed hours. Inquiries about getting connected to our Internet service can also be sent here. Email address for general Tech Support: support@seattlecommunitynetwork.org Email address for SCN Internet service-related support: help@seattlecommunitynetwork.org","title":"Community-Run Help Desk"},{"location":"community/tech-help/#help-desk-volunteers","text":"We are actively recruiting more volunteers to help us run the help desk virtually, whenever and wherever that you are available. Join our team by simply signing up on this interest form , we need you! Please let us know if you have additional questions or concerns in the #support channel on our Discord .","title":"Help Desk Volunteers"},{"location":"community/tech-help/#documentation","text":"As always, please do not hesitate to consult our docs for any information, or submit an issue on the docs site github if there is information missing that you would like to see. Also feel free to message the Discord for the same purpose.","title":"Documentation"},{"location":"contribute/contribute/","text":"Contribute to SCN Docs Looking to help? If you wanna share resources and help improve our docs, this page will get you started! Our docs are designed so that anyone can contribute. If this page isn't enough, contact one of us and we'll be able to help you! Our documentation uses MkDocs ReadTheDocs theme (links at the bottom of the page) Editing process To edit this documentation you should: Get your own copy of the repo Modify the documentation in your own repo (for more information see section on Local Development) Submit a pull request Wait for someone to review and accept the request The rest of this page will explain all the details you need to know about the directory structure, markdown, and other quirks for editing this documentation. Make sure to read everything! Markdown files All our documentation is stored in 'Markdown' files so that they can be easily modified and changed without heavy technical knowledge. Markdown Editors A nice and simple online editor is StackEdit which will let you type in markdown and see what it would look like in realtime in split-screen. Another option is HackMD which has the same features as StackEdit but it also allows you to connect to your own GitHub repo and pull/push. This is a nice option if you are uncomfortable with using Git from the command line. Local Development Using MkDocs MkDocs is pretty simple, just install it through pip then you can run mkdocs serve to locally view the website it will generate. Documentation Directory Structure Each directory has a .site file that declares the order each file/folder in that directory will show up. Children pages are implicit in the directory structure Static Files If you need static files for any of your pages, you should put them in the assets folder within the top level docs folder For example, for the cable-crimping page, the images for the tutorial are located in the \"assets/cable-crimping\" folder. These images can then be referenced relatively with the following standard markdown image syntax: ![RJ45 Crimping Tool](../assets/cable-crimping/kit-crimping-tool.jpg)","title":"Contribute to SCN Docs"},{"location":"contribute/contribute/#contribute-to-scn-docs","text":"","title":"Contribute to SCN Docs"},{"location":"contribute/contribute/#looking-to-help","text":"If you wanna share resources and help improve our docs, this page will get you started! Our docs are designed so that anyone can contribute. If this page isn't enough, contact one of us and we'll be able to help you! Our documentation uses MkDocs ReadTheDocs theme (links at the bottom of the page)","title":"Looking to help?"},{"location":"contribute/contribute/#editing-process","text":"To edit this documentation you should: Get your own copy of the repo Modify the documentation in your own repo (for more information see section on Local Development) Submit a pull request Wait for someone to review and accept the request The rest of this page will explain all the details you need to know about the directory structure, markdown, and other quirks for editing this documentation. Make sure to read everything!","title":"Editing process"},{"location":"contribute/contribute/#markdown-files","text":"All our documentation is stored in 'Markdown' files so that they can be easily modified and changed without heavy technical knowledge.","title":"Markdown files"},{"location":"contribute/contribute/#markdown-editors","text":"A nice and simple online editor is StackEdit which will let you type in markdown and see what it would look like in realtime in split-screen. Another option is HackMD which has the same features as StackEdit but it also allows you to connect to your own GitHub repo and pull/push. This is a nice option if you are uncomfortable with using Git from the command line.","title":"Markdown Editors"},{"location":"contribute/contribute/#local-development","text":"","title":"Local Development"},{"location":"contribute/contribute/#using-mkdocs","text":"MkDocs is pretty simple, just install it through pip then you can run mkdocs serve to locally view the website it will generate.","title":"Using MkDocs"},{"location":"contribute/contribute/#documentation-directory-structure","text":"Each directory has a .site file that declares the order each file/folder in that directory will show up. Children pages are implicit in the directory structure","title":"Documentation Directory Structure"},{"location":"contribute/contribute/#static-files","text":"If you need static files for any of your pages, you should put them in the assets folder within the top level docs folder For example, for the cable-crimping page, the images for the tutorial are located in the \"assets/cable-crimping\" folder. These images can then be referenced relatively with the following standard markdown image syntax: ![RJ45 Crimping Tool](../assets/cable-crimping/kit-crimping-tool.jpg)","title":"Static Files"},{"location":"faq/about/","text":"About Seattle Community Network Seattle Community Network (SCN) is a community network dedicated to providing fair access to underserved communities all across the Puget Sound. SCN is a project of Local Connectivity Lab, a 501(c)(3) registered non-profit that works to share free or low-cost broadband access in higher-need areas throughout the Puget Sound region, making use of existing network infrastructure such as buildings and fiber-optic cables to extend coverage to more people. As a community network, we rely on the help of local residents such as yourself to maintain and grow the network. Joining us is a great way to become an active member of your own community, make friends, and learn valuable technical skills.","title":"What is the Seattle Community Network?"},{"location":"faq/about/#about-seattle-community-network","text":"Seattle Community Network (SCN) is a community network dedicated to providing fair access to underserved communities all across the Puget Sound. SCN is a project of Local Connectivity Lab, a 501(c)(3) registered non-profit that works to share free or low-cost broadband access in higher-need areas throughout the Puget Sound region, making use of existing network infrastructure such as buildings and fiber-optic cables to extend coverage to more people. As a community network, we rely on the help of local residents such as yourself to maintain and grow the network. Joining us is a great way to become an active member of your own community, make friends, and learn valuable technical skills.","title":"About Seattle Community Network"},{"location":"faq/connection/","text":"How do I get Internet from the Seattle Community Network? Eligibility The Seattle Community Network exists to provide free or low-cost internet to low-income and in-need users. We prioritize serving the following groups: low-income families of students unemployed adults (looking for work) majority non-English speaking adults/families seniors Registration To connect to the internet through the Seattle Community Network, you will need to register with us. To register, you can: - Email lcl@seattlecommunitynetwork.org - Contact us by phone at (253) 655-7221 and leaving a voice mail or text. Hardware Once your registration is processed, you will receive the necessary hardware to connect to the network.","title":"How do I get Internet?"},{"location":"faq/connection/#how-do-i-get-internet-from-the-seattle-community-network","text":"","title":"How do I get Internet from the Seattle Community Network?"},{"location":"faq/connection/#eligibility","text":"The Seattle Community Network exists to provide free or low-cost internet to low-income and in-need users. We prioritize serving the following groups: low-income families of students unemployed adults (looking for work) majority non-English speaking adults/families seniors","title":"Eligibility"},{"location":"faq/connection/#registration","text":"To connect to the internet through the Seattle Community Network, you will need to register with us. To register, you can: - Email lcl@seattlecommunitynetwork.org - Contact us by phone at (253) 655-7221 and leaving a voice mail or text.","title":"Registration"},{"location":"faq/connection/#hardware","text":"Once your registration is processed, you will receive the necessary hardware to connect to the network.","title":"Hardware"},{"location":"faq/help/","text":"How can I Help? Volunteer! SCN is run completely by volunteers. There are many ways you can help, and no technology skills are required. We need help with everything from setting up network hardware and developing software to community outreach and fundraising. If you want to help, we can use your talents! First, make sure you get connected with our community . Next, why not Join a Team or Contribute to SCN Docs ?","title":"How can I Help?"},{"location":"faq/help/#how-can-i-help","text":"","title":"How can I Help?"},{"location":"faq/help/#volunteer","text":"SCN is run completely by volunteers. There are many ways you can help, and no technology skills are required. We need help with everything from setting up network hardware and developing software to community outreach and fundraising. If you want to help, we can use your talents! First, make sure you get connected with our community . Next, why not Join a Team or Contribute to SCN Docs ?","title":"Volunteer!"},{"location":"faq/how/","text":"How Does the Seattle Community Network Work? The Seattle Community Network partners with the University of Washington to share free or low-cost internet access with areas of higher need. The Seattle Community Network (SCN) is a wireless Internet access network using 4G LTE and WiFi technologies, providing public access from partner locations such as libraries, schools, businesses, and community centers. The Internet connection at these sites is shared wirelessly to nearby devices using the 4G LTE (cell-phone) data standard, which can be used by certain phones and hotspots (also known as Customer Premises Equipment or CPE). Individual users can connect to this signal using SCN-provided (or other compatible) devices to create a local WiFi network in their home. Some of our installed sites utilize a portion of the University of Washington's internet bandwidth, sharing it out to further neighborhoods via point-to-point wireless links. Some sites use other upstream internet service providers (ISPs) such as Lumen. The network is completely created, managed, and maintained by volunteers with a range of diverse skills in information technology and beyond. All infrastructure is paid for by generous donations from sponsors and the public. Speaking of which, why not volunteer or donate ?","title":"How does SCN Work?"},{"location":"faq/how/#how-does-the-seattle-community-network-work","text":"The Seattle Community Network partners with the University of Washington to share free or low-cost internet access with areas of higher need. The Seattle Community Network (SCN) is a wireless Internet access network using 4G LTE and WiFi technologies, providing public access from partner locations such as libraries, schools, businesses, and community centers. The Internet connection at these sites is shared wirelessly to nearby devices using the 4G LTE (cell-phone) data standard, which can be used by certain phones and hotspots (also known as Customer Premises Equipment or CPE). Individual users can connect to this signal using SCN-provided (or other compatible) devices to create a local WiFi network in their home. Some of our installed sites utilize a portion of the University of Washington's internet bandwidth, sharing it out to further neighborhoods via point-to-point wireless links. Some sites use other upstream internet service providers (ISPs) such as Lumen. The network is completely created, managed, and maintained by volunteers with a range of diverse skills in information technology and beyond. All infrastructure is paid for by generous donations from sponsors and the public. Speaking of which, why not volunteer or donate ?","title":"How Does the Seattle Community Network Work?"},{"location":"faq/site/","text":"About This Website The Seattle Community Network Docs website is the central hub for information about our community and networks. Here, we describe our infrastructure, how to set-up hardware and software, how you can start your own community network, our community rules, and more. This website is maintained by our volunteers, much like the rest of our services. This means you can help us improve it by adding missing information, clarifying confusing points, or even just fixing typos you notice while you\u2019re reading. See Contribute to SCN Docs to learn more about how you can contribute to this website. If you are looking for our main website, it is located at www.seattlecommunitynetwork.org .","title":"What is this site?"},{"location":"faq/site/#about-this-website","text":"The Seattle Community Network Docs website is the central hub for information about our community and networks. Here, we describe our infrastructure, how to set-up hardware and software, how you can start your own community network, our community rules, and more. This website is maintained by our volunteers, much like the rest of our services. This means you can help us improve it by adding missing information, clarifying confusing points, or even just fixing typos you notice while you\u2019re reading. See Contribute to SCN Docs to learn more about how you can contribute to this website. If you are looking for our main website, it is located at www.seattlecommunitynetwork.org .","title":"About This Website"},{"location":"faq/what/","text":"What is a Community Network? \"Community Networks (CNs) are crowd-sourced collaborative networks, developed in a bottom-up fashion by groups of individuals \u2013 i.e. communities \u2013 that design, develop and manage the network infrastructure as a common resource. Importantly, at the centre of CNs and the socio-economic ecosystems they generate lay the communities and their members, who are essential to initiate, maintain and guarantee the success of these connectivity efforts.\" Source: Building Community Network Policies: A Collaborative Governance towards Enabling Frameworks","title":"What is a Community Network?"},{"location":"faq/what/#what-is-a-community-network","text":"\"Community Networks (CNs) are crowd-sourced collaborative networks, developed in a bottom-up fashion by groups of individuals \u2013 i.e. communities \u2013 that design, develop and manage the network infrastructure as a common resource. Importantly, at the centre of CNs and the socio-economic ecosystems they generate lay the communities and their members, who are essential to initiate, maintain and guarantee the success of these connectivity efforts.\" Source: Building Community Network Policies: A Collaborative Governance towards Enabling Frameworks","title":"What is a Community Network?"},{"location":"faq/why/","text":"Why Have a Community Network? Internet access is a foundational component of many aspects of modern life, nearly as important as electricity and water service. Though internet service is generally available in many areas of the United States, there are still areas that are underserved because of a variety of geographic and socio-economic factors, or simply because traditional internet service providers do not find it profitable to install and maintain the necessary infrastructure to serve some areas with adequate internet. Community networks attempt to address this digital divide by connecting underserved communities. Because a community network is created, managed, and maintained by volunteers, it is able to serve areas that may not have other affordable internet options.","title":"Why have a Community Network?"},{"location":"faq/why/#why-have-a-community-network","text":"Internet access is a foundational component of many aspects of modern life, nearly as important as electricity and water service. Though internet service is generally available in many areas of the United States, there are still areas that are underserved because of a variety of geographic and socio-economic factors, or simply because traditional internet service providers do not find it profitable to install and maintain the necessary infrastructure to serve some areas with adequate internet. Community networks attempt to address this digital divide by connecting underserved communities. Because a community network is created, managed, and maintained by volunteers, it is able to serve areas that may not have other affordable internet options.","title":"Why Have a Community Network?"},{"location":"infrastructure/epc-setup/","text":"Step 1: CoLTE/EPC (LTE Core Network) Setup Our core networks use the CoLTE project maintained by the UW ICTD Lab . For information on how to install and configure CoLTE, visit the tutorial we wrote with them!","title":"Step 1. LTE Core Network Setup"},{"location":"infrastructure/epc-setup/#step-1-colteepc-lte-core-network-setup","text":"Our core networks use the CoLTE project maintained by the UW ICTD Lab . For information on how to install and configure CoLTE, visit the tutorial we wrote with them!","title":"Step 1: CoLTE/EPC (LTE Core Network) Setup"},{"location":"infrastructure/hardware/","text":"Our Hardware This page will be an overview of some of the core pieces of hardware that we use to deploy our sites. This page is in development, please contact us at lcl@seattlecommunitynetwork.org if you would like to learn more about the hardware we use. TODO Network Site Equipment Base Station (eNodeB) Baicells Nova 233 3.5GHz 1W Gen2 More info here Panel Antennas (eNodeB) Alpha Wireless, 3.3-3.8GHz, 2x2 MIMO, 18dBi, +/-45\u00b0, 65\u00b0 More info here Core Network Computer (EPC) Qotom Mini PC Q190G4N S07 Key features: - 4 ethernet ports - designed to be run 24/7 - small and quiet - cheap More info here User Access Devices LTE Consumer Premises Equipment (CPE) Baicells Atom OD04 3.5GHz 14dBi More info here Outdoor WiFi Router Mikrotik OmniTIK 5 PoE ac Outdoor router of choice for NYC Mesh, so it has been tried and tested. Good balance of quality and price. More info here Home WiFi Router TP-Link Archer A5 Router More info here CBRS-Compatible Unlocked Smartphone We purchase refurbished Google Pixel 4 smartphones because they are affordable, provide all necessary smartphone features, and are CBRS-compatible. Note that purchasing CBRS-compatible phones can be a logistical challenge. We've experienced trouble purchasing from vendors that send incorrect models of phones that don't support CBRS band and we had to go back and forth. Test your phones before distributing them! Here is one spot to purchase refurbished phones.","title":"Hardware Overview"},{"location":"infrastructure/hardware/#our-hardware","text":"This page will be an overview of some of the core pieces of hardware that we use to deploy our sites. This page is in development, please contact us at lcl@seattlecommunitynetwork.org if you would like to learn more about the hardware we use.","title":"Our Hardware"},{"location":"infrastructure/hardware/#todo","text":"","title":"TODO"},{"location":"infrastructure/hardware/#network-site-equipment","text":"","title":"Network Site Equipment"},{"location":"infrastructure/hardware/#base-station-enodeb","text":"Baicells Nova 233 3.5GHz 1W Gen2 More info here","title":"Base Station (eNodeB)"},{"location":"infrastructure/hardware/#panel-antennas-enodeb","text":"Alpha Wireless, 3.3-3.8GHz, 2x2 MIMO, 18dBi, +/-45\u00b0, 65\u00b0 More info here","title":"Panel Antennas (eNodeB)"},{"location":"infrastructure/hardware/#core-network-computer-epc","text":"Qotom Mini PC Q190G4N S07 Key features: - 4 ethernet ports - designed to be run 24/7 - small and quiet - cheap More info here","title":"Core Network Computer (EPC)"},{"location":"infrastructure/hardware/#user-access-devices","text":"","title":"User Access Devices"},{"location":"infrastructure/hardware/#lte-consumer-premises-equipment-cpe","text":"Baicells Atom OD04 3.5GHz 14dBi More info here","title":"LTE Consumer Premises Equipment (CPE)"},{"location":"infrastructure/hardware/#outdoor-wifi-router","text":"Mikrotik OmniTIK 5 PoE ac Outdoor router of choice for NYC Mesh, so it has been tried and tested. Good balance of quality and price. More info here","title":"Outdoor WiFi Router"},{"location":"infrastructure/hardware/#home-wifi-router","text":"TP-Link Archer A5 Router More info here","title":"Home WiFi Router"},{"location":"infrastructure/hardware/#cbrs-compatible-unlocked-smartphone","text":"We purchase refurbished Google Pixel 4 smartphones because they are affordable, provide all necessary smartphone features, and are CBRS-compatible. Note that purchasing CBRS-compatible phones can be a logistical challenge. We've experienced trouble purchasing from vendors that send incorrect models of phones that don't support CBRS band and we had to go back and forth. Test your phones before distributing them! Here is one spot to purchase refurbished phones.","title":"CBRS-Compatible Unlocked Smartphone"},{"location":"infrastructure/librenms-manager-setup/","text":"LibreNMS Network Manager Configuration Seattle Community Networks uses SNMP to monitor network nodes. LibreNMS is used for Network Management, Dashboard generation and Alerting. LibreNMS Manager Installation: Install LibreNMS Install and Configure LibreNMS on Ubuntu with nginx Network-Specific Configuration: Change active user to librenms: sudo su - librenms Edit /opt/librenms/config.php: '); $config['auth_mechanism'] = \"mysql\"; # default, other options: ldap, http-auth $config['nets'][] = \"10.0.0.0/24\"; # Replace with your Management Network Subdomain $config['rrd_purge'] = 0; $config['enable_billing'] = 1; $config['show_services'] = 1; As user 'librenms', run /opt/librenms/snmp-scan.php, to scan the configured network for snmp hosts Adding Baicells OS configuration to LibreNMS As user 'librenms' on the librenms server, create the following files and update their contents accordingly: * For OS detection, ~librenms/includes/definitions/rts.yaml: os: rts text: 'Baicells RTS' type: network icon: rts over: - { graph: device_bits, text: 'Device Traffic' } - { graph: device_processor, text: 'CPU Usage' } - { graph: device_mempool, text: 'Memory Usage' } discovery: - sysDescr: - 'CELL' For defining custom RTS OS sensors, ~librenms/includes/definitions/discovery/rts.yaml: mib: BAICELLS-MIB modules: os: hardware: BAICELLS-MIB::hardwareVersion.0 serial: BAICELLS-MIB::sn.0 version: BAICELLS-MIB::softwareVersion.0 sensors: count: data: - oid: ulThroughput num_oid: '.1.3.6.1.4.1.53058.190.7.{{ $index }}' descr: 'Upload Throughput' group: 'Throughput' index: 'ulthroughput.{{ $index }}' - oid: dlThroughput num_oid: '.1.3.6.1.4.1.53058.190.8.{{ $index }}' descr: 'Download Throughput' group: 'Throughput' index: 'dlThroughput.{{ $index }}' - oid: ulPrbUtilization num_oid: '.1.3.6.1.4.1.53058.190.9.{{ $index }}' descr: 'Upload PRB Utilization' group: 'Utilization' index: 'ulPrbUtilization{{ $index }}' - oid: dlPrbUtilization num_oid: '.1.3.6.1.4.1.53058.190.10.{{ $index }}' descr: 'Download PRB Utilization' group: 'Utilization' index: 'dlPrbUtilization.{{ $index }}' frequency: data: - oid: carrierBwMhz num_oid: '.1.3.6.1.4.1.53058.100.7.{{ $index }}' divisor: 5 descr: 'Carrier Bandwidth' index: 'carrierBwMhz.{{ $index }}' percent: data: - oid: eRABEstablishSuccessRate num_oid: '.1.3.6.1.4.1.53058.190.3.{{ $index }}' descr: 'ERAB Establishment Success Rate' group: 'LTE' index: 'eRABEstablishSuccessRate.{{ $index }}' - oid: hoSuccInterEnbS1Rate num_oid: '.1.3.6.1.4.1.53058.190.4.{{ $index }}' descr: 'Inter MME S1 Handover Success Rate' group: 'LTE' index: 'heSuccInterEnbS1Rate.{{ $index }}' - oid: hoSuccInterEnbRate num_oid: '.1.3.6.1.4.1.53058.190.5.{{ $index }}' descr: 'Inter MME Handover Success Rate' group: 'LTE' index: 'hoSuccInterEnbRate.{{ $index }}' - oid: rrcBuildSuccessRate num_oid: '.1.3.6.1.4.1.53058.190.6.{{ $index }}' descr: 'RRC Build Success Rate' group: 'LTE' index: 'rrcBuildSuccessRate.{{ $index }}' For defining a custom OS class to use Wireless sensors, ~librenms/LibreNMS/OS/Rts.php (note: pay attention to capitalization) getDeviceId(), $oid, 'rts', 1, 'UE Connections') ); } } A nice looking logo, ~librenms/html/images/os/rts.png Download an example Baicells Logo Here Download the baicells mib from this link , and save it to ~librenms/mibs/BAICELLS-MIB (note: no file extension)","title":"Network Monitoring 1. LibreNMS Network Manager Configuration"},{"location":"infrastructure/librenms-manager-setup/#librenms-network-manager-configuration","text":"Seattle Community Networks uses SNMP to monitor network nodes. LibreNMS is used for Network Management, Dashboard generation and Alerting.","title":"LibreNMS Network Manager Configuration"},{"location":"infrastructure/librenms-manager-setup/#librenms-manager-installation","text":"Install LibreNMS Install and Configure LibreNMS on Ubuntu with nginx","title":"LibreNMS Manager Installation:"},{"location":"infrastructure/librenms-manager-setup/#network-specific-configuration","text":"Change active user to librenms: sudo su - librenms Edit /opt/librenms/config.php: '); $config['auth_mechanism'] = \"mysql\"; # default, other options: ldap, http-auth $config['nets'][] = \"10.0.0.0/24\"; # Replace with your Management Network Subdomain $config['rrd_purge'] = 0; $config['enable_billing'] = 1; $config['show_services'] = 1; As user 'librenms', run /opt/librenms/snmp-scan.php, to scan the configured network for snmp hosts","title":"Network-Specific Configuration:"},{"location":"infrastructure/librenms-manager-setup/#adding-baicells-os-configuration-to-librenms","text":"As user 'librenms' on the librenms server, create the following files and update their contents accordingly: * For OS detection, ~librenms/includes/definitions/rts.yaml: os: rts text: 'Baicells RTS' type: network icon: rts over: - { graph: device_bits, text: 'Device Traffic' } - { graph: device_processor, text: 'CPU Usage' } - { graph: device_mempool, text: 'Memory Usage' } discovery: - sysDescr: - 'CELL' For defining custom RTS OS sensors, ~librenms/includes/definitions/discovery/rts.yaml: mib: BAICELLS-MIB modules: os: hardware: BAICELLS-MIB::hardwareVersion.0 serial: BAICELLS-MIB::sn.0 version: BAICELLS-MIB::softwareVersion.0 sensors: count: data: - oid: ulThroughput num_oid: '.1.3.6.1.4.1.53058.190.7.{{ $index }}' descr: 'Upload Throughput' group: 'Throughput' index: 'ulthroughput.{{ $index }}' - oid: dlThroughput num_oid: '.1.3.6.1.4.1.53058.190.8.{{ $index }}' descr: 'Download Throughput' group: 'Throughput' index: 'dlThroughput.{{ $index }}' - oid: ulPrbUtilization num_oid: '.1.3.6.1.4.1.53058.190.9.{{ $index }}' descr: 'Upload PRB Utilization' group: 'Utilization' index: 'ulPrbUtilization{{ $index }}' - oid: dlPrbUtilization num_oid: '.1.3.6.1.4.1.53058.190.10.{{ $index }}' descr: 'Download PRB Utilization' group: 'Utilization' index: 'dlPrbUtilization.{{ $index }}' frequency: data: - oid: carrierBwMhz num_oid: '.1.3.6.1.4.1.53058.100.7.{{ $index }}' divisor: 5 descr: 'Carrier Bandwidth' index: 'carrierBwMhz.{{ $index }}' percent: data: - oid: eRABEstablishSuccessRate num_oid: '.1.3.6.1.4.1.53058.190.3.{{ $index }}' descr: 'ERAB Establishment Success Rate' group: 'LTE' index: 'eRABEstablishSuccessRate.{{ $index }}' - oid: hoSuccInterEnbS1Rate num_oid: '.1.3.6.1.4.1.53058.190.4.{{ $index }}' descr: 'Inter MME S1 Handover Success Rate' group: 'LTE' index: 'heSuccInterEnbS1Rate.{{ $index }}' - oid: hoSuccInterEnbRate num_oid: '.1.3.6.1.4.1.53058.190.5.{{ $index }}' descr: 'Inter MME Handover Success Rate' group: 'LTE' index: 'hoSuccInterEnbRate.{{ $index }}' - oid: rrcBuildSuccessRate num_oid: '.1.3.6.1.4.1.53058.190.6.{{ $index }}' descr: 'RRC Build Success Rate' group: 'LTE' index: 'rrcBuildSuccessRate.{{ $index }}' For defining a custom OS class to use Wireless sensors, ~librenms/LibreNMS/OS/Rts.php (note: pay attention to capitalization) getDeviceId(), $oid, 'rts', 1, 'UE Connections') ); } } A nice looking logo, ~librenms/html/images/os/rts.png Download an example Baicells Logo Here Download the baicells mib from this link , and save it to ~librenms/mibs/BAICELLS-MIB (note: no file extension)","title":"Adding Baicells OS configuration to LibreNMS"},{"location":"infrastructure/librenms-setup/","text":"LibreNMS Agent Configuration Adding a New Node to LibreNMS Both the eNodeB and the ePC must be configured individually in order for them to report statistics to the SNMP Manager. Since the eNodeB is not directly accessible from the management VPN, we configure an SNMP proxy on the ePC to pass SNMP statistics to the Management host. ePC SNMP Configuration Install snmpd to the ePC node: $ sudo apt install snmpd Modify /etc/snmp/snmpd.conf: sysLocation