diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 5401b7f8..933c0c01 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -30,6 +30,14 @@ jobs: steps: - name: Checkout uses: actions/checkout@v3 + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: 20 + - name: Install Node deps + run: npm ci + - name: Compile typescript + run: npm run build - name: Setup Ruby uses: ruby/setup-ruby@v1 with: @@ -38,12 +46,12 @@ jobs: cache-version: 0 # Increment this number if you need to re-download cached gems - name: Setup Pages id: pages - uses: actions/configure-pages@v2 + uses: actions/configure-pages@v5 - run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" # defaults output to '/_site' env: JEKYLL_ENV: production - name: Upload artifact - uses: actions/upload-pages-artifact@v1 # This will automatically upload an artifact from the '/_site' directory + uses: actions/upload-pages-artifact@v3 # This will automatically upload an artifact from the '/_site' directory - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v1 + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/preview-pr.yaml b/.github/workflows/preview-pr.yaml new file mode 100644 index 00000000..f171f712 --- /dev/null +++ b/.github/workflows/preview-pr.yaml @@ -0,0 +1,47 @@ +name: preview-pr + +on: + pull_request_target: + types: [opened, reopened, synchronize] + +permissions: + pull-requests: write + +jobs: + authorize: + environment: + ${{ github.event_name == 'pull_request_target' && + github.event.pull_request.head.repo.full_name != github.repository && + 'external' || 'internal' }} + runs-on: ubuntu-latest + steps: + - run: "true" + + build: + needs: authorize + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.0' + bundler-cache: true + - run: bundle exec jekyll build --baseurl "" + - name: Publish to Cloudflare Pages + id: preview-pages + uses: cloudflare/pages-action@v1 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT }} + projectName: hack-gpon-preview + directory: _site + branch: preview + - uses: thollander/actions-comment-pull-request@v2 + with: + message: | + Preview of the website obtained from the PR: ${{ steps.preview-pages.outputs.url }} + diff --git a/.gitignore b/.gitignore index 7c68ae88..02a683b3 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,6 @@ _site/ .jekyll-cache/ .jekyll-metadata Gemfile.lock -assets/js/zzzz-search-data.json \ No newline at end of file +assets/js/zzzz-search-data.json +node_modules/ +assets/js/generated diff --git a/404.md b/404.md index e8be9b6b..dba17acb 100644 --- a/404.md +++ b/404.md @@ -8,7 +8,7 @@ description: Opps. The page you are looking for got lost. --- -

Those are not the ONT you are looking for. Try using the navigation {% if site.search_enabled != false %}or search {% endif %}to find what you're looking for or go to this site's home page.

+

This is not the ONT you are looking for. Try using the navigation bar {% if site.search_enabled != false %}or search {% endif %}to find what you're looking for or go to the website's home page.

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..7bf43f1c --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,151 @@ + +# Contributing to Hack-Gpon + +First off, thanks for taking the time to contribute! ❤️ + +All types of contributions are encouraged and valued. See the [Table of Contents](#table-of-contents) for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions. 🎉 + +> And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about: +> - Star the project +> - Tweet about it +> - Refer this project in your project's readme +> - Mention the project at local meetups and tell your friends/colleagues + + +## Table of Contents + +- [I Have a Question](#i-have-a-question) +- [I Want To Contribute](#i-want-to-contribute) + - [Reporting Bugs](#reporting-bugs) + - [Suggesting Enhancements](#suggesting-enhancements) + - [Your First Code Contribution](#your-first-code-contribution) + - [Improving The Documentation](#improving-the-documentation) +- [Styleguides](#styleguides) + - [Commit Messages](#commit-messages) +- [Join The Project Team](#join-the-project-team) + + + +## I Have a Question + +> If you want to ask a question, we assume that you have read the available [Documentation](https://hack-gpon.org/). + +Before you ask a question, it is best to search for existing [Issues](https://github.com/hack-gpon/hack-gpon.github.io/issues) that might help you. In case you have found a suitable issue and still need clarification, you can write your question in this issue. It is also advisable to search the internet for answers first. + +If you then still feel the need to ask a question and need clarification, we recommend the following: + +- Open an [Issue](https://github.com/hack-gpon/hack-gpon.github.io/issues/new). +- Provide as much context as you can about what you're running into. +- Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. + +We will then take care of the issue as soon as possible. + + + +## I Want To Contribute + +> ### Legal Notice +> When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license. + +### Reporting Bugs + + +#### Before Submitting a Bug Report + +A good bug report shouldn't leave others needing to chase you up for more information. Therefore, we ask you to investigate carefully, collect information and describe the issue in detail in your report. Please complete the following steps in advance to help us fix any potential bug as fast as possible. + +- Make sure that you are using the latest version. +- Determine if your bug is really a bug and not an error on your side e.g. using incompatible environment components/versions (Make sure that you have read the [documentation](https://hack-gpon.org/). If you are looking for support, you might want to check [this section](#i-have-a-question)). +- To see if other users have experienced (and potentially already solved) the same issue you are having, check if there is not already a bug report existing for your bug or error in the [bug tracker](https://github.com/hack-gpon/hack-gpon.github.ioissues?q=label%3Abug). +- Also make sure to search the internet (including Stack Overflow) to see if users outside of the GitHub community have discussed the issue. +- Collect information about the bug: + - Stack trace (Traceback) + - OS, Platform and Version (Windows, Linux, macOS, x86, ARM) + - Version of the interpreter, compiler, SDK, runtime environment, package manager, depending on what seems relevant. + - Possibly your input and the output + - Can you reliably reproduce the issue? And can you also reproduce it with older versions? + + +#### How Do I Submit a Good Bug Report? + +> You must never report security related issues, vulnerabilities or bugs including sensitive information to the issue tracker, or elsewhere in public. Instead sensitive bugs must be sent by email to <>. + + +We use GitHub issues to track bugs and errors. If you run into an issue with the project: + +- Open an [Issue](https://github.com/hack-gpon/hack-gpon.github.io/issues/new). (Since we can't be sure at this point whether it is a bug or not, we ask you not to talk about a bug yet and not to label the issue.) +- Explain the behavior you would expect and the actual behavior. +- Please provide as much context as possible and describe the *reproduction steps* that someone else can follow to recreate the issue on their own. This usually includes your code. For good bug reports you should isolate the problem and create a reduced test case. +- Provide the information you collected in the previous section. + +Once it's filed: + +- The project team will label the issue accordingly. +- A team member will try to reproduce the issue with your provided steps. If there are no reproduction steps or no obvious way to reproduce the issue, the team will ask you for those steps and mark the issue as `needs-repro`. Bugs with the `needs-repro` tag will not be addressed until they are reproduced. +- If the team is able to reproduce the issue, it will be marked `needs-fix`, as well as possibly other tags (such as `critical`), and the issue will be left to be [implemented by someone](#your-first-code-contribution). + + + + +### Suggesting Enhancements + +This section guides you through submitting an enhancement suggestion for Hack-Gpon, **including completely new features and minor improvements to existing functionality**. Following these guidelines will help maintainers and the community to understand your suggestion and find related suggestions. + + +#### Before Submitting an Enhancement + +- Make sure that you are using the latest version. +- Read the [documentation](https://hack-gpon.org/) carefully and find out if the functionality is already covered, maybe by an individual configuration. +- Perform a [search](https://github.com/hack-gpon/hack-gpon.github.io/issues) to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one. +- Find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Keep in mind that we want features that will be useful to the majority of our users and not just a small subset. If you're just targeting a minority of users, consider writing an add-on/plugin library. + + +#### How Do I Submit a Good Enhancement Suggestion? + +Enhancement suggestions are tracked as [GitHub issues](https://github.com/hack-gpon/hack-gpon.github.io/issues). + +- Use a **clear and descriptive title** for the issue to identify the suggestion. +- Provide a **step-by-step description of the suggested enhancement** in as many details as possible. +- **Describe the current behavior** and **explain which behavior you expected to see instead** and why. At this point you can also tell which alternatives do not work for you. +- You may want to **include screenshots and animated GIFs** which help you demonstrate the steps or point out the part which the suggestion is related to. You can use [this tool](https://www.cockos.com/licecap/) to record GIFs on macOS and Windows, and [this tool](https://github.com/colinkeenan/silentcast) or [this tool](https://github.com/GNOME/byzanz) on Linux. +- **Explain why this enhancement would be useful** to most Hack-Gpon users. You may also want to point out the other projects that solved it better and which could serve as inspiration. + + + +### Your First Code Contribution + + +### Improving The Documentation + + +## Styleguides +### Commit Messages + + +## Join The Project Team + + + +## Attribution +This guide is based on the **contributing-gen**. [Make your own](https://github.com/bttger/contributing-gen)! diff --git a/Gemfile b/Gemfile index e4017f02..44a900a6 100644 --- a/Gemfile +++ b/Gemfile @@ -3,6 +3,7 @@ source "https://rubygems.org" gem "webrick" gem "rake" +gem "json" group :jekyll_plugins do gem "jekyll-last-modified-at" diff --git a/README.md b/README.md index 76902bca..e3debf9a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,12 @@ -# hack-gpon.github.io +``` + _ _ _ ____ ____ ___ _ _ +| | | | __ _ ___ | | __ / ___|| _ \ / _ \ | \ | | +| |_| | / _` | / __|| |/ / | | _ | |_) || | | || \| | +| _ || (_| || (__ | < | |_| || __/ | |_| || |\ | +|_| |_| \__,_| \___||_|\_\ \____||_| \___/ |_| \_| +``` +# Hack GPON Based on just-the-docs theme: - [GitHub](https://github.com/just-the-docs/just-the-docs) @@ -13,4 +20,14 @@ if you want to contribute there is something to be done: - theoretical information on GPON - absent stick information - quick start -- absent and new ont \ No newline at end of file +- absent and new ont + +## How to build +This website uses typescript, so remember to: + +- Install node (20) +- Run npm ci to install all relevant typescript packages +- Run npm run build to transpile ts to js + +Alternatively, you can just run: +`docker-compose up -d typescript` which will build all the required typescript files for you \ No newline at end of file diff --git a/_config.docker.yml b/_config.docker.yml new file mode 100644 index 00000000..8822b612 --- /dev/null +++ b/_config.docker.yml @@ -0,0 +1 @@ +url: "http://localhost:4000" diff --git a/_config.yml b/_config.yml index b4318b0b..c41c48f5 100644 --- a/_config.yml +++ b/_config.yml @@ -37,8 +37,6 @@ plugins: color_scheme: "auto" enable_switch_color_scheme: true enable_localstorage_color_scheme: true - -url: "https://hack-gpon.github.io" nav_sort: case_sensitive aux_buttons: @@ -50,7 +48,7 @@ aux_buttons: color: 'blue' icon: 'telegram' link: '//t.me/HackGPON' - + #aux_links: # "Hack GPON on GitHub": # - "//github.com/hack-gpon/hack-gpon.github.io" @@ -60,7 +58,7 @@ aux_buttons: back_to_top: true back_to_top_text: "Back to top" -footer_content: "Copyright © 2022. Distributed by an MIT License. Privacy Policy." +footer_content: "Copyright © 2022-2023. The documentation hereby found is distributed under the terms of the MIT License. Any external reference, link or software retains its original license and is not under the control of this website. Privacy Policy." last_edit_timestamp_script: true @@ -103,6 +101,12 @@ collections: ont_xgs: permalink: "/xgs/:path/" output: true + ont_epon: + permalink: "/epon/:path/" + output: true + router_pon: + permalink: "/router/:path/" + output: true tools: permalink: "/:path/" output: true @@ -124,6 +128,12 @@ just_the_docs: ont_xgs: name: ONT XGS-PON nav_fold: true + ont_epon: + name: ONT EPON + nav_fold: true + router_pon: + name: Router PON + nav_fold: true tools: name: Tools nav_fold: true @@ -143,3 +153,5 @@ defaults: path: "assets/**/*.pdf" values: sitemap: false + +enable_rainbow: true \ No newline at end of file diff --git a/_gpon/g_984_series.md b/_gpon/g_984_series.md index a88473c6..df8e9e12 100644 --- a/_gpon/g_984_series.md +++ b/_gpon/g_984_series.md @@ -5,7 +5,7 @@ nav_order: 3 layout: default --- -The information on this page is taken from the GPON standard and information from the major vendors of GPON equipment, each individual item containing a verifiable citation in the standard. Feel free to cite this page as: `{{ page.title }}, Hack GPON. Available at: https://hack-gpon.github.io{{ page.url }}`. +The information on this page is taken from the GPON standard and information from the major vendors of GPON equipment, each individual item containing a verifiable citation in the standard. Feel free to cite this page as: `{{ page.title }}, Hack GPON. Available at: https://hack-gpon.org{{ page.url }}`. | G.984.1 | G.984.2 | G.984.3 | G.984.4 | G.988 (ex G.Imp984.4) | | ----------------------- | ----------------------------------- | ------------------------------ | ---------------------------------- | ------------------------ | @@ -19,7 +19,7 @@ The information on this page is taken from the GPON standard and information fro # General Concepts[^zyxel] -- Bit Rate: 1.2 Gbps Upstream; 2.4 Gbps Downstream. +- Bitrate: 1.2 Gbps Upstream; 2.4 Gbps Downstream. - Physical Reach: Max physical distance between OLT and ONT. - Differential Fiber Distance: Distance between closest and farthest ONT from OLT (max = 20km) @@ -35,7 +35,7 @@ The information on this page is taken from the GPON standard and information fro | **1.24416** | **2.48832** | | 2.48832 | 2.48832 | -1.24416 Gbps up, 2.48832 Gbps down is the mainstream speed combination supported at current time. +1.24416 Gbps up, 2.48832 Gbps down is the most supported speed combination at current time. # GPON Terminology @@ -46,7 +46,7 @@ The information on this page is taken from the GPON standard and information fro * 0 .. 253 Assignable * 254 Reserved * 255 Broadcast/unassigned -* OLT assigns to an ONU during the ONU's activation using the PLOAM channel. +* The OLT assigns an id to any ONU during the ONU's activation using the PLOAM channel. * ONU-ID is unique across the PON and remains valid until the ONU is powered off, deactivated by the OLT or moves itself into an inactive state. ## Allocation Identifier (Alloc-ID)[^zyxel] @@ -61,9 +61,9 @@ The information on this page is taken from the GPON standard and information fro A Transmission Container (T-CONT) is an ONU object representing a group of logical connections that appear as a single entity for the purpose of upstream bandwidth assignment on the PON. * Bandwidth assignment and QoS control are performed in every T-CONT by fixed and dynamic methods. * There are 5 types of T-CONT Traffic Descriptors: - * Type 1: fixed bandwidth type. - * Type 2 and Type 3: guaranteed bandwidth types. - * Type 4: best-effort type. + * Type 1: fixed bandwidth; + * Type 2 and Type 3: guaranteed bandwidth; + * Type 4: best-effort; * Type 5: mixed type, involving all bandwidth types and bearing all services | Type 1 | Type 2 | Type 3 | Type 4 | Type 5 | @@ -74,9 +74,9 @@ A Transmission Container (T-CONT) is an ONU object representing a group of logic * For TR-156 and TR-167, each T-CONT represents a traffic class * Each ONU is assigned at least one Alloc-ID which is equal to that ONU's ONU-ID and may be assigned additional Alloc-IDs per the OLT's discretion. - * Typically have 4 T-CONTs, supporting 4 traffic classes, plus one T-CONT for OMCI -* Default Alloc-ID is used to carry the upstream PLOAM and OMCC traffic and may carry user data traffic. -* OLT schedules upstream traffic across all ONUs according to the priority and weight assigned to each T-CONT, and their buffer occupancy. Other bandwidth assignment mechanisms are available, for example fixed bandwidth, assured bandwidth, and nonassured bandwidth[^broadbandforum]. + * Typically have 4 T-CONTs, supporting 4 traffic classes, plus an extra one for OMCI +* The default Alloc-ID is used to carry the upstream PLOAM and OMCC traffic and may carry user data traffic. +* The OLT schedules upstream traffic across all ONUs according to the priority and weight assigned to each T-CONT, and their buffer occupancy. Other bandwidth assignment mechanisms are available, for example fixed bandwidth, assured bandwidth, and nonassured bandwidth[^broadbandforum]. ## Dynamic Bandwidth Allocation (DBA) @@ -84,7 +84,7 @@ A Transmission Container (T-CONT) is an ONU object representing a group of logic {% include image.html file="quick-start/pon_dba.jpg" alt="PON DBA Abstraction" caption="PON DBA Abstraction" %} -Dynamic Bandwidth Allocation (DBA) is a technique by which traffic bandwidth in a shared telecommunications medium can be allocated on demand and fairly between different users of that bandwidth. And it is performed on the upstream traffic[^zyxel]. +Dynamic Bandwidth Allocation (DBA) is a technique by which traffic bandwidth in a shared telecommunications medium can be allocated on demand and fairly between different users of that bandwidth. It is performed on the upstream traffic[^zyxel]. With DBA, the OLT assesses the bandwidth needs of the ONUs in real time and allocates upstream PON capacity accordingly[^broadbandforum]. @@ -110,10 +110,10 @@ Payload - User data ### GPON Encapsulation -GPON use two layers of encapsulation: +GPON uses two layers of encapsulation: 1. TDM and Ethernet frames are wrapped into GTC Encapsulation Method (GEM) frames, which have a GFP-like format (derived from Generic Frame Procedure ITU G.7401). -The main purpose of the GEM frame is to provide a frame-oriented service, as an alternative to ATM, in order to efficiently accommodate Ethernet and TDM frames. With GEM, all traffic is mapped across the GPON network using a variant of SONET/SDH GFP. GEM supports a native transport of voice, video, and data without an added ATM or IP encapsulation layer[^medium],[^fs]. +The main purpose of the GEM frame is to provide a frame-oriented service, as an alternative to ATM, in order to efficiently accommodate Ethernet and TDM frames. With GEM, all traffic is mapped across the GPON network using a variant of SONET/SDH GFP. GEM natively supports transportation of voice, video, and data without an added ATM or IP encapsulation layer[^medium],[^fs]. 2. ATM and GEM frames are both encapsulated into GTC frames that are finally transported over the PON[^medium],[^fs]. ITU-T G.984 defines GEM as the only data transport scheme for GPON. Bandwidth allocation in GPON grants individual transmission opportunities to the ONU's traffic-bearing entities on the timescale of a single GTC frame[^zyxel]. @@ -144,32 +144,32 @@ PCBd consists of the GTC header and BWmap: {% include image.html file="quick-start/downstream-multiplexing.png" alt="Downstream multiplexing (shaded GEM port indicates multicast)" caption="Downstream multiplexing (shaded GEM port indicates multicast)" %} -1. OLT sends Ethernet frames from Uplink ports to the GPON service processing module based on configured rules to the PON ports. -2. GPON service processing module then encapsulates the Ethernet frames into GEM port data packets for downstream transmission. +1. The OLT sends Ethernet frames from Uplink ports to the GPON service processing module based on configured rules to the PON ports. +2. The GPON service processing module then encapsulates the Ethernet frames into GEM port data packets for downstream transmission. 3. GPON transmission convergence (GTC) frames that contain GEM PDUs are broadcast to all ONT/ONUs connected to the GPON port. -4. ONT/ONU filters the received data based on the GEM port ID contained in the GEM PDU header and retains the data only significant to the GEM ports on this ONT/ONU. -5. ONT decapsulates the data and sends the Ethernet frames to the end users via service ports. +4. The ONT/ONU filters the received data based on the GEM port ID contained in the GEM PDU header and only retains data significant to the GEM ports on this ONT/ONU. +5. The ONT decapsulates the data and sends the Ethernet frames to the end users via service ports. ### Upstream[^zyxel],[^broadbandforum],[^cisco] {% include image.html file="quick-start/gpon-upstream.jpg" alt="GPON Upstream" caption="GPON Upstream" %} -In the Upstream the GEM traffic is carried over one or more T-CONTs. The OLT receives the transmission associated with the T-CONT and the frames are forwarded to the GEM TC adapter and then the GEM client. +In the Upstream channel, GEM traffic is carried over one or more T-CONTs. The OLT receives the transmission associated with the T-CONT and the frames are forwarded to the GEM TC adapter and then the GEM client. - Use Time Division Multiple Access (TDMA) for upstream data transmission w/o AES encryption. * Distance between the OLT and ONT/ONU is measured (Ranging): - * OLT starts the process on an ONU when the ONU first registers with the OLT and obtains round trip delay (RTD) of the ONU. Based on the RTD, the other key components are identified: + * The OLT starts the process on an ONU when the ONU first registers with the OLT and obtains round trip delay (RTD) of the ONU. Based on the RTD, other key components are identified: * Calculation of the physical reach of that specific ONU, as this OLT requires a proper equalization delay (EqD) for each ONU based on physical reach. - * RTC and EqD synchronize data frames sent by all ONUs + * RTC and EqD synchronize data frames sent by all ONUs. * Time slots are allocated based on distance. In order to prevent data conflict (collisions), the OLT must be able to precisely measure the distance between itself and each ONU to provide a proper time slot to facilitate data upstream. This allows the ONUs to send data at specified time slots, to prevent issues upstream. This process is achieved through a technique called ranging. - * ONT/ONU sends traffic upstream based on granted time slot. + * The ONT/ONU sends traffic upstream based on the granted time slot. - Dynamic Bandwidth Allocation (DBA) enables the OLT to monitor in real-time, congestion, bandwidth usage, and configuration. - Traffic multiplexing is distributed. -- The OLT grants the upstream bandwidth allocation. +- The OLT grants upstream bandwidth allocation. - The ONU traffic-bearing entities are identified by their Allocations IDs. -- The alloc-IDs are multiplexed in time as specified by the bandwidth-map (given by the OLT in the downstream frame). -- Within the bandwidth allocation, the ONU uses the GEM Port-IF as key to identify upstream GEM frames. -- Each upstream frame contains the content carried by one or more T-CONT/T-CONTs. +- Alloc-IDs are multiplexed in time as specified by the bandwidth-map (provided by the OLT in the downstream frame). +- Within its bandwidth allocation, the ONU uses the GEM Port-IF as key to identify upstream GEM frames. +- Each upstream frame contains the content carried by one or more T-CONTs. - All ONUs connected to a GPON port share the upstream bandwidth. - All ONUs send their data upstream at their own time slots based on bandwidth map (BWmap) requirements. - Each ONU reports the status of data to be sent to the OLT by use of upstream frames. OLT uses DBA to allocate upstream time slots to ONUs and sends updates in each frame. @@ -178,7 +178,7 @@ In the Upstream the GEM traffic is carried over one or more T-CONTs. The OLT rec {% include image.html file="quick-start/upstream-multiplexing.png" alt="Upstream multiplexing" caption="Upstream multiplexing" %} -1. ONT/ONU send Ethernet frames to GEM ports based on configured rules that map service ports and GEM ports. +1. ONT/ONUs send Ethernet frames to GEM ports based on configured rules that map service ports and GEM ports. 2. GEM ports encapsulate the Ethernet frames into GEM PDUs and add these PDUs to T-CONT queues based on rules that map GEM ports and T-CONT queues. 3. T-CONT queues use time slots based on DBA, then transmit upstream GEM PDUs to the OLT. 4. OLT decapsulates the GEM PDU, the original Ethernet frame is now seen. @@ -228,7 +228,7 @@ Resolves Ethernet frames and directly maps the data of Ethernet frames into the * Establish and release connections with the ONT. * Manage the UNIs on the ONT. * Request configuration information and performance statistics. - * Autonomously alert of events, such as a link failure. + * Autonomously alert events, such as a link failure. - Key Points: * Protocol runs over a GEM connection between the OLT and ONT. * GEM connection is established while the ONT initializes. @@ -236,40 +236,40 @@ Resolves Ethernet frames and directly maps the data of Ethernet frames into the ### Management Information Base (MIB) and Management entities (ME's)[^arsat] -A way of MIB (Management Information Base) formed by Management Entities (ME's) is used to fully describe the ONU configuration, status and several other actions +MIBs (Management Information Base) formed by Management Entities (MEs) are used to fully describe the ONU configuration, status and several other actions. -OMCI constitute the protocol in order to support the set of actions performed over ONU to create; delete and other set of actions on those ME's +OMCI constitutes the protocol which supports the set of actions performed over an ONU to create, delete and more on those MEs - A Managed Entity (ME) is composed of attributes, actions and notifications defining its characteristics. - Managed Entity (ME Class Value) - Purpose of the entity - - Autonomously instantiated by ONU or explicitly created by OLT + - Autonomously instantiated by the ONU or explicitly created by the OLT - Relationship(s) with other managed entities - Attributes: Attribute Definition - - ME id: This attribute provides a unique number for each instance of this managed entity. - - List of attributes. Attribute Number within ME Determined by the Order in Which Attributes are Listed + - ME id: provides a unique number for each instance of this managed entity. + - List of attributes: Attribute Number within ME determined by the order in which attributes are listed - Actions: operations that may be performed on the entity (Create/Get/Set/Test, etc.) - Notifications (Alarm, AVC, TCA, Test Result) -- There can be multiple instances of a Managed Entity. Each instance has the same attributes, actions and notifications even though the values of the attributes may be different from each other. +- There can be multiple instances of any Managed Entity: each instance has the same attributes, actions and notifications even though the values of the attributes may be different from one another. ### VEIP and PPTP[^huaweiveip],[^cdatatec] -According to the application, ONU can be divided into six types, namely SFU (Single Family Unit) ONU, HGU (Home Gateway Unit) ONU, MDU (Multi-Dwelling Unit) ONU, SBU (Single Business Unit) ONU, MTU (Multi-Tenant Unit) ONU and CBU (Cellular Backhaul Unit) ONU. However, only SFU (Single Family Unit) ONU and HGU (Home Gateway Unit) ONU are used by the end-users in practical application. +According to the application, ONU can be divided into six types, namely SFU (Single Family Unit) ONU, HGU (Home Gateway Unit) ONU, MDU (Multi-Dwelling Unit) ONU, SBU (Single Business Unit) ONU, MTU (Multi-Tenant Unit) ONU and CBU (Cellular Backhaul Unit) ONU. However, only SFU (Single Family Unit) ONU and HGU (Home Gateway Unit) ONU are used by the end-users in practical applications. -HGU ONU takes the Virtual Ethernet interface point (VEIP). Virtual Ethernet interface point (VEIP) as an OMCI administrative domain and a non-OMCI administrative domai (like TR-069). At the switchover point of the data plane, the ME can be managed only through the OMCI and is visible to the non-OMCI management domain, but not manageable. Similarly, all UNI-side modules under the VEIP are invisible to and cannot be managed by the OMCI. They are visible and manageable only to the non-OMCI management domain. In addition, each ONU should have only one VEIP. +HGU ONU takes the Virtual Ethernet Interface Point (VEIP) as an OMCI administrative domain and a non-OMCI administrative domain (like TR-069). At the switchover point of the data plane, the ME can be managed only through the OMCI and is visible to the non-OMCI management domain, but not manageable. Similarly, all UNI-side modules under the VEIP are invisible to and cannot be managed by the OMCI. They are visible and manageable only to the non-OMCI management domain. In addition, each ONU should have only one VEIP. -When the ONU uploads the MIB, the ONU reports only the mandatory MEs and supported optional MEs. It does not report the MEs related to LOID authentication, performance monitoring, and T-CONT MEs of the OMCC channel. +When the ONU uploads MIBs, the ONU reports only the mandatory MEs and supported optional MEs. It does not report the MEs related to LOID authentication, performance monitoring and T-CONT MEs of the OMCC channel. -The ONU should be used according to the device type and report either VEIP or PPTP during MIB upload. The SFU only uses and reports PPTP. VEIP should not be used. HGUs can only use and report VEIPs. PPTP should not be used. The OLT determines the ONU type based on the ONU Type attribute in ME:ONU Capability. Only one VEIP is allowed in each HGU. ONU will report VEIP or PPTP (Physical Path Termination Point) when MIB is uploaded according to the type of the device, while HGU can only use and report VEIP rather than PPTP. OLT will judge the type of ONU devices according to the attribution of ONU type in ONU capability. +The ONU should be used according to the device type and report either VEIP or PPTP during MIB upload. The SFU only uses and reports PPTP. VEIP should not be used. HGUs can only use and report VEIPs. PPTP should not be used. The OLT determines the ONU type based on the ONU Type attribute in ME:ONU Capability. Only one VEIP is allowed in each HGU. ONUs will report VEIP or PPTP (Physical Path Termination Point) when MIB is uploaded according to the type of the device, while HGUs can only use and report VEIP rather than PPTP. The OLT will judge the type of each ONU device according to the ONU type attribute in ONU capability. {% include image.html file="quick-start/veip.jpg" alt="Service Process of HGU ONU" caption="Service Process of HGU ONU" %} -SFU ONU only supports the OMCI management domain. PPTP is what SFU uses and reports, while VEIP is not available. The processing mode of OMCI configured data flow is different from that of RG flow. For OMCI data flow, there is a one-to-one mapping between the GEM port on the WAN side and the UNI port on the LAN side. All data packets can pass through without MAC address learning or forwarding. Wireless interfaces are not allowed in OMCI. +SFU ONUs only support the OMCI management domain. PPTP is what SFU uses and reports, while VEIP is not available. The processing mode of OMCI configured data flow is different from that of RG flow. For OMCI data flow, there is a one-to-one mapping between the GEM port on the WAN side and the UNI port on the LAN side. All data packets can pass through without MAC address learning or forwarding. Wireless interfaces are not allowed in OMCI. -SFU ONU is designed for a single family unit with broadband access terminal function without a more complex home gateway function from the perspective of application and ONU capacity. SFU ONU, mainly used in FTTH scenarios, has 1 or 4 Ethernet interfaces and is available for Ethernet / IP services, optional VoIP services (built-in IAD), or CATV services. +SFU ONUs are designed for a single family unit with broadband access terminal function without a more complex home gateway function from the perspective of application and ONU capacity. SFU ONUs, mainly used in FTTH scenarios, typically have 1 or 4 Ethernet interfaces and are available for Ethernet / IP services, optional VoIP services (built-in IAD), or CATV services. -SFU ONU works under the bridging mode (layer 2 of ISO model), supports multiple VLAN functions, and its Ethernet port can be configured and managed by OLT through OMCI / OAM. Combined with a home gateway, SFU ONU is good at providing strong service capability. +SFU ONUs work under bridging mode (layer 2 of ISO model), support multiple VLAN functions, and their Ethernet port can be configured and managed by the OLT through OMCI / OAM. Combined with a home gateway, SFU ONUs are good at providing strong service capability.
diff --git a/_gpon/gpon-auth.md b/_gpon/gpon-auth.md index 4336c6ce..52a2dbd7 100644 --- a/_gpon/gpon-auth.md +++ b/_gpon/gpon-auth.md @@ -5,20 +5,20 @@ nav_order: 3 layout: default --- -The information on this page is taken from the GPON standard and information from the major vendors of GPON equipment, each individual item containing a verifiable citation in the standard. Feel free to cite this page as: `{{ page.title }}, Hack GPON. Available at: https://hack-gpon.github.io{{ page.url }}`. +The information on this page is taken from the GPON standard and information from the major vendors of GPON equipment, each individual item containing a verifiable citation in the standard. Feel free to cite this page as: `{{ page.title }}, Hack GPON. Available at: https://hack-gpon.org{{ page.url }}`. # ONU activation state: `Ox`[^huawei],[^standardgpon] -The process for an ONU to go online unconfigured involves five states: +The process for an unconfigured ONU to go online involves five states: - **`O1` Initial:** the OLT sends a message to the ONU to start the ONU, and the ONU enters the standby state; -- **`O2` Standby:** After receiving the message, the ONU extracts the delimiter value, power level, and pre-allocated compensation delay from the message, and adjusts its configurations accordingly to support subsequent information exchange. -- **`O3` Serial number:** The OLT sends a serial number (SN) request to the ONU. The ONU sends its SN to the OLT. After receiving the SN of the ONU, the OLT allocates a temporary ONU ID to the ONU. -- **`O4` Ranging:** The OLT sends a ranging request to the ONU. After receiving the ranging request from the OLT, the ONU responds with a message carrying its SN and ONU ID. The OLT calculates the compensation delay and sends it to the ONU in a message. After receiving the message, the ONU sets the compensation delay accordingly. +- **`O2` Standby:** After receiving the message, the ONU extracts the delimiter value, power level, and pre-allocated compensation delay from the message, and adjusts its configurations accordingly, to support subsequent information exchanges. +- **`O3` Serial number:** The OLT sends a serial number (SN) request to the ONU. The ONU sends its SN to the OLT. After receiving the ONU's SN, the OLT allocates a temporary ONU-ID to the ONU. +- **`O4` Ranging:** The OLT sends a ranging request to the ONU. After receiving the ranging request from the OLT, the ONU responds with a message carrying its SN and ONU-ID. The OLT calculates the compensation delay and sends it to the ONU in a message. After receiving the message, the ONU sets the compensation delay accordingly. - **`O5` Operation:** The OLT sends a password request to the ONU. The ONU returns a password to the OLT. - **`O6` Intermittent LODS state.** - **`O7` Emergency Stop state.** -The password is not configured on the OLT. If the automatic discovery function is enabled on the PON port of the OLT, the OLT reports an ONU auto-discovery alarm to the CLI or NMS. The ONU goes online normally only after being confirmed. +The password is not configured on the OLT: if the automatic discovery function is enabled on the OLT's PON port, the OLT reports an ONU auto-discovery alarm to the CLI or NMS. The ONU goes online normally only after being confirmed. ```mermaid graph TD @@ -40,7 +40,7 @@ graph TD There is a known issue with Alcatel/Nokia OLTs giving fake `O5` ONU Status, OLTs will hold OMCI Provisioning until correct OMCI Information is received. -It happens when the OLT detects that the ONT is `drunk`, so it tries to update the firmware before opening the GEM link. If this happens, the user has to try changing the software version or other data. +This happens when the OLT detects that the ONT is `drunk`, so it tries to update the firmware before opening the GEM link. If this happens, the user has to try changing the software version or other data. This is most likely to reduce logs from misconfigured ONTs and to be able to send updates automatically to ONTs. diff --git a/_gpon/mib.md b/_gpon/mib.md new file mode 100644 index 00000000..21613082 --- /dev/null +++ b/_gpon/mib.md @@ -0,0 +1,375 @@ +--- +title: GPON MIB +has_children: false +nav_order: 3 +layout: default +--- + +The OMCI standard is defined in a way such that suppliers can offer modular and incremental functionality to meet different levels of customer needs. + +The [^G_988] and [^G_984_4] standards define the protocol needed to handle all the features of the PON specifications ([^G_984_1], [^G_987], [^G_9807_1], ...), as well as a number of services and functionalities. +The standard was born with B-PON, then modified with G-PON and separated with XGS-PON. OMCI supports interoperability, yet it allows for optional components and future extensions. + +A protocol-independent MIB (Management Information Base) describes the exchange of information across OMCI [^G_988] and [^G_984_4]. This protocol is defined in terms of MEs. MEs are abstract representations of resources and services in an ONU. Only a small subset of the list of MEs is mandatory. + +The existence of other MEs depends on the architecture and feature set supported by the vendor's [^G_988] and [^G_984_4]. Major ISPs and vendors have created their own extensions for MIBs [^att_open_omci], [^verizon_open_omci]. + +Each ME consists of an entry ID and zero, one or more instances. Each instance has its own ID, usually starting at 0, but this is not always the case. Every instance has one or more attributes, each characterised by ID, size and content. + +Various MEs are often interrelated. Clause 8.2 of [^G_988] and [^G_984_4] shows the relationship graphs between the various MEs. +Clause 9 of [^G_988] and [^G_984_4] describes how the various MEs are created. There are formally 2 modes: a managed entity which is auto-instantiated by the ONT or a managed entity which is instantiated on explicit request by the OLT. +In each of the 2 cases the various MEs can be: (R), (W). Only for MEs auto-instantiated by the ONT there is also (R, W) while only for MEs auto-instantiated by the OLT there are also (R, Set-by-create), (W, Set-by-create), or (R, W, Set-by-create). + +| Mode | Description [^G_984_4] | +| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| (R) | On instantiation of the managed entity (either autonomously or on request of the OLT via a create action), the ONT sets the attribute to a default value. The OLT can only read the value of the attribute. In case of an autonomous attribute value change, the ONT will send an attribute value change notification to the OLT. | +| (W) | On instantiation of the managed entity (either autonomously or on request of the OLT via a create action), the ONT sets the attribute to a default value. The OLT can only write the value of the attribute. In case of an autonomous attribute value change, the ONT will NOT send an attribute value change notification to the OLT. | +| (R, W) | On instantiation of the managed entity (either autonomously or on request of the OLT via a create action), the ONT sets the attribute to a default value. The OLT can both read and write the value of the attribute. In case of an autonomous attribute value change, the ONT will send an attribute value change notification to the OLT. | +| (R, Set-by-create) | On instantiation of the managed entity (by necessity on request of the OLT via a create action), the ONT sets the attribute to the value specified in the create command. Subsequently, the OLT can only read the value of the attribute. In case of an autonomous attribute value change, the ONT will send an attribute value change notification to the OLT. | +| (W, Set-by-create) | On instantiation of the managed entity (by necessity on request of the OLT via a create action), the ONT sets the attribute to the value specified in the create command. Subsequently, the OLT can only write the value of the attribute. In case of an autonomous attribute value change, the ONT will NOT send an attribute value change notification to the OLT. | +| (R, W, Set-by-create) | On instantiation of the managed entity (by necessity on request of the OLT via a create action), the ONT sets the attribute to the value specified in the create command. Subsequently, the OLT can both read and write the value of the attribute. In case of an autonomous attribute value change, the ONT will send an attribute value change notification to the OLT. | + + +The following table is the result of combining the various tables in Table 8-1, Table 11-2 of [^G_984_4], Table 8-1, Table 11.2.4-1 of [^G_988], Table 1 of [^att_open_omci], Table B1 of [^verizon_open_omci]. + +The new ME introduced in G.988 [^G_988] do not have a description because G.988 abolished a summary description. In the corresponding ITU Clauses, all attrubits are described, and their purpose. + + +| Managed entity ID | Managed entity | Description G.984[^G_984_4] | Clause G.984[^G_984_4] | Clause G.988[^G_988] | AT&T Open OMCI[^att_open_omci] | Verizon Open OMCI[^verizon_open_omci] | Required/optional G.984[^G_984_4] | Mandatory G.987[^G_987], G.9807.1[^G_9807_1] | Mandatory G.989[^G_988] | Mandatory G.986[^G_988] | Mandatory IEEE 802.3, 802.3av[^G_988] | +| ----------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | -------------------- | ------------------------------ | ------------------------------------- | --------------------------------- | -------------------------------------------- | ----------------------- | ----------------------- | ------------------------------------- | +| 1 | ONT[^B-PON] | | | | | | | | | | | +| 2 | ONU data | Used for OMCI MIB management | 9.1.3 | 9.1.3 | 5.1.3 | M | R | M | M | M | M | +| 3 | PON IF line cardholder | | | | | | | | | | | +| 4 | PON IF line card | | | | | | | | | | | +| 5 | Cardholder | Used for a circuit pack plug-in slot. Can also represent a virtual cardholder to distinguish types of ports in an integrated ONT | 9.1.5 | 9.1.5 | 5.1.5 | M | CR | M | M | | M | +| 6 | Circuit pack | Used for a plug-in circuit pack module. Can also represent a virtual circuit pack to distinguish types of ports in an integrated ONT | 9.1.6 | 9.1.6 | 5.1.6 | M | CR | | | | | +| 7 | Software image | Used for the software image of the ONT or its components that contain independently manageable software | 9.1.4 | 9.1.4 | 5.1.4 | M | R | M | M | | M | +| 8 | UNI[^B-PON] | | | | | | | | | | | +| 9 | TC Adapter[^B-PON] | | | | | | | | | | | +| 10 | Physical path termination point ATM UNI | | | | | | | | | | | +| 11 | Physical path termination point Ethernet UNI | Used for physical path termination point at the Ethernet UNI | 9.5.1 | 9.5.1 | 5.5.1 | M | CR | | | M | | +| 12 | Physical path termination point CES UNI | Used for physical path termination point at the CES UNI | 9.8.1 | 9.8.1 | | No | CR | | | | | +| 13 | Logical N × 64 kbit/s sub - port connection termination point (CTP) | Used as logical interface for structured CES | 9.8.2 | 9.8.2 | | No | CR | | | | | +| 14 | Interworking VCC termination point | Used for DSL ATM mode interworking | 9.13.4 | 9.13.4 | | No | CR | | | | | +| 15 | AAL 1 profile[^B-PON] | | | | | | | | | | | +| 16 | AAL 5 profile | Used for DSL ATM mode interworking | 9.13.5 | 9.13.5 | | No | CR | | | | N/A | +| 17 | AAL 1 protocol monitoring history data[^B-PON] | | | | | | | | | | | +| 18 | AAL 5 performance monitoring history data | Used for DSL ATM mode interworking | 9.13.6 | 9.13.6 | | No | CR | | | | N/A | +| 19 | AAL 2 profile | | | | | | | | | | | +| 20 | (Intentionally left blank) | | | | | | | | | | | +| 21 | (NOTE – In [^G_984_4] this was called CES service profile-G) | Used for CES services supported by the ONT | 9.8.3 | 9.8.3 | | No | CR | | | | | +| 22 | (Reserved) | | | | | | | | | | | +| 23 | CES physical interface performance monitoring history data | Used for CES interface performance monitoring | 9.8.4 | 9.8.4 | | No | O | | | | | +| 24 | Ethernet performance monitoring history data | Used for Ethernet interface performance monitoring | 9.5.2 | 9.5.2 | 5.5.2 | M | O | | | | | +| 25 | VP network CTP[^B-PON] | | | | | | | | | | | +| 26 | ATM VP cross-connection | | | | | | | | | | | +| 27 | Priority queue[^B-PON] | | | | | | | | | | | +| 28 | DBR/CBR traffic descriptor | | | | | | | | | | | +| 29 | UBR traffic descriptor | | | | | | | | | | | +| 30 | SBR1/VBR1 traffic descriptor | | | | | | | | | | | +| 31 | SBR2/VBR2 traffic descriptor | | | | | | | | | | | +| 32 | SBR3/VBR3 traffic descriptor | | | | | | | | | | | +| 33 | ABR traffic descriptor | | | | | | | | | | | +| 34 | GFR traffic descriptor | | | | | | | | | | | +| 35 | ABT/DT/IT traffic descriptor | | | | | | | | | | | +| 36 | UPC disagreement monitoring history data[^B-PON] | | | | | | | | | | | +| 37 | (Intentionally left blank) | | | | | | | | | | | +| 38 | ANI [^B-PON] | | | | | | | | | | | +| 39 | PON TC adapter | | | | | | | | | | | +| 40 | PON physical path termination point | | | | | | | | | | | +| 41 | TC adapter protocol monitoring history data | | | | | | | | | | | +| 42 | Threshold data[^B-PON] | | | | | | | | | | | +| 43 | Operator specific | | | | | | | | | | | +| 44 | Vendor specific | | | | | | | | | | | +| 45 | MAC bridge service profile | Used for MAC bridge supported by the ONT | 9.3.1 | 9.3.1 | 5.3.1 | M | CR | | | | | +| 46 | MAC bridge configuration data | Used for MAC bridge supported by the ONT | 9.3.2 | 9.3.2 | | M | CR | | | | | +| 47 | MAC bridge port configuration data | Used to organize and record data associated with a bridge port | 9.3.4 | 9.3.4 | 5.3.2 | M | CR | | | | | +| 48 | MAC bridge port designation data | Used for MAC bridge supported by the ONT | 9.3.5 | 9.3.5 | | No | CR | | | | | +| 49 | MAC bridge port filter table data | Used for MAC bridge supported by the ONT | 9.3.6 | 9.3.6 | | M | CR | | | | | +| 50 | MAC bridge port bridge table data | Used for MAC bridge supported by the ONT | 9.3.8 | 9.3.8 | | M | CR | | | | | +| 51 | MAC bridge performance monitoring history data | Used for MAC bridge performance monitoring | 9.3.3 | 9.3.3 | | M | O | | | | | +| 52 | MAC bridge port performance monitoring history data | Used for MAC bridge port performance monitoring | 9.3.9 | 9.3.9 | | M | O | | | | | +| 53 | Physical path termination point POTS UNI | Used for physical path trail termination point at the POTS UNI | 9.9.1 | 9.9.1 | 5.9.1 | M | CR | | | | | +| 54 | Voice CTP | | | | | | | | | | | +| 55 | Voice PM history data | | | | | | | | | | | +| 56 | AAL2 PVC profile[^B-PON] | | | | | | | | | | | +| 57 | AAL2 CPS protocol monitoring history data[^B-PON] | | | | | | | | | | | +| 58 | Voice service profile | Used for voice | 9.9.6 | 9.9.6 | 5.9.6 | No | CR | | | | | +| 59 | LES service profile | | | | | | | | | | | +| 60 | AAL2 SSCS parameter profile1 | | | | | | | | | | | +| 61 | AAL2 SSCS parameter profile2 | | | | | | | | | | | +| 62 | VP performance monitoring history data | Used for DSL ATM mode interworking | 9.13.10 | 9.13.10 | | No | CR | | | | | +| 63 | Traffic scheduler[^B-PON] | | | | | | | | | | | +| 64 | T-CONT buffer | | | | | | | | | | | +| 65 | UBR+ traffic descriptor | | | | | | | | | | | +| 66 | AAL2 SSCS protocol monitoring history data[^B-PON] | | | | | | | | | | | +| 67 | IP port configuration data | Used for IP port supported by the ONT | 9.4.3 | n/a | | M | CR | | | | | +| 68 | IP router service profile | Used for IP router supported by the ONT | 9.4.1 | n/a | | M | CR | | | | | +| 69 | IP router configuration data | Used for IP router supported by the ONT | 9.4.2 | n/a | | M | CR | | | | | +| 70 | IP router performance monitoring history data 1 | Used for IP router performance monitoring | 9.4.6 | n/a | | | O | | | | | +| 71 | IP router performance monitoring history data 2 | Used for IP router performance monitoring | 9.4.7 | n/a | | | O | | | | | +| 72 | ICMP performance monitoring history data 1 | Used for ICMP performance monitoring | 9.4.8 | n/a | | | O | | | | | +| 73 | ICMP performance monitoring history data 2 | Used for ICMP performance monitoring | 9.4.9 | n/a | | | O | | | | | +| 74 | IP route table | Used for IP router supported by the ONT | 9.4.4 | n/a | | M | CR | | | | | +| 75 | IP static routes | Used for IP router supported by the ONT | 9.4.5 | n/a | | M | CR | | | | | +| 76 | ARP service profile | Used for IP port supported by the ONT | 9.4.10 | n/a | | | CR | | | | | +| 77 | ARP configuration data | Used for IP port supported by the ONT | 9.4.11 | n/a | | | CR | | | | | +| 78 | VLAN tagging operation configuration data | | 9.3.12 | 9.3.12 | | No | | | | | | +| 79 | MAC bridge port filter pre - assign table | Used for Ethernet type filtering | 9.3.7 | 9.3.7 | | M | O | | | | | +| 80 | Physical path termination point ISDN UNI | Used for ISDN port supported by the ONT | 9.9.21 | n/a | | No | O | | | | | +| 81 | (Reserved) | | | | | | | | | | | +| 82 | Physical path termination point video UNI | Used for electrical video output port | 9.13.1 | 9.13.1 | | No | O | | | | | +| 83 | Physical path termination point LCT UNI | Used for local craft terminal port | 9.13.3 | 9.13.3 | | No | O | | | | | +| 84 | VLAN tagging filter data | Used for VLAN tagging | 9.3.11 | 9.3.11 | 5.3.4 | M | O | | | | | +| 85 | ONU[^B-PON] | | | | | | | | | | | +| 86 | ATM VC cross-connection | | | | | | | | | | | +| 87 | VC network CTP[^B-PON] | | | | | | | | | | | +| 88 | VC PM history data | | | | | | | | | | | +| 89 | Ethernet performance monitoring history data 2 | Used for Ethernet performance monitoring | 9.5.3 | 9.5.3 | | No | O | | | | | +| 90 | Physical path termination point video ANI | Used for optical RF video input port | 9.13.2 | 9.13.2 | | No | O | | | | | +| 91 | Physical path termination point IEEE 802.11 UNI | Used for 802.11 interface supported by the ONT | 9.6.1 | n/a | | | CR | | | | | +| 92 | IEEE 802.11 station management data 1 | Used for 802.11 interface supported by the ONT | 9.6.2 | n/a | | | CR | | | | | +| 93 | IEEE 802.11 station management data 2 | Used for 802.11 interface supported by the ONT | 9.6.3 | n/a | | | CR | | | | | +| 94 | IEEE 802.11 general purpose object | Used for 802.11 interface supported by the ONT | 9.6.4 | n/a | | | CR | | | | | +| 95 | IEEE 802.11 MAC and PHY operation and antenna data | Used for 802.11 interface supported by the ONT | 9.6.5 | n/a | | | CR | | | | | +| 96 | IEEE 802.11 performance monitoring history data | Used for 802.11 interface supported by the ONT | 9.6.7 | n/a | | | O | | | | | +| 97 | IEEE 802.11 PHY FHSS DSSS IR tables | Used for 802.11 interface supported by the ONT | 9.6.6 | n/a | | | CR | | | | | +| 98 | Physical path termination point xDSL UNI part 1 | Used for the physical path termination point at an xDSL CO modem | 9.7.1 | 9.7.1 | | No | CR | | | | | +| 99 | Physical path termination point xDSL UNI part 2 | Used for the physical path termination point at an xDSL CO modem | 9.7.2 | 9.7.2 | | No | CR | | | | | +| 100 | xDSL line inventory and status data part 1 | | 9.7.12 | 9.7.12 | | No | | | | | | +| 101 | xDSL line inventory and status data part 2 | Contains inventory and status information on an xDSL line | 9.7.13 | 9.7.13 | | No | CR | | | | | +| 102 | xDSL channel downstream status data | Contains status on a downstream xDSL channel | 9.7.19 | 9.7.19 | | No | CR | | | | | +| 103 | xDSL channel upstream status data | Contains status on an upstream xDSL channel | 9.7.20 | 9.7.20 | | No | CR | | | | | +| 104 | xDSL line configuration profile part 1 | Contains line parameters for an xDSL line | 9.7.3 | 9.7.3 | | No | CR | | | | | +| 105 | xDSL line configuration profile part 2 | Contains line parameters for an xDSL line | 9.7.4 | 9.7.4 | | No | CR | | | | | +| 106 | xDSL line configuration profile part 3 | Contains line parameters for an xDSL line | 9.7.5 | 9.7.5 | | No | CR | | | | | +| 107 | xDSL channel configuration profile | Contains configuration for an xDSL channel | 9.7.7 | 9.7.7 | | No | CR | | | | | +| 108 | xDSL subcarrier masking downstream profile | Contains masking information for the downstream subcarriers | 9.7.8 | 9.7.8 | | No | CR | | | | | +| 109 | xDSL subcarrier masking upstream profile | Contains masking information for the upstream subcarriers | 9.7.9 | 9.7.9 | | No | CR | | | | | +| 110 | xDSL PSD mask profile | Contains PSD masking information | 9.7.10 | 9.7.10 | | No | CR | | | | | +| 111 | xDSL downstream radio frequency interference (RFI) bands profile | Contains information on the downstream RFI bands | 9.7.11 | 9.7.11 | | No | CR | | | | | +| 112 | xDSL xTU-C performance monitoring history data | Performance monitoring data for an xDSL xTU-C modem path | 9.7.21 | 9.7.21 | | No | O | | | | | +| 113 | xDSL xTU-R performance monitoring history data | Performance monitoring data for an xDSL xTU-R modem path | 9.7.22 | 9.7.22 | | No | O | | | | | +| 114 | xDSL xTU-C channel performance monitoring history data | Performance monitoring data for an xDSL xTU-C channel | 9.7.23 | 9.7.23 | | No | O | | | | | +| 115 | xDSL xTU-R channel performance monitoring history data | Performance monitoring data for an xDSL xTU-R channel | 9.7.24 | 9.7.24 | | No | O | | | | | +| 116 | TC adaptor performance monitoring history data xDSL | Performance monitoring data for the xDSL ATM data path | 9.7.25 | 9.7.25 | | No | O | | | | | +| 117 | Physical path termination point VDSL UNI (ITU-T G.993.1 VDSL1) | | | | | | | | | | | +| 118 | VDSL VTU-O physical data | | | | | | | | | | | +| 119 | VDSL VTU-R physical data | | | | | | | | | | | +| 120 | VDSL channel data | | | | | | | | | | | +| 121 | VDSL line configuration profile | | | | | | | | | | | +| 122 | VDSL channel configuration profile | | | | | | | | | | | +| 123 | VDSL band plan configuration profile | | | | | | | | | | | +| 124 | VDSL VTU-O physical interface monitoring history data | | | | | | | | | | | +| 125 | VDSL VTU-R physical interface monitoring history data | | | | | | | | | | | +| 126 | VDSL VTU-O channel performance monitoring history data | | | | | | | | | | | +| 127 | VDSL VTU-R channel performance monitoring history data | | | | | | | | | | | +| 128 | Video return path service profile | Used for video return path management | 9.13.7 | n/a | | | CR | | | | | +| 129 | Video return path performance monitoring history data | Used for video return path management | 9.13.8 | n/a | | | CR | | | | | +| 130 | IEEE 802.1p mapper service profile | Used for 802.1p priority Ethernet UNI | 9.3.10 | 9.3.10 | 5.3.3 | M | CR | | | | | +| 131 | OLT-G | Used for OLT identification for interoperability facilitation | 9.12.2 | 9.12.2 | 5.12.2 | M | O | | | | | +| 132 | Multicast interworking VCC termination point | | | | | | | | | | | +| 133 | ONU power shedding | Used to control the power shedding service | 9.1.7 | 9.1.7 | 5.1.7 | M | CR | | | | | +| 134 | IP host config data | Used to define the Internet protocol service that may be used with a MAC bridge port. Member of IPHostData group | 9.4.12 | 9.4.1 | 5.4.1 | | CR | | | | | +| 135 | IP host performance monitoring history data | Used to hold PM counters and alarms for the IP host. Member of IPHostData group | 9.4.13 | 9.4.2 | 5.4.2 | | O | | | | | +| 136 | TCP/UDP config data | Used for the TCP or UDP configuration for a TCP/UDP service. Member of IPHostData group | 9.4.14 | 9.4.3 | 5.4.3 | | CR | | | | | +| 137 | Network address | Used to bind a network address (URI, IP address) to its associated security method. Member of IPHostData group | 9.12.3 | 9.12.3 | 5.12.3 | M | CR | | | | | +| 138 | VoIP config data | Used to discover VoIP signalling protocols supported and select a VoIP signalling to use. Also used to select a VoIP configuration method. Member of VoIPData group | 9.9.18 | 9.9.18 | 5.9.12 | M | CR | | | | | +| 139 | VoIP voice CTP | Used for VoIP voice channel termination point. Member of VoIPData group | 9.9.4 | 9.9.4 | 5.9.4 | No | CR | | | | | +| 140 | Call control performance monitoring history data | Used for call control performance monitoring history. Member of VoIPData group | 9.9.12 | 9.9.12 | | M | O | | | | | +| 141 | VoIP line status | Used for VoIP line status that relates to a POTS port. Member of VoIPData group | 9.9.11 | 9.9.11 | | M | O | | | | | +| 142 | VoIP media profile | Used to define codec and other media selection criteria. Member of VoIPData group | 9.9.5 | 9.9.5 | 5.9.5 | No | CR | | | | | +| 143 | RTP profile data | Used for RTP configuration for VoIP service | 9.9.7 | 9.9.7 | 5.9.7 | No | CR | | | | | +| 144 | RTP performance monitoring history data | Used to hold the last completed 15 minutes interval PM data for RTP. Member of VoIPData group | 9.9.13 | 9.9.13 | | M | O | | | | | +| 145 | Network dial plan table | Used to support network-defined dial plans. Member of VoIPData group | 9.9.10 | 9.9.10 | | No | O | | | | | +| 146 | VoIP application service profile | Used for VoIP calling feature services. Member of VoIPData group | 9.9.8 | 9.9.8 | | No | O | | | | | +| 147 | VoIP feature access codes | Used to define feature access codes for a POTS port. Member of VoIPData group | 9.9.9 | 9.9.9 | | No | O | | | | | +| 148 | Authentication security method | Used for the user id/password configuration to associate an IP session between the client and destination server | 9.12.4 | 9.12.4 | 5.12.4 | M | O | | | | | +| 149 | SIP config portal | Used to view SIP configuration when the IP path is being used to manage SIP. Member of SIPrelatedData group | 9.9.19 | 9.9.19 | | M | CR | | | | | +| 150 | SIP agent config data | Used to define a VoIP SIP agent configuration. Member of SIPrelatedData group | 9.9.3 | 9.9.3 | 5.9.3 | No | CR | | | | | +| 151 | SIP agent performance monitoring history data | Used for statistics for the VoIP SIP agent. Member of SIPrelatedData group | 9.9.14 | 9.9.14 | 5.9.8 | M | O | | | | | +| 152 | SIP call initiation performance monitoring history data | Used for statistics for the VoIP SIP agent. Member of SIPrelatedData group | 9.9.15 | 9.9.15 | 5.9.9 | M | O | | | | | +| 153 | SIP user data | Used for user (subscriber) specific SIP data. Member of SIPrelatedData group | 9.9.2 | 9.9.2 | 5.9.2 | No | CR | | | | | +| 154 | MGC config portal | Used to view H.248 configuration when the IP path is being used to manage H.248. Member of H248relatedData group | 9.9.20 | 9.9.20 | | M | CR | | | | | +| 155 | MGC config data | Used for configuration data associated with an MGC client. Member of H248relatedData group | 9.9.16 | 9.9.16 | 5.9.10 | M | CR | | | | | +| 156 | MGC performance monitoring history data | Used for run-time attributes and statistics associated with an active MGC client. Member of H248relatedData group | 9.9.17 | 9.9.17 | 5.9.11 | M | O | | | | | +| 157 | Large string | Used to hold a character string larger than 25 bytes and up to 375 bytes | 9.12.5 | 9.12.5 | 5.12.5 | M | CR | | | | | +| 158 | ONU remote debug | Used to allow remote debugging of an ONT | 9.1.12 | 9.1.12 | 5.1.8 | M | CR | | | | | +| 159 | Equipment protection profile | Defines equipment protection groups | 9.1.11 | 9.1.11 | | M | CR | | | | | +| 160 | Equipment extension package | Used for additional attributes that may be associated with an ONT or cardholder | 9.1.9 | 9.1.9 | | No | O | | | | | +| 161 | Port-mapping package[^B-PON] (use 297 for G-PON) | | | | | | | | | | | +| 162 | Physical path termination point MoCA UNI | Used for the physical path termination point for MoCA interfaces | 9.10.1 | 9.10.1 | | No | CR | | | | | +| 163 | MoCA Ethernet performance monitoring history data | Performance monitoring data for the Ethernet layer on the MoCA interface | 9.10.2 | 9.10.2 | | No | O | | | | | +| 164 | MoCA interface performance monitoring history data | Performance monitoring data for the physical layer on the MoCA interface | 9.10.3 | 9.10.3 | | No | O | | | | | +| 165 | VDSL2 line configuration extensions | Contains xDSL attributes unique to VDSL2 (G.993.2) | 9.7.6 | 9.7.6 | | No | CR | | | | | +| 166 | xDSL line inventory and status data part 3 | Contains additional test and status attributes for xDSL lines | 9.7.14 | 9.7.14 | | No | CR | | | | | +| 167 | xDSL line inventory and status data part 4 | Contains additional test and status attributes for xDSL lines | 9.7.15 | 9.7.15 | | No | CR | | | | | +| 168 | VDSL2 line inventory and status data part 1 | Contains additional test and status attributes for xDSL lines, specifically, extensions for VDSL2 | 9.7.16 | 9.7.16 | | No | CR | | | | | +| 169 | VDSL2 line inventory and status data part 2 | Contains additional test and status attributes for xDSL lines, specifically, extensions for VDSL2 | 9.7.17 | 9.7.17 | | No | CR | | | | | +| 170 | VDSL2 line inventory and status data part 3 | Contains additional test and status attributes for xDSL lines, specifically, extensions for VDSL2 | 9.7.18 | 9.7.18 | | No | CR | | | | | +| 171 | Extended VLAN tagging operation configuration data | Contains configuration parameters for enhanced VLAN operations, including adding, removing and changing multiple tags | 9.3.13 | 9.3.13 | 5.3.5 | M | CR | | | | | +| 172-239 | Reserved for future [^B-PON] managed entities | | | | | | | | | | | +| 240-255 | Reserved for vendor-specific managed entities | | | | | | | | | | | +| 256 | ONU-G (NOTE – In [^G_984_4] this was called ONT-G) | Used for ONT equipment management | 9.1.1 | 9.1.2 | 5.1.1 | M | R | M | M | | M | +| 257 | ONU2-G (NOTE – In [^G_984_4] this was called ONT2-G) | Used for ONT equipment management | 9.1.2 | 9.1.1 | 5.1.2 | M | R | M | M | | M | +| 258 | ONU-G (deprecated – note that the name is re-used for code point 256) | | | | | | | | | | | +| 259 | ONU2-G (deprecated – note that the name is re-used for code point 257) | | | | | | | | | | | +| 260 | PON IF line card-G | | | | | | | | | | | +| 261 | PON TC adapter-G | | | | | | | | | | | +| 262 | T-CONT | Used for DBA | 9.2.2 | 9.2.2 | 5.2.2 | M | R | M | M | | M | +| 263 | ANI-G | Used for ANI management | 9.2.1 | 9.2.1 | 5.2.1 | M | R | M | M | | M | +| 264 | UNI-G | Used for user network interface for GEM service | 9.12.1 | 9.12.1 | 5.12.1 | M | CR | | | | | +| 265 | ATM interworking VCC termination point | | | | | | | | | | | +| 266 | GEM interworking termination point | Used for non-ATM UNIs and GEM-based connections | 9.2.4 | 9.2.4 | 5.2.4 | M | CR | M | M | | M/E | +| 267 | GEM port performance monitoring history data (obsolete) | Used for GEM port performance monitoring | 9.2.6 | n/a | | | O | | | | | +| 268 | GEM port network CTP | Used for GEM port termination | 9.2.3 | 9.2.3 | 5.2.3 | M | CR | M | M | | M/E | +| 269 | VP network CTP (NOTE – In [^G_984_4] this was called VP network CTP-G) | Used for DSL ATM mode interworking | 9.13.9 | 9.13.9 | | No | CR | | | | | +| 270 | VC network CTP-G | | | | | | | | | | | +| 271 | GAL TDM profile (deprecated) | Used when the ONT supports GAL TDM | 9.2.9 | n/a | | M | O | | | | | +| 272 | GAL Ethernet profile | Used when the ONT supports GAL Ethernet | 9.2.7 | 9.2.7 | 5.2.6 | M | O | | | | N/A | +| 273 | Threshold data 1 | Used for PM threshold values | 9.12.6 | 9.12.6 | 5.12.6 | M | CR | | | | | +| 274 | Threshold data 2 | Used for PM threshold values | 9.12.7 | 9.12.7 | 5.12.7 | M | CR | | | | | +| 275 | GAL TDM performance monitoring history data (deprecated) | Used when GAL TDM layer performance monitoring is supported | 9.2.10 | n/a | | M | O | | | | | +| 276 | GAL Ethernet performance monitoring history data | Used when GAL Ethernet layer performance monitoring is supported | 9.2.8 | 9.2.8 | | M | O | | | | N/A | +| 277 | Priority queue (NOTE – In [^G_984_4] this was called Priority queue-G) | Used for ONTs that support priority queues to multiplex ATM or GEM traffic flows | 9.11.1 | 9.2.10 | 5.2.8 | | CR | | | | | +| 278 | Traffic scheduler (NOTE – In [^G_984_4] this was called Traffic scheduler-G) | Used for DBA | 9.11.2 | 9.2.11 | 5.2.9 | | CR | | | | | +| 279 | Protection data | Used for PON protection | 9.1.10 | 9.1.10 | | M | CR | | | | | +| 280 | Traffic descriptor (NOTE – In [^G_984_4] this was called GEM traffic descriptor) | Used for GEM-based connections | 9.11.3 | 9.2.12 | 5.2.10 | | CR | | | | | +| 281 | Multicast GEM interworking termination point | Used to manage multicasting support for GEM connection | 9.2.5 | 9.2.5 | 5.2.5 | M | CR | | | | | +| 282 | Pseudowire termination point | Used when the ONT supports the pseudowire function | 9.8.5 | 9.8.5 | | No | CR | | | | | +| 283 | RTP pseudowire parameters | Used when the ONT supports the pseudowire function | 9.8.6 | 9.8.6 | | No | CR | | | | | +| 284 | Pseudowire maintenance profile | Used when the ONT supports the pseudowire function | 9.8.7 | 9.8.7 | | No | CR | | | | | +| 285 | Pseudowire performance monitoring history data | Used when the ONT supports the pseudowire function | 9.8.8 | 9.8.8 | | No | CR | | | | | +| 286 | Ethernet flow termination point | Used when the ONT supports the pseudowire function over layer 2 | 9.8.9 | 9.8.9 | | No | CR | | | | | +| 287 | OMCI | Used when OMCI self-description is supported | 9.12.8 | 9.12.8 | 5.12.8 | No | CR | | | | | +| 288 | Managed entity | Used when OMCI self-description is supported | 9.12.9 | 9.12.9 | | No | CR | | | | | +| 289 | Attribute | Used when OMCI self-description is supported | 9.12.10 | 9.12.10 | | No | CR | | | | | +| 290 | Dot1X port extension package | Used for 802.1X control | 9.3.14 | 9.3.14 | 5.3.6 | No | CR | | | | | +| 291 | Dot1X configuration profile | Used for 802.1X control | 9.3.15 | 9.3.15 | | No | CR | | | | | +| 292 | Dot1X performance monitoring history data | Used for 802.1X control | 9.3.16 | 9.3.16 | | No | CR | | | | | +| 293 | Radius performance monitoring history data | Used for 802.1X radius client PM | 9.3.17 | 9.3.17 | | No | CR | | | | | +| 294 | TU CTP | Organizes data that describes the VC path adaptation processing functions of the ONT for SDH services | 9.8.10 | n/a | | | CR | | | | | +| 295 | TU performance monitoring history data | Performance monitoring data collected as a result of TU connection monitoring | 9.8.11 | n/a | | | O | | | | | +| 296 | Ethernet performance monitoring history data 3 | Used for Ethernet performance monitoring (RMON) | 9.5.4 | 9.5.4 | | No | O | | | | | +| 297 | Port-mapping package (NOTE – In [^G_984_4] this was called Port mapping package-G) | Used to map heterogeneous ports to an equipment entity | 9.1.8 | 9.1.8 | | M | O | | | | | +| 298 | Dot1 rate limiter | Provides for limiting and policing upstream traffic | 9.3.18 | 9.3.18 | | M | CR | | | | | +| 299 | Dot1ag maintenance domain | Supports 802.1ag configuration fault management | 9.3.19 | 9.3.19 | 5.3.7 | M | O | | | | | +| 300 | Dot1ag maintenance association | Supports 802.1ag configuration fault management | 9.3.20 | 9.3.20 | 5.3.8 | M | O | | | | | +| 301 | Dot1ag default MD level | Supports 802.1ag configuration fault management | 9.3.21 | 9.3.21 | | M | O | | | | | +| 302 | Dot1ag MEP | Supports 802.1ag configuration fault management | 9.3.22 | 9.3.22 | 5.3.9 | M | O | | | | | +| 303 | Dot1ag MEP status | Supports 802.1ag configuration fault management | 9.3.23 | 9.3.23 | | M | O | | | | | +| 304 | Dot1ag MEP CCM database | Supports 802.1ag configuration fault management | 9.3.24 | 9.3.24 | | M | O | | | | | +| 305 | Dot1ag CFM stack | Supports 802.1ag configuration fault management | 9.3.25 | 9.3.25 | 5.3.10 | M | O | | | | | +| 306 | Dot1ag chassis - management info | Supports 802.1ag configuration fault management | 9.3.26 | 9.3.26 | | M | O | | | | | +| 307 | Octet string | Allows for strings of up to 375 arbitrary octet values | 9.12.11 | 9.12.11 | | M | O | | | | | +| 308 | General purpose buffer | Used to return large blocks of data; structure defined with each specific application | 9.12.12 | 9.12.12 | | M | O | | | | | +| 309 | Multicast operations profile | Used to manage multicast at the ONT | 9.3.27 | 9.3.27 | 5.3.11 | M | CR | | | | | +| 310 | Multicast subscriber config info | Used to manage multicast at the ONT | 9.3.28 | 9.3.28 | 5.3.12 | M | CR | | | | | +| 311 | Multicast subscriber monitor | Used to manage multicast at the ONT | 9.3.29 | 9.3.29 | | M | O | | | | | +| 312 | FEC performance monitoring history data | Performance monitoring data for FEC on an ANI-G | 9.2.11 | 9.2.9 | 5.2.7 | M | O | | | | | +| 313 | RE ANI-G | | n/a | 9.14.1 | | | | | | | | +| 314 | Physical path termination point RE UNI | | n/a | 9.14.2 | | | | | | | | +| 315 | RE upstream amplifier | | n/a | 9.14.3 | | | | | | | | +| 316 | RE downstream amplifier | | n/a | 9.14.4 | | | | | | | | +| 317 | RE config portal | | n/a | 9.14.5 | | | | | | | | +| 318 | File transfer controller | | n/a | 9.12.13 | | | | | | | | +| 319 | CES physical interface performance monitoring history data 2 | | n/a | 9.8.12 | | | | | | | | +| 319 | CES physical interface performance monitoring history data 2 | | n/a | 9.8.12 | | | | | | | | +| 320 | CES physical interface performance monitoring history data 3 | | n/a | 9.8.13 | | | | | | | | +| 321 | Ethernet frame performance monitoring history data downstream | | n/a | 9.3.31 | 5.3.13 | | | | | | | +| 322 | Ethernet frame performance monitoring history data upstream | | n/a | 9.3.30 | 5.3.14 | | | | | | | +| 323 | VDSL2 line configuration extensions 2 | | n/a | 9.7.26 | | | | | | | | +| 324 | xDSL impulse noise monitor performance monitoring history data | | n/a | 9.7.27 | | | | | | | | +| 325 | xDSL line inventory and status data part 5 | | n/a | 9.7.28 | | | | | | | | +| 326 | xDSL line inventory and status data part 6 | | n/a | 9.7.29 | | | | | | | | +| 327 | xDSL line inventory and status data part 7 | | n/a | 9.7.30 | | | | | | | | +| 328 | RE common amplifier parameters | | n/a | 9.14.6 | | | | | | | | +| 329 | Virtual Ethernet interface point | | n/a | 9.5.5 | 5.5.3 | | | | | | | +| 330 | Generic status portal | | n/a | 9.12.14 | | | | | | | | +| 331 | ONU-E | | n/a | 9.1.13 | | | | | | M | N/A | +| 332 | Enhanced security control | | n/a | 9.13.11 | 5.13.1 | | | | | | | +| 333 | MPLS pseudowire termination point | | n/a | 9.8.14 | 5.13.1 | | | | | | | +| 334 | Ethernet frame extended PM | | n/a | 9.3.32 | | | | 9.3.34 | | | | +| 335 | Simple network management protocol (SNMP) configuration data | | n/a | 9.12.15 | 5.12.9 | | | | | | | +| 336 | ONU dynamic power management control | | n/a | 9.1.14 | 5.1.9 | | | | | | | +| 337 | PW ATM configuration data | | n/a | 9.8.15 | | | | | | | | +| 338 | PW ATM performance monitoring history data | | n/a | 9.8.16 | | | | | | | | +| 339 | PW Ethernet configuration data | | n/a | 9.8.17 | | | | | | | | +| 340 | BBF TR-069 management server | | n/a | 9.12.16 | 5.12.10 | | | | | | | +| 341 | GEM port network CTP performance monitoring history data | | n/a | 9.2.13 | 5.2.11 | | | | | | N/A | +| 342 | TCP/UDP performance monitoring history data | | n/a | 9.4.4 | | | | | | | | +| 343 | Energy consumption performance monitoring history data | | n/a | 9.2.14 | | | | | | | | +| 344 | XG-PON TC performance monitoring history data | | n/a | 9.2.15 | 5.2.12 | | | | | | | +| 345 | XG-PON downstream management performance monitoring history data | | n/a | 9.2.16 | 5.2.13 | | | | | | | +| 346 | XG-PON upstream management performance monitoring history data | | n/a | 9.2.17 | 5.2.14 | | | | | | | +| 347 | IPv6 host config data | | n/a | 9.4.5 | | | | | | | | +| 348 | MAC bridge port ICMPv6 process pre-assign table | | n/a | 9.3.33 | | | | | | | | +| 349 | Power over Ethernet (PoE) control | | n/a | 9.5.6 | 5.5.4 | | | | | | | +| 400 | Ethernet pseudowire parameters | | n/a | 9.8.18 | | | | | | | | +| 401 | Physical path termination point RS232/RS485 UNI | | n/a | 9.15.1 | | | | | | | | +| 402 | RS232/RS485 port operation configuration data | | n/a | 9.15.3 | | | | | | | | +| 403 | RS232/RS485 performance monitoring history data | | n/a | 9.15.2 | | | | | | | | +| 404 | L2 multicast GEM interworking termination point | | n/a | 9.2.18 | | | | | | | | +| 405 | ANI-E | | n/a | 9.2.19 | | | | | | | M | +| 406 | EPON downstream performance monitoring configuration | | n/a | 9.2.20 | | | | | | | | +| 407 | SIP agent config data 2 | | n/a | 9.9.21 | | | | | | | | +| 408 | xDSL xTU-C performance monitoring history data part 2 | | n/a | 9.7.31 | | | | | | | | +| 409 | PTM performance monitoring history data xDSL | | n/a | 9.7.32 | | | | | | | | +| 410 | VDSL2 line configuration extensions 3 | | n/a | 9.7.33 | | | | | | | | +| 411 | Vectoring line configuration extensions | | n/a | 9.7.34 | | | | | | | | +| 412 | xDSL channel configuration profile part 2 | | n/a | 9.7.35 | | | | | | | | +| 413 | xTU data gathering configuration | | n/a | 9.7.36 | | | | | | | | +| 414 | xDSL line inventory and status data part 8 | | n/a | 9.7.37 | | | | | | | | +| 415 | VDSL2 line inventory and status data part 4 | | n/a | 9.7.38 | | | | | | | | +| 416 | Vectoring line inventory and status data | | n/a | 9.7.39 | | | | | | | | +| 417 | Data gathering line test, diagnostic and status | | n/a | 9.7.40 | | | | | | | | +| 419 | EFM bonding group | | n/a | 9.7.41 | | | | | | | | +| 420 | EFM bonding link | | n/a | 9.7.42 | | | | | | | | +| 421 | EFM bonding group performance monitoring history data | | n/a | 9.7.43 | | | | | | | | +| 422 | EFM bonding group performance monitoring history data part 2 | | n/a | 9.7.44 | | | | | | | | +| 423 | EFM bonding link performance monitoring history data | | n/a | 9.7.45 | | | | | | | | +| 424 | EFM bonding port performance monitoring history data | | n/a | 9.7.46 | | | | | | | | +| 425 | EFM bonding port performance monitoring history data part 2 | | n/a | 9.7.47 | | | | | | | | +| 426 | Ethernet frame extended PM 64 bit | | n/a | 9.3.34 | | | | | | | | +| 427 | Physical path termination point xDSL UNI part 3 | | n/a | 9.7.48 | | | | | | | | +| 428 | FAST line configuration profile part 1 | | n/a | 9.7.49 | | | | | | | | +| 429 | FAST line configuration profile part 2 | | n/a | 9.7.50 | | | | | | | | +| 430 | FAST line configuration profile part 3 | | n/a | 9.7.51 | | | | | | | | +| 431 | FAST line configuration profile part 4 | | n/a | 9.7.52 | | | | | | | | +| 432 | FAST channel configuration profile | | n/a | 9.7.53 | | | | | | | | +| 433 | FAST data path configuration profile | | n/a | 9.7.54 | | | | | | | | +| 434 | FAST vectoring line configuration extensions | | n/a | 9.7.55 | | | | | | | | +| 435 | FAST line inventory and status data | | n/a | 9.7.56 | | | | | | | | +| 436 | FAST line inventory and status data part 2 | | n/a | 9.7.57 | | | | | | | | +| 437 | FAST xTU-C performance monitoring history data | | n/a | 9.7.58 | | | | | | | | +| 438 | FAST xTU-R performance monitoring history data | | n/a | 9.7.59 | | | | | | | | +| 439 | OpenFlow config data | | n/a | 9.12.18 | | | | | | | | +| 440 | Time Status Message | | | | | | | | | | | +| 441 | ONU3-G | | n/a | 9.1.15 | | | | | M | | | +| 442 | TWDM System Profile managed entity | | n/a | 9.16.1 | | | | | M | | | +| 443 | TWDM channel managed entity | | n/a | 9.16.2 | | | | | M | | | +| 444 | TWDM channel PHY/LODS performance monitoring history data | | n/a | 9.16.3 | | | | | | | | +| 445 | TWDM channel XGEM performance monitoring history data | | n/a | 9.16.4 | | | | | | | | +| 446 | TWDM channel PLOAM performance monitoring history data part 1 | | n/a | 9.16.5 | | | | | | | | +| 447 | TWDM channel PLOAM performance monitoring history data part 2 | | n/a | 9.16.6 | | | | | | | | +| 448 | TWDM channel PLOAM performance monitoring history data part 3 | | n/a | 9.16.7 | | | | | | | | +| 449 | TWDM channel tuning performance monitoring history data part 1 | | n/a | 9.16.8 | | | | | | | | +| 450 | TWDM channel tuning performance monitoring history data part 2 | | n/a | 9.16.9 | | | | | | | | +| 451 | TWDM channel tuning performance monitoring history data part 3 | | n/a | 9.16.10 | | | | | | | | +| 452 | TWDM channel OMCI performance monitoring history data | | n/a | 9.16.11 | | | | | | | | +| 350-399 | Reserved for vendor-specific use | | | | | | | | | | | +| 453-65279 | Reserved for future standardization | | | | | | | | | | | +| 65280-65535 | Reserved for vendor-specific use | | | | | | | | | | | + + +--- + +[^G_984_1]: *Gigabit-capable passive optical networks (GPON): General characteristics* https://www.itu.int/rec/T-REC-G.984.1 +[^G_988]: *G.988: ONU management and control interface (OMCI) specification* https://www.itu.int/rec/T-REC-G.988 +[^G_984_4]: *G.984.4: Gigabit-capable Passive Optical Networks (G-PON): ONT management and control interface specification* https://www.itu.int/rec/T-REC-G.988 +[^G_987]: *G.987: 10-Gigabit-capable passive optical network (XG-PON) systems: Definitions, abbreviations and acronyms* https://www.itu.int/rec/T-REC-G.987 +[^G_9807_1]: *G.9807.1: 10-Gigabit-capable symmetric passive optical network (XGS-PON)* https://www.itu.int/rec/T-REC-G.9807.1 +[^att_open_omci]: *AT&T Open OMCI Specification, Edition 3.0, 6/23/17* +[^verizon_open_omci]: *Verizon OpenOMCI Specification, Version 1.00 June 30, 2017* +[^B-PON]: MIB for legacy B-PON + diff --git a/_gpon/ont.md b/_gpon/ont.md index 84bb5581..2e6e0f58 100644 --- a/_gpon/ont.md +++ b/_gpon/ont.md @@ -15,7 +15,7 @@ Currently, there are only a few main GPON chipset vendors: - RTL9601B - RTL9601CI (HSGMII) - RTL9601D (HSGMII) - * RTL9602/RTL9603 series (for router with integrated PON) + * RTL9602/RTL9603 series (for routers with integrated PON) * Cortina QWCS8032E - Lantiq: * PEB98035 (HSGMII) diff --git a/_gpon/pptp_veip.md b/_gpon/pptp_veip.md new file mode 100644 index 00000000..f904abbe --- /dev/null +++ b/_gpon/pptp_veip.md @@ -0,0 +1,145 @@ +--- +title: GPON PPTP and VEIP +has_children: false +nav_order: 3 +layout: default +--- + +ONTs are the terminating elements of every PON network and play an essential role in the PON architecture. The ONT converts the optical media into an electrical interface and takes care of authenticating, monitoring, processing as well as managing all matters related to the GPON tree. Often these devices are installed directly in users' homes[^hsgp_hg_sfu]. + +Three layers can be identified in the ONT: core layer, service layer and public layer. +- The core layer provides multiplexing and the optical interface; +- the service layer refers mainly to the user port; +- the public layer provides power and maintenance management[^hsgp_hg_sfu]. + +ONTs can connect to various terminal devices, such as set-top boxes, wireless routers, TVs, etc., and perform photoelectric conversion, maintenance and monitoring functions. According to the application, ONTs can be divided into six types, namely[^hsgp_hg_sfu]: +- SFU (Single Family Unit) ONT +- HGU (Home Gateway Unit) ONT +- MDU (Multi-Dwelling Unit) ONT +- SBU (Single Business Unit) ONT +- MTU (Multi-Tenant Unit) ONT +- CBU (Cellular Backhaul Unit) ONT + +However, only SFU ONTs and HGU ONTs are used by end-users in practical application. + +HGU ONTs are a home gateway with a PON uplink interface; they're designed for use in single home units. HGU ONTs integrate the functions of ONTs and RGs to realize more complex control and management and also provide Ethernet / IP, VoIP, optional CATV services and routing mode (firewall and NAT). Usually HGU ONTs have Ethernet interfaces, but POTS, WLAN, USB and CATV RF interfaces are also available. The HGU is a Layer III device[^hsgp_hg_sfu]. + +The ONT SFU type can be understood as a simple Layer II device, like an L2 switch or media converter. It usually has a single Ethernet port and it is exclusively an optical-electric converter. It simply and transparently transports traffic from the PON interface to the Ethernet port(s) of the customer's ONT. No routing or VoIP functionality is assumed for this SFU type. For SFUs, a simple service configuration from the OLT station is used. SFU devices are usually cheaper, because additional services (routing, telephony, TV) are not implemented. + +Within the GPON OMCI standards we can find two types of interfaces: VEIP and PPTP. These virtual interfaces are the boundary between the GPON/OMCI part and the non-GPON/Ethernet part[^G_984_4],[^G_988],[^hsgp_hg_sfu]. + +ONTs will report VEIP or PPTP (Physical Path Termination Point) when MIB 11 or 329 is uploaded according to the type of the device. Only one VEIP is allowed in a HGU and VEIP is not available for SFU devices. OLTs determine the ONT type based on the ONT Type attribute in ME Capability. + +# Physical Path Termination Point (PPTP/Ethernet UNI - MIB 11) + +PPTP/EthUni, on the other hand, is designed for transparent L2 bridging, potentially each with its own VLAN. The OLT is responsible of the provisioning of VLANs and LAN Ports[^nanomad_fc],[^anime_rtl960x]. + +The SFU type ONT device is configured and controlled completely remotely by the OLT via the OMCI management interface. Generally these devices do not require special configurations and therefore access to the web interface of the client ONT device is not required, although it is possible to update the software. To configure the switching of the required VLANs, the Ethernet port profiles of the client ONT are created at the OLT. Most user-side configurations must be made in the devices connected to the SFU. + +For OMCI data flow, there is a mutually unambiguous mapping between the GEM port on the OLT side with the UNI Ethernet port on the terminal side of the ONT. All data packets can pass through without learning or forwarding the MAC address. SFU ONTs support multiple VLANs through bridge mode. + +```mermaid +flowchart LR + subgraph BRIDGE + VLAN0[VLAN untagged] --> eth0 + VLAN1[VLAN 1] --> eth0 + VLANn[VLAN n] --> eth0 + eth0 --> WAN + end + subgraph OMCI + WAN --> PPTP["PPTP Ethernet UNI"] + PPTP --> bridge((MAC BRIDGE)) + subgraph M0[" "] + direction LR + VlanFIT0[VlanFIT] -.- Port0[Port] --> 80210[802.1p Mapping] + 80210 <--> GEMIWTP0[GEM Interworking TP] + 80210 <--> GEMIWTP02[GEM Interworking TP] + + end + bridge --> M0 + subgraph M1[" "] + direction LR + VlanFIT1[VlanFIT] -.- Port1[Port] + Port1 --> 80211[802.1p Mapping] + 80211 <--> GEMIWTP1[GEM Interworking TP] + 80211 <--> GEMIWTP12[GEM Interworking TP] + end + bridge --> M1 + subgraph M2[" "] + direction LR + VlanFIT2[VlanFIT] -.- Port2[Port] + Port2 --> 80212[802.1p Mapping] + 80212 <--> GEMIWTP2[GEM Interworking TP] + end + bridge --> M2 + M0 --> GEM((GEM Port Network CTP)) + M1 --> GEM + M2 --> GEM + end +ExtVlan --> PPTP +``` +Source [^cablefax_future], [^G_988] + +# Virtual Ethernet Interface Point (VEIP - MIB 329) + +VEIP is a service profile designed to terminate the connection directly on the CPE, providing various services (voice, data, video) each with its own characteristics. It allows multiple Ethernet services to be carried over a single PON link. VEIP virtualises all interfaces of the ONU. + +Similarly, all UNI-side modules within a VEIP are invisible to and cannot be managed by OMCI or the user. They are only visible and manageable to a management domain other than OMCI. In addition, each ONT must have only one VEIP. + +In some countries, it is also used to allow quick switches between ISPs: ISP A is assigned to Ethernet port 1 of the HGU, ISP B is assigned to Ethernet port 2 of the HGU, and so on[^nanomad_fc],[^anime_rtl960x],[^huawei_veip]. + + +```mermaid +flowchart LR + subgraph RG + eth0 --> br0 --> WAN0[WAN0 VID100] + eth1 --> br1 --> WAN1[WAN1 untagged] + eth2 --> br1 + br2 --> WAN2[WAN1 VID300/P2] + eht3 --> br3 --> WAN2 + end + subgraph OMCI + WAN1 --> VEIP + WAN2 --> VEIP + WAN0 --> VEIP + VEIP --> bridge((BRIDGE)) + subgraph M0[" "] + direction LR + VlanFIT0[VlanFIT] -.- Port0[Port] --> 80210[802.1p Mapping] + 80210 <--> GEMIWTP0[GEM Interworking TP] + 80210 <--> GEMIWTP02[GEM Interworking TP] + + end + bridge --> M0 + subgraph M1[" "] + direction LR + VlanFIT1[VlanFIT] -.- Port1[Port] + Port1 --> 80211[802.1p Mapping] + 80211 <--> GEMIWTP1[GEM Interworking TP] + 80211 <--> GEMIWTP12[GEM Interworking TP] + end + bridge --> M1 + subgraph M2[" "] + direction LR + VlanFIT2[VlanFIT] -.- Port2[Port] + Port2 --> 80212[802.1p Mapping] + 80212 <--> GEMIWTP2[GEM Interworking TP] + end + bridge --> M2 + M0 --> GEM((GEM Port Network CTP)) + M1 --> GEM + M2 --> GEM + end +ExtVlan --> VEIP +``` +Source [^hsgp_hg_sfu] + +--- + +[^G_988]: *G.988: ONU management and control interface (OMCI) specification* https://www.itu.int/rec/T-REC-G.988 +[^G_984_4]: *G.984.4: Gigabit-capable Passive Optical Networks (G-PON): ONT management and control interface specification* https://www.itu.int/rec/T-REC-G.988 +[^hsgp_hg_sfu]: *Differences between HGU ONU and SFU ONU* https://hsgq.com/optical-module/296.html +[^anime_rtl960x]: *Hacking RTL960x* https://github.com/Anime4000/RTL960x +[^nanomad_fc]: *XGS-PON - ONT SFP+ su router proprietario* https://forum.fibra.click/d/39131-xgs-pon-ont-sfp-su-router-proprietario/12 +[^huawei_veip]: *VEIP knowledge* https://forum.huawei.com/enterprise/en/veip-knowledge/thread/771975-100181 +[^cablefax_future]: *PONs: Why Testing For Conformance And Interoperability Are Key To Their Future* https://www.cablefax.com/archives/pons-why-testing-for-conformance-and-interoperability-are-key-to-their-future \ No newline at end of file diff --git a/_gpon/vendor.md b/_gpon/vendor.md index f2167de9..8705c1f4 100644 --- a/_gpon/vendor.md +++ b/_gpon/vendor.md @@ -5,7 +5,7 @@ nav_order: 4 layout: default --- -> 4 ASCII character +> 4 ASCII characters Needs to be set for the OLT to authenticate your ONT; please read your original ONT's Serial Number, it can be either in HEX or ASCII: if it's codified in HEX, you need to convert the first eight HEX digits to ASCII, for example `48575443` = `HWTC`. @@ -14,28 +14,54 @@ Here is a list of the most popular Vendor IDs: | ID | HEX ID | Vendor Name | | ------ | ---------- | -------------------- | +| `ADTN` | `4144544e` | Adtran | | `ALCL` | `414c434c` | Nokia/Alcatel-Lucent | +| `ALLG` | `414c4c47` | ALLNET | +| `AVMG` | `41564d47` | AVM (FRITZ!Box) | +| `ASKY` | `41534b59` | Askey | +| `CDKT` | `43444B54` | KingType | | `CIGG` | `43494747` | Cig | +| `CXNK` | `43584e4b` | Calix | +| `DDKT` | `44444b54` | DKT | | `DLNK` | `444c4e4b` | Dlink | +| `DSNW` | `44534e57` | DASAN | +| `ELTR` | `454c5452` | Electra | | `ELTX` | `454c5458` | Eltex | -| `FHTT` | `46485454` | Fiber Home | +| `FHTT` | `46485454` | FiberHome | +| `GMTK` | `474d544b` | GemTek | | `GNXS` | `474e5853` | Genexis | +| `GPNC` | `47504E43` | NuCom | | `GPON` | `47504f4e` | Generic vendor name | +| `GTHG` | `47544847` | Alcatel-Lucent (ODM) | | `HALN` | `48414c4e` | HALNy | | `HBMT` | `48424d54` | HiSense | +| `HSGQ` | `48534751` | HSGQ | +| `HUMA` | `48554d41` | Humax | | `HWTC` | `48575443` | Huawei | +| `ICTR` | `49435452` | Icotera | | `ISKT` | `49534b54` | Iskratel | +| `KAON` | `4b414f4e` | KAONMEDIA | | `LEOX` | `4c454f58` | LEOX | | `LQDE` | `4c514445` | Lantiq | +| `NOKG` | `4e4f4b47` | Nokia (GemTek ODM) | +| `NOKW` | `4e4f4b57` | Nokia (GemTek ODM) | +| `MSTC` | `4d535443` | Mitrastar | | `PTIN` | `5054494e` | Altice/PT Inovação | | `RTKG` | `52544b47` | Realtek | | `SCOM` | `53434f4d` | Sercomm | +| `SKYW` | `534b5957` | Skyworth | | `SMBS` | `534d4253` | Sagemcom | | `SPGA` | `53504741` | SourcePhotonics | | `TMBB` | `544d4242` | Technicolor | | `TPLG` | `54504c47` | TP-Link | | `UBNT` | `55424e54` | Ubiquiti | +| `UGRD` | `55475244` | UGrid | +| `YOTC` | `594f5443` | YOTC | +| `YHTC` | `59485443` | Youhua | +| `ZNTS` | `5a4e5453` | DZS | +| `ZRMT` | `5a524d54` | Zaram | | `ZTEG` | `5a544547` | ZTE | | `ZYWN` | `5a59574e` | Zyxel | +| `ZYXE` | `5a595845` | Zyxel | -{% include alert.html content="You can also help us with the content of this site, on each page you will find a button to edit on GitHub." alert="Tip" icon="svg-info" color="green" %} +{% include alert.html content="You can also help us with adding content to this site, you can find a button to edit on GitHub on each page." alert="Tip" icon="svg-info" color="green" %} diff --git a/_includes/cig_password.html b/_includes/cig_password.html index c49e834b..5223e35c 100644 --- a/_includes/cig_password.html +++ b/_includes/cig_password.html @@ -1,7 +1,7 @@
- +
Please provide a valid GPON S/N. @@ -20,6 +20,8 @@
+ + + + +
diff --git a/_includes/root_lantiq.html b/_includes/root_lantiq.html index fd8912c7..4a0bd13a 100644 --- a/_includes/root_lantiq.html +++ b/_includes/root_lantiq.html @@ -46,6 +46,8 @@

Root status

document.getElementById('start-button').disabled = false; } else { document.getElementById('browser-error').style.display = 'block'; + document.getElementById('start-button').disabled = true; + document.getElementById('start-button').innerHTML=document.getElementById('start-button').innerText.strike(); } const acontroller = new AbortController(); const cs = acontroller.signal; diff --git a/_includes/serial_dump.html b/_includes/serial_dump.html new file mode 100644 index 00000000..61deedcd --- /dev/null +++ b/_includes/serial_dump.html @@ -0,0 +1,10 @@ +
+ {{include.title}} +
+
+
+                {% capture dump_content %}{% include_relative {{include.file | replace: "\", "/" | prepend: 'serial_dump/' | relative_url}} %}{% endcapture %}{{ dump_content | escape }}
+            
+
+
+
diff --git a/_includes/ymodem_lantiq.html b/_includes/ymodem_lantiq.html index dffbc32a..d8ee215a 100644 --- a/_includes/ymodem_lantiq.html +++ b/_includes/ymodem_lantiq.html @@ -44,6 +44,8 @@

Flash firmware

document.getElementById('flash-start-button').disabled = false; } else { document.getElementById('flash-browser-error').style.display = 'block'; + document.getElementById('flash-start-button').disabled = true; + document.getElementById('flash-start-button').innerHTML=document.getElementById('flash-start-button').innerText.strike() } const acontroller = new AbortController(); const cs = acontroller.signal; @@ -202,4 +204,4 @@

Flash firmware

} }); }; - \ No newline at end of file + diff --git a/_layouts/default.html b/_layouts/default.html index 2242e574..2c060d68 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -7,6 +7,16 @@ {% include head.html %} + {% if site.enable_rainbow == true %} + + {% endif %} Skip to main content @@ -51,6 +61,11 @@