summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiovanni Condello <giovanni.condello@coderit.it>2022-08-04 19:41:23 +0200
committerSimone Bortolin <simonebortolin@users.noreply.github.com>2022-12-19 22:48:31 +0100
commit669e2c60c51c9df52e8fa1ae8fffc86eb8794bd0 (patch)
treed458409409493a304d9358b25b42973d7dabdaf9
parentAFM TIM hacking (diff)
downloadhack-gpon.github.io-669e2c60c51c9df52e8fa1ae8fffc86eb8794bd0.tar
hack-gpon.github.io-669e2c60c51c9df52e8fa1ae8fffc86eb8794bd0.tar.gz
hack-gpon.github.io-669e2c60c51c9df52e8fa1ae8fffc86eb8794bd0.tar.bz2
hack-gpon.github.io-669e2c60c51c9df52e8fa1ae8fffc86eb8794bd0.tar.lz
hack-gpon.github.io-669e2c60c51c9df52e8fa1ae8fffc86eb8794bd0.tar.xz
hack-gpon.github.io-669e2c60c51c9df52e8fa1ae8fffc86eb8794bd0.tar.zst
hack-gpon.github.io-669e2c60c51c9df52e8fa1ae8fffc86eb8794bd0.zip
-rw-r--r--.gitignore12
-rw-r--r--404.html22
-rw-r--r--Gemfile6
-rw-r--r--_config.yml110
-rw-r--r--_layouts/default.html406
-rw-r--r--assets/js/theme-switch.js40
-rw-r--r--bin/just-the-docs30
-rw-r--r--index.md20
-rw-r--r--just-the-docs.gemspec40
-rw-r--r--ont-Alcatel-G-010S-A.md88
-rw-r--r--ont-CarlitoxxPro-CPGOS03-0490-v2.md96
-rw-r--r--ont-D-LINK-DPN-100-Rev-A.md78
-rw-r--r--ont-DFP-34X-2C2.md98
-rw-r--r--ont-Halny-HL-GSFP.md74
-rw-r--r--ont-Hilink-HL23446.md76
-rw-r--r--ont-Huawei-HG8010H.md78
-rw-r--r--ont-Nokia-G-010S-Q.md64
-rw-r--r--ont-Nokia-g-010g-q.md64
-rw-r--r--ont-ODI-DFP-34X-C2C.md96
-rw-r--r--ont-Sercomm-FGS202.md88
-rw-r--r--ont-SourcePhotonics-SPS-34-24T-HP-TDFO.md80
-rw-r--r--ont-TWCGPON657.md96
-rw-r--r--ont-UFiber-UF-Instant.md100
-rw-r--r--ont-ZTE-F6005.md70
-rw-r--r--ont-ZTE-F601.md72
-rw-r--r--ont-Zyxel-PMG3000-D20B.md78
-rw-r--r--ont-huawei-ma5671a.md106
-rw-r--r--ont-nokia-g-s010s-p.md74
-rw-r--r--ont-technicolor-afm0002.md413
-rw-r--r--ont-vsol-V2801F.md98
-rw-r--r--ont.md12
-rw-r--r--rakefile2
32 files changed, 1400 insertions, 1387 deletions
diff --git a/.gitignore b/.gitignore
index 7c68ae8..ea3f412 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
-### Jekyll ###
-_site/
-.sass-cache/
-.jekyll-cache/
-.jekyll-metadata
-Gemfile.lock
+### Jekyll ###
+_site/
+.sass-cache/
+.jekyll-cache/
+.jekyll-metadata
+Gemfile.lock
assets/js/zzzz-search-data.json \ No newline at end of file
diff --git a/404.html b/404.html
index 5fde966..b3efccd 100644
--- a/404.html
+++ b/404.html
@@ -1,11 +1,11 @@
----
-layout: default
-title: 404
-permalink: /404
-nav_exclude: true
-search_exclude: true
----
-
-<h1>Page not found</h1>
-
-<p>The page you requested could not be found. Try using the navigation {% if site.search_enabled != false %}or search {% endif %}to find what you're looking for or go to this <a href="{{ '/' | absolute_url }}">site's home page</a>.</p>
+---
+layout: default
+title: 404
+permalink: /404
+nav_exclude: true
+search_exclude: true
+---
+
+<h1>Page not found</h1>
+
+<p>The page you requested could not be found. Try using the navigation {% if site.search_enabled != false %}or search {% endif %}to find what you're looking for or go to this <a href="{{ '/' | absolute_url }}">site's home page</a>.</p>
diff --git a/Gemfile b/Gemfile
index 88f75a2..c4ef6c8 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,4 +1,4 @@
-source "https://rubygems.org"
-gemspec
-
+source "https://rubygems.org"
+gemspec
+
gem "webrick" \ No newline at end of file
diff --git a/_config.yml b/_config.yml
index f178038..3ece38d 100644
--- a/_config.yml
+++ b/_config.yml
@@ -1,55 +1,55 @@
-remote_theme: just-the-docs/just-the-docs
-title: "Hack GPON"
-baseurl:
-permalink: '/:title'
-search_enabled: true
-search:
- # Split pages into sections that can be searched individually
- # Supports 1 - 6, default: 2
- heading_level: 2
- # Maximum amount of previews per search result
- # Default: 3
- previews: 3
- # Maximum amount of words to display before a matched word in the preview
- # Default: 5
- preview_words_before: 5
- # Maximum amount of words to display after a matched word in the preview
- # Default: 10
- preview_words_after: 10
- # Set the search token separator
- # Default: /[\s\-/]+/
- # Example: enable support for hyphenated search words
- tokenizer_separator: /[\s/]+/
- # Display the relative url in search results
- # Supports true (default) or false
- rel_url: true
- # Enable or disable the search button that appears in the bottom right corner of every page
- # Supports true or false (default)
- button: false
-
-color_scheme: "light"
-url: "https://hack-gpon.github.io/"
-nav_sort: case_sensitive
-
-aux_links:
- "Hack GPON on GitHub":
- - "//github.com/hack-gpon/hack-gpon.github.io"
-
-back_to_top: true
-back_to_top_text: "Back to top"
-
-footer_content: "Copyright &copy; 2022"
-
-last_edit_timestamp: true
-last_edit_time_format: "%D at %R"
-
-gh_edit_link: true # show or hide edit this page link
-gh_edit_link_text: "Edit this page on GitHub"
-gh_edit_repository: "https://github.com/hack-gpon/hack-gpon.github.io" # the github URL for your repo
-gh_edit_branch: "main" # the branch that your docs is served from
-
-
-
-plugins:
- - jekyll-seo-tag
-
+remote_theme: just-the-docs/just-the-docs
+title: "Hack GPON"
+baseurl:
+permalink: '/:title'
+search_enabled: true
+search:
+ # Split pages into sections that can be searched individually
+ # Supports 1 - 6, default: 2
+ heading_level: 2
+ # Maximum amount of previews per search result
+ # Default: 3
+ previews: 3
+ # Maximum amount of words to display before a matched word in the preview
+ # Default: 5
+ preview_words_before: 5
+ # Maximum amount of words to display after a matched word in the preview
+ # Default: 10
+ preview_words_after: 10
+ # Set the search token separator
+ # Default: /[\s\-/]+/
+ # Example: enable support for hyphenated search words
+ tokenizer_separator: /[\s/]+/
+ # Display the relative url in search results
+ # Supports true (default) or false
+ rel_url: true
+ # Enable or disable the search button that appears in the bottom right corner of every page
+ # Supports true or false (default)
+ button: false
+
+color_scheme: "light"
+url: "https://hack-gpon.github.io/"
+nav_sort: case_sensitive
+
+aux_links:
+ "Hack GPON on GitHub":
+ - "//github.com/hack-gpon/hack-gpon.github.io"
+
+back_to_top: true
+back_to_top_text: "Back to top"
+
+footer_content: "Copyright &copy; 2022"
+
+last_edit_timestamp: true
+last_edit_time_format: "%D at %R"
+
+gh_edit_link: true # show or hide edit this page link
+gh_edit_link_text: "Edit this page on GitHub"
+gh_edit_repository: "https://github.com/hack-gpon/hack-gpon.github.io" # the github URL for your repo
+gh_edit_branch: "main" # the branch that your docs is served from
+
+
+
+plugins:
+ - jekyll-seo-tag
+
diff --git a/_layouts/default.html b/_layouts/default.html
index 5dedcc9..5dd8436 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -1,204 +1,204 @@
----
-layout: table_wrappers
----
-
-<!DOCTYPE html>
-
-<html lang="{{ site.lang | default: 'en-US' }}">
-{% include head.html %}
-<body>
- <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
- <symbol id="svg-link" viewBox="0 0 24 24">
- <title>Link</title>
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link">
- <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>
- </svg>
- </symbol>
- <symbol id="svg-search" viewBox="0 0 24 24">
- <title>Search</title>
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search">
- <circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line>
- </svg>
- </symbol>
- <symbol id="svg-menu" viewBox="0 0 24 24">
- <title>Menu</title>
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu">
- <line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line>
- </svg>
- </symbol>
- <symbol id="svg-arrow-right" viewBox="0 0 24 24">
- <title>Expand</title>
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right">
- <polyline points="9 18 15 12 9 6"></polyline>
- </svg>
- </symbol>
- <symbol id="svg-doc" viewBox="0 0 24 24">
- <title>Document</title>
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file">
- <path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline>
- </svg>
- </symbol>
- </svg>
-
- <div class="side-bar">
- <div class="site-header">
- <a href="{{ '/' | absolute_url }}" class="site-title lh-tight">{% include title.html %}</a>
- <a href="#" id="menu-button" class="site-button">
- <svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-menu"></use></svg>
- </a>
- </div>
- <nav role="navigation" aria-label="Main" id="site-nav" class="site-nav">
- {% if site.just_the_docs.collections %}
- {% assign collections_size = site.just_the_docs.collections | size %}
- {% for collection_entry in site.just_the_docs.collections %}
- {% assign collection_key = collection_entry[0] %}
- {% assign collection_value = collection_entry[1] %}
- {% assign collection = site[collection_key] %}
- {% if collection_value.nav_exclude != true %}
- {% if collections_size > 1 %}
- <div class="nav-category">{{ collection_value.name }}</div>
- {% endif %}
- {% include nav.html pages=collection %}
- {% endif %}
- {% endfor %}
- {% else %}
- {% include nav.html pages=site.html_pages %}
- {% endif %}
- </nav>
- <footer class="site-footer">
- This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.
- </footer>
- </div>
- <div class="main" id="top">
- <div id="main-header" class="main-header">
- {% if site.search_enabled != false %}
- <div class="search">
- <div class="search-input-wrap">
- <input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search {{ site.title }}" aria-label="Search {{ site.title }}" autocomplete="off">
- <label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label>
- </div>
- <div id="search-results" class="search-results"></div>
- </div>
- {% endif %}
- {% include header_custom.html %}
- {% if site.aux_links %}
- <nav aria-label="Auxiliary" class="aux-nav">
- <ul class="aux-nav-list">
- {% for link in site.aux_links %}
- <li class="aux-nav-list-item">
- <a href="{{ link.last }}" class="site-button"
- {% if site.aux_links_new_tab %}
- target="_blank" rel="noopener noreferrer"
- {% endif %}
- >
- {{ link.first }}
- </a>
- </li>
- {% endfor %}
- </ul>
- </nav>
- {% endif %}
- <nav class="aux-nav"><ul class="aux-nav-list"><li class="aux-nav-list-item"><span class="site-button "><a class="btn js-toggle-dark-mode">Dark mode</a></span></li></ul></nav>
- </div>
- <div id="main-content-wrap" class="main-content-wrap">
- {% unless page.url == "/" %}
- {% if page.parent %}
- {%- for node in pages_list -%}
- {%- if node.parent == nil -%}
- {%- if page.parent == node.title or page.grand_parent == node.title -%}
- {%- assign first_level_url = node.url | absolute_url -%}
- {%- endif -%}
- {%- if node.has_children -%}
- {%- assign children_list = pages_list | where: "parent", node.title -%}
- {%- for child in children_list -%}
- {%- if page.url == child.url or page.parent == child.title -%}
- {%- assign second_level_url = child.url | absolute_url -%}
- {%- endif -%}
- {%- endfor -%}
- {%- endif -%}
- {%- endif -%}
- {%- endfor -%}
- <nav aria-label="Breadcrumb" class="breadcrumb-nav">
- <ol class="breadcrumb-nav-list">
- {% if page.grand_parent %}
- <li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.grand_parent }}</a></li>
- <li class="breadcrumb-nav-list-item"><a href="{{ second_level_url }}">{{ page.parent }}</a></li>
- {% else %}
- <li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.parent }}</a></li>
- {% endif %}
- <li class="breadcrumb-nav-list-item"><span>{{ page.title }}</span></li>
- </ol>
- </nav>
- {% endif %}
- {% endunless %}
- <div id="main-content" class="main-content" role="main">
- {% if site.heading_anchors != false %}
- {% include vendor/anchor_headings.html html=content beforeHeading="true" anchorBody="<svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><use xlink:href=\"#svg-link\"></use></svg>" anchorClass="anchor-heading" anchorAttrs="aria-labelledby=\"%html_id%\"" %}
- {% else %}
- {{ content }}
- {% endif %}
-
- {% if page.has_children == true and page.has_toc != false %}
- <hr>
- <h2 class="text-delta">Table of contents</h2>
- <ul>
- {%- assign children_list = pages_list | where: "parent", page.title | where: "grand_parent", page.parent -%}
- {% for child in children_list %}
- <li>
- <a href="{{ child.url | absolute_url }}">{{ child.title }}</a>{% if child.summary %} - {{ child.summary }}{% endif %}
- </li>
- {% endfor %}
- </ul>
- {% endif %}
-
- {% capture footer_custom %}
- {%- include footer_custom.html -%}
- {% endcapture %}
- {% if footer_custom != "" or site.last_edit_timestamp or site.gh_edit_link %}
- <hr>
- <footer>
- {% if site.back_to_top %}
- <p><a href="#top" id="back-to-top">{{ site.back_to_top_text }}</a></p>
- {% endif %}
-
- {{ footer_custom }}
-
- {% if site.last_edit_timestamp or site.gh_edit_link %}
- <div class="d-flex mt-2">
- {% if site.last_edit_timestamp and site.last_edit_time_format and page.last_modified_date %}
- <p class="text-small text-grey-dk-000 mb-0 mr-2">
- Page last modified: <span class="d-inline-block">{{ page.last_modified_date | date: site.last_edit_time_format }}</span>.
- </p>
- {% endif %}
- {% if
- site.gh_edit_link and
- site.gh_edit_link_text and
- site.gh_edit_repository and
- site.gh_edit_branch and
- site.gh_edit_view_mode
- %}
- <p class="text-small text-grey-dk-000 mb-0">
- <a href="{{ site.gh_edit_repository }}/{{ site.gh_edit_view_mode }}/{{ site.gh_edit_branch }}{% if site.gh_edit_source %}/{{ site.gh_edit_source }}{% endif %}/{{ page.path }}" id="edit-this-page">{{ site.gh_edit_link_text }}</a>
- </p>
- {% endif %}
- </div>
- {% endif %}
- </footer>
- {% endif %}
-
- </div>
- </div>
-
- {% if site.search_enabled != false %}
- {% if site.search.button %}
- <a href="#" id="search-button" class="search-button">
- <svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-search"></use></svg>
- </a>
- {% endif %}
-
- <div class="search-overlay"></div>
- {% endif %}
- </div>
- <script src="{{ base.url | prepend: site.url }}/assets/js/theme-switch.js"></script>
-</body>
+---
+layout: table_wrappers
+---
+
+<!DOCTYPE html>
+
+<html lang="{{ site.lang | default: 'en-US' }}">
+{% include head.html %}
+<body>
+ <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-link" viewBox="0 0 24 24">
+ <title>Link</title>
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link">
+ <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>
+ </svg>
+ </symbol>
+ <symbol id="svg-search" viewBox="0 0 24 24">
+ <title>Search</title>
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search">
+ <circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-doc" viewBox="0 0 24 24">
+ <title>Document</title>
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file">
+ <path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline>
+ </svg>
+ </symbol>
+ </svg>
+
+ <div class="side-bar">
+ <div class="site-header">
+ <a href="{{ '/' | absolute_url }}" class="site-title lh-tight">{% include title.html %}</a>
+ <a href="#" id="menu-button" class="site-button">
+ <svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-menu"></use></svg>
+ </a>
+ </div>
+ <nav role="navigation" aria-label="Main" id="site-nav" class="site-nav">
+ {% if site.just_the_docs.collections %}
+ {% assign collections_size = site.just_the_docs.collections | size %}
+ {% for collection_entry in site.just_the_docs.collections %}
+ {% assign collection_key = collection_entry[0] %}
+ {% assign collection_value = collection_entry[1] %}
+ {% assign collection = site[collection_key] %}
+ {% if collection_value.nav_exclude != true %}
+ {% if collections_size > 1 %}
+ <div class="nav-category">{{ collection_value.name }}</div>
+ {% endif %}
+ {% include nav.html pages=collection %}
+ {% endif %}
+ {% endfor %}
+ {% else %}
+ {% include nav.html pages=site.html_pages %}
+ {% endif %}
+ </nav>
+ <footer class="site-footer">
+ This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.
+ </footer>
+ </div>
+ <div class="main" id="top">
+ <div id="main-header" class="main-header">
+ {% if site.search_enabled != false %}
+ <div class="search">
+ <div class="search-input-wrap">
+ <input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search {{ site.title }}" aria-label="Search {{ site.title }}" autocomplete="off">
+ <label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label>
+ </div>
+ <div id="search-results" class="search-results"></div>
+ </div>
+ {% endif %}
+ {% include header_custom.html %}
+ {% if site.aux_links %}
+ <nav aria-label="Auxiliary" class="aux-nav">
+ <ul class="aux-nav-list">
+ {% for link in site.aux_links %}
+ <li class="aux-nav-list-item">
+ <a href="{{ link.last }}" class="site-button"
+ {% if site.aux_links_new_tab %}
+ target="_blank" rel="noopener noreferrer"
+ {% endif %}
+ >
+ {{ link.first }}
+ </a>
+ </li>
+ {% endfor %}
+ </ul>
+ </nav>
+ {% endif %}
+ <nav class="aux-nav"><ul class="aux-nav-list"><li class="aux-nav-list-item"><span class="site-button "><a class="btn js-toggle-dark-mode">Dark mode</a></span></li></ul></nav>
+ </div>
+ <div id="main-content-wrap" class="main-content-wrap">
+ {% unless page.url == "/" %}
+ {% if page.parent %}
+ {%- for node in pages_list -%}
+ {%- if node.parent == nil -%}
+ {%- if page.parent == node.title or page.grand_parent == node.title -%}
+ {%- assign first_level_url = node.url | absolute_url -%}
+ {%- endif -%}
+ {%- if node.has_children -%}
+ {%- assign children_list = pages_list | where: "parent", node.title -%}
+ {%- for child in children_list -%}
+ {%- if page.url == child.url or page.parent == child.title -%}
+ {%- assign second_level_url = child.url | absolute_url -%}
+ {%- endif -%}
+ {%- endfor -%}
+ {%- endif -%}
+ {%- endif -%}
+ {%- endfor -%}
+ <nav aria-label="Breadcrumb" class="breadcrumb-nav">
+ <ol class="breadcrumb-nav-list">
+ {% if page.grand_parent %}
+ <li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.grand_parent }}</a></li>
+ <li class="breadcrumb-nav-list-item"><a href="{{ second_level_url }}">{{ page.parent }}</a></li>
+ {% else %}
+ <li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.parent }}</a></li>
+ {% endif %}
+ <li class="breadcrumb-nav-list-item"><span>{{ page.title }}</span></li>
+ </ol>
+ </nav>
+ {% endif %}
+ {% endunless %}
+ <div id="main-content" class="main-content" role="main">
+ {% if site.heading_anchors != false %}
+ {% include vendor/anchor_headings.html html=content beforeHeading="true" anchorBody="<svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><use xlink:href=\"#svg-link\"></use></svg>" anchorClass="anchor-heading" anchorAttrs="aria-labelledby=\"%html_id%\"" %}
+ {% else %}
+ {{ content }}
+ {% endif %}
+
+ {% if page.has_children == true and page.has_toc != false %}
+ <hr>
+ <h2 class="text-delta">Table of contents</h2>
+ <ul>
+ {%- assign children_list = pages_list | where: "parent", page.title | where: "grand_parent", page.parent -%}
+ {% for child in children_list %}
+ <li>
+ <a href="{{ child.url | absolute_url }}">{{ child.title }}</a>{% if child.summary %} - {{ child.summary }}{% endif %}
+ </li>
+ {% endfor %}
+ </ul>
+ {% endif %}
+
+ {% capture footer_custom %}
+ {%- include footer_custom.html -%}
+ {% endcapture %}
+ {% if footer_custom != "" or site.last_edit_timestamp or site.gh_edit_link %}
+ <hr>
+ <footer>
+ {% if site.back_to_top %}
+ <p><a href="#top" id="back-to-top">{{ site.back_to_top_text }}</a></p>
+ {% endif %}
+
+ {{ footer_custom }}
+
+ {% if site.last_edit_timestamp or site.gh_edit_link %}
+ <div class="d-flex mt-2">
+ {% if site.last_edit_timestamp and site.last_edit_time_format and page.last_modified_date %}
+ <p class="text-small text-grey-dk-000 mb-0 mr-2">
+ Page last modified: <span class="d-inline-block">{{ page.last_modified_date | date: site.last_edit_time_format }}</span>.
+ </p>
+ {% endif %}
+ {% if
+ site.gh_edit_link and
+ site.gh_edit_link_text and
+ site.gh_edit_repository and
+ site.gh_edit_branch and
+ site.gh_edit_view_mode
+ %}
+ <p class="text-small text-grey-dk-000 mb-0">
+ <a href="{{ site.gh_edit_repository }}/{{ site.gh_edit_view_mode }}/{{ site.gh_edit_branch }}{% if site.gh_edit_source %}/{{ site.gh_edit_source }}{% endif %}/{{ page.path }}" id="edit-this-page">{{ site.gh_edit_link_text }}</a>
+ </p>
+ {% endif %}
+ </div>
+ {% endif %}
+ </footer>
+ {% endif %}
+
+ </div>
+ </div>
+
+ {% if site.search_enabled != false %}
+ {% if site.search.button %}
+ <a href="#" id="search-button" class="search-button">
+ <svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-search"></use></svg>
+ </a>
+ {% endif %}
+
+ <div class="search-overlay"></div>
+ {% endif %}
+ </div>
+ <script src="{{ base.url | prepend: site.url }}/assets/js/theme-switch.js"></script>
+</body>
</html> \ No newline at end of file
diff --git a/assets/js/theme-switch.js b/assets/js/theme-switch.js
index 148ef26..02b0ce9 100644
--- a/assets/js/theme-switch.js
+++ b/assets/js/theme-switch.js
@@ -1,21 +1,21 @@
-
-if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
- jtd.setTheme('dark');
-} else {
- jtd.setTheme('light');
-}
-
-window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
- const newColorScheme = event.matches ? "dark" : "light";
- jtd.setTheme(newColorScheme);
-});
-
-
-const toggleDarkMode = document.querySelector('.js-toggle-dark-mode');
-jtd.addEvent(toggleDarkMode, 'click', function(){
- if (jtd.getTheme() === 'dark') {
- jtd.setTheme('light');
- toggleDarkMode.textContent = 'Preview dark color scheme';
- } else { jtd.setTheme('dark');
- toggleDarkMode.textContent = 'Return to the light side'; }
+
+if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
+ jtd.setTheme('dark');
+} else {
+ jtd.setTheme('light');
+}
+
+window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
+ const newColorScheme = event.matches ? "dark" : "light";
+ jtd.setTheme(newColorScheme);
+});
+
+
+const toggleDarkMode = document.querySelector('.js-toggle-dark-mode');
+jtd.addEvent(toggleDarkMode, 'click', function(){
+ if (jtd.getTheme() === 'dark') {
+ jtd.setTheme('light');
+ toggleDarkMode.textContent = 'Preview dark color scheme';
+ } else { jtd.setTheme('dark');
+ toggleDarkMode.textContent = 'Return to the light side'; }
}); \ No newline at end of file
diff --git a/bin/just-the-docs b/bin/just-the-docs
index 858365b..e05a942 100644
--- a/bin/just-the-docs
+++ b/bin/just-the-docs
@@ -1,16 +1,16 @@
-#!/usr/bin/env ruby
-
-gem_dir = File.expand_path("..",File.dirname(__FILE__))
-$LOAD_PATH.unshift gem_dir # Look in gem directory for resources first.
-exec_type = ARGV[0]
-
-if exec_type == 'rake' then
- require 'rake'
- require 'pp'
- pwd=Dir.pwd
- Dir.chdir(gem_dir) # We'll load rakefile from the gem's dir.
- Rake.application.init
- Rake.application.load_rakefile
- Dir.chdir(pwd) # Revert to original pwd for any path args passed to task.
- Rake.application.invoke_task(ARGV[1])
+#!/usr/bin/env ruby
+
+gem_dir = File.expand_path("..",File.dirname(__FILE__))
+$LOAD_PATH.unshift gem_dir # Look in gem directory for resources first.
+exec_type = ARGV[0]
+
+if exec_type == 'rake' then
+ require 'rake'
+ require 'pp'
+ pwd=Dir.pwd
+ Dir.chdir(gem_dir) # We'll load rakefile from the gem's dir.
+ Rake.application.init
+ Rake.application.load_rakefile
+ Dir.chdir(pwd) # Revert to original pwd for any path args passed to task.
+ Rake.application.invoke_task(ARGV[1])
end \ No newline at end of file
diff --git a/index.md b/index.md
index db4aba0..22c93cb 100644
--- a/index.md
+++ b/index.md
@@ -1,11 +1,11 @@
----
-title: Hack Gpon
-has_children: false
-nav_order: 1
-description: Worldwide wiki for to access, change and edit ONT
----
-
-
-# Worldwide wiki for to access, change and edit ONT
-
+---
+title: Hack Gpon
+has_children: false
+nav_order: 1
+description: Worldwide wiki for to access, change and edit ONT
+---
+
+
+# Worldwide wiki for to access, change and edit ONT
+
resources to access and modify ONTs \ No newline at end of file
diff --git a/just-the-docs.gemspec b/just-the-docs.gemspec
index 326f328..1e7dc1e 100644
--- a/just-the-docs.gemspec
+++ b/just-the-docs.gemspec
@@ -1,21 +1,21 @@
-# coding: utf-8
-
-Gem::Specification.new do |spec|
- spec.name = "just-the-docs"
- spec.version = "0.3.3"
- spec.authors = ["Patrick Marsceill"]
- spec.email = ["patrick.marsceill@gmail.com"]
-
- spec.summary = %q{A modern, highly customizable, and responsive Jekyll theme for documention with built-in search.}
- spec.homepage = "https://github.com/just-the-docs/just-the-docs"
- spec.license = "MIT"
-
- spec.files = `git ls-files -z`.split("\x0").select { |f| f.match(%r{^(assets|bin|_layouts|_includes|lib|Rakefile|_sass|LICENSE|README)}i) }
- spec.executables << 'just-the-docs'
-
- spec.add_development_dependency "bundler", "~> 2.3.5"
- spec.add_runtime_dependency "jekyll", ">= 3.8.5"
- spec.add_runtime_dependency "jekyll-seo-tag", "~> 2.0"
- spec.add_runtime_dependency "rake", ">= 12.3.1", "< 13.1.0"
-
+# coding: utf-8
+
+Gem::Specification.new do |spec|
+ spec.name = "just-the-docs"
+ spec.version = "0.3.3"
+ spec.authors = ["Patrick Marsceill"]
+ spec.email = ["patrick.marsceill@gmail.com"]
+
+ spec.summary = %q{A modern, highly customizable, and responsive Jekyll theme for documention with built-in search.}
+ spec.homepage = "https://github.com/just-the-docs/just-the-docs"
+ spec.license = "MIT"
+
+ spec.files = `git ls-files -z`.split("\x0").select { |f| f.match(%r{^(assets|bin|_layouts|_includes|lib|Rakefile|_sass|LICENSE|README)}i) }
+ spec.executables << 'just-the-docs'
+
+ spec.add_development_dependency "bundler", "~> 2.3.5"
+ spec.add_runtime_dependency "jekyll", ">= 3.8.5"
+ spec.add_runtime_dependency "jekyll-seo-tag", "~> 2.0"
+ spec.add_runtime_dependency "rake", ">= 12.3.1", "< 13.1.0"
+
end \ No newline at end of file
diff --git a/ont-Alcatel-G-010S-A.md b/ont-Alcatel-G-010S-A.md
index 54b8bdc..8be3df4 100644
--- a/ont-Alcatel-G-010S-A.md
+++ b/ont-Alcatel-G-010S-A.md
@@ -1,44 +1,44 @@
----
-title: Alcatel G-010S-A
-has_children: false
-parent: ONT
----
-
-# Alcatel G-010S-A
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | Alcatel |
-| Model | G-010S-A |
-| Alias | Nokia G-010S-A |
-| Chipset | Lantiq PEB98035 |
-| Flash | 16 MB |
-| RAM | 64 MB |
-| System | OpenWRT |
-| HSGMII | Yes |
-| Optics | SC/UPC |
-| IP address | 192.168.1.10 |
-| Web Gui | ✅ user `adminadmin`, password `ALC#FGU` |
-| SSH | ✅ user `ONTUSER`, password `SUGAR2A041` |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-
-Is it possibile to turn a Nokia G-010S-P into an Alcatel G-010S-A
-
-### List of software version
-
-- [https://github.com/hwti/G-010S-A/tree/main/firmwares](https://github.com/hwti/G-010S-A/tree/main/firmwares)
-
-### List of partition
-### List of firmware and files
-
-## HW Mod
-
-- [Nokia G-010S-A Pin 6 Iusse - Rsaxvc.net](https://rsaxvc.net/blog/2020/8/15/Nokia_G-010S-A_Pin_6_Issue.html)
-
-## Miscellaneous Links
-
-- [https://github.com/hwti/G-010S-A](https://github.com/hwti/G-010S-A)
+---
+title: Alcatel G-010S-A
+has_children: false
+parent: ONT
+---
+
+# Alcatel G-010S-A
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | Alcatel |
+| Model | G-010S-A |
+| Alias | Nokia G-010S-A |
+| Chipset | Lantiq PEB98035 |
+| Flash | 16 MB |
+| RAM | 64 MB |
+| System | OpenWRT |
+| HSGMII | Yes |
+| Optics | SC/UPC |
+| IP address | 192.168.1.10 |
+| Web Gui | ✅ user `adminadmin`, password `ALC#FGU` |
+| SSH | ✅ user `ONTUSER`, password `SUGAR2A041` |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+
+Is it possibile to turn a Nokia G-010S-P into an Alcatel G-010S-A
+
+### List of software version
+
+- [https://github.com/hwti/G-010S-A/tree/main/firmwares](https://github.com/hwti/G-010S-A/tree/main/firmwares)
+
+### List of partition
+### List of firmware and files
+
+## HW Mod
+
+- [Nokia G-010S-A Pin 6 Iusse - Rsaxvc.net](https://rsaxvc.net/blog/2020/8/15/Nokia_G-010S-A_Pin_6_Issue.html)
+
+## Miscellaneous Links
+
+- [https://github.com/hwti/G-010S-A](https://github.com/hwti/G-010S-A)
diff --git a/ont-CarlitoxxPro-CPGOS03-0490-v2.md b/ont-CarlitoxxPro-CPGOS03-0490-v2.md
index b56435a..d631efe 100644
--- a/ont-CarlitoxxPro-CPGOS03-0490-v2.md
+++ b/ont-CarlitoxxPro-CPGOS03-0490-v2.md
@@ -1,48 +1,48 @@
----
-title: CarlitoxxPro CPGOS03-0490 v2
-has_children: false
-parent: ONT
----
-
-# CarlitoxxPro CPGOS03-0490 v2
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | CarlitoxxPro |
-| Model | CPGOS03-0490 v2 |
-| Alias | |
-| Chipset | Realtek RTL9601CI |
-| Flash | 8 MB |
-| RAM | 64 MB |
-| System | Linux (Luna SDK) |
-| HSGMII | No |
-| Optics | SC/APC |
-| IP address | |
-| Web Gui | ✅ |
-| SSH | ✅ |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-
-- [ODI DFP-34X-C2C](ont-ODI-DFP-34X-C2C)
-- [VSOL V2801F](ont-vsol-V2801F)
-- [TWCGPON657](ont-TWCGPON657)
-- [UFiber UF-Instant](ont-UFiber-UF-Instant) can be used as universal GPON stick with V2801F rootfs, but only with stock UF kernel (4.3.1) - needed for Laser controller
-- [DFP-34X-2C2](ont-DFP-34X-2C2)
-- [CarlitoxxPro CPGOS03-0490 v2](ont-CarlitoxxPro-CPGOS03-0490-v2)
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
-- [Hacking RTL960x](https://github.com/Anime4000/RTL960x)
-
-## Bugs
-
-VLAN swap issue (MEID 171), auto-sensing mode to switch between SGMII/HiSGMII
-
-use VID/VLAN from command "omcicli mib get 84" via telnet to bring up PPPoE
-
+---
+title: CarlitoxxPro CPGOS03-0490 v2
+has_children: false
+parent: ONT
+---
+
+# CarlitoxxPro CPGOS03-0490 v2
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | CarlitoxxPro |
+| Model | CPGOS03-0490 v2 |
+| Alias | |
+| Chipset | Realtek RTL9601CI |
+| Flash | 8 MB |
+| RAM | 64 MB |
+| System | Linux (Luna SDK) |
+| HSGMII | No |
+| Optics | SC/APC |
+| IP address | |
+| Web Gui | ✅ |
+| SSH | ✅ |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+
+- [ODI DFP-34X-C2C](ont-ODI-DFP-34X-C2C)
+- [VSOL V2801F](ont-vsol-V2801F)
+- [TWCGPON657](ont-TWCGPON657)
+- [UFiber UF-Instant](ont-UFiber-UF-Instant) can be used as universal GPON stick with V2801F rootfs, but only with stock UF kernel (4.3.1) - needed for Laser controller
+- [DFP-34X-2C2](ont-DFP-34X-2C2)
+- [CarlitoxxPro CPGOS03-0490 v2](ont-CarlitoxxPro-CPGOS03-0490-v2)
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
+- [Hacking RTL960x](https://github.com/Anime4000/RTL960x)
+
+## Bugs
+
+VLAN swap issue (MEID 171), auto-sensing mode to switch between SGMII/HiSGMII
+
+use VID/VLAN from command "omcicli mib get 84" via telnet to bring up PPPoE
+
diff --git a/ont-D-LINK-DPN-100-Rev-A.md b/ont-D-LINK-DPN-100-Rev-A.md
index 469baf7..057071e 100644
--- a/ont-D-LINK-DPN-100-Rev-A.md
+++ b/ont-D-LINK-DPN-100-Rev-A.md
@@ -1,39 +1,39 @@
----
-title: D-LINK DPN-100 Rev A
-has_children: false
-parent: ONT
----
-
-# D-LINK DPN-100 Rev A
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | D-LINK |
-| Model | DPN-100 Rev A |
-| Alias | |
-| Chipset | Lantiq PEB98035 |
-| Flash | 8 MB |
-| RAM | 64 MB |
-| System | |
-| HSGMII | |
-| Optics | SC/APC |
-| IP address | |
-| Web Gui | |
-| SSH | |
-| Form Factor | miniONT SFP |
-
-
-### Interchangeable firmware with
-
-- [Zyxel PMG3000-D20B](ont-Zyxel-PMG3000-D20B)
-- [Halny HL-GSFP](ont-Halny-HL-GSFP)
-- [D-LINK DPN-100-Rev-A](ont-D-LINK-DPN-100-Rev-A)
-
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
+---
+title: D-LINK DPN-100 Rev A
+has_children: false
+parent: ONT
+---
+
+# D-LINK DPN-100 Rev A
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | D-LINK |
+| Model | DPN-100 Rev A |
+| Alias | |
+| Chipset | Lantiq PEB98035 |
+| Flash | 8 MB |
+| RAM | 64 MB |
+| System | |
+| HSGMII | |
+| Optics | SC/APC |
+| IP address | |
+| Web Gui | |
+| SSH | |
+| Form Factor | miniONT SFP |
+
+
+### Interchangeable firmware with
+
+- [Zyxel PMG3000-D20B](ont-Zyxel-PMG3000-D20B)
+- [Halny HL-GSFP](ont-Halny-HL-GSFP)
+- [D-LINK DPN-100-Rev-A](ont-D-LINK-DPN-100-Rev-A)
+
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
diff --git a/ont-DFP-34X-2C2.md b/ont-DFP-34X-2C2.md
index 8ac4ff1..1ce7a45 100644
--- a/ont-DFP-34X-2C2.md
+++ b/ont-DFP-34X-2C2.md
@@ -1,49 +1,49 @@
----
-title: DFP-34X-2C2
-has_children: false
-parent: ONT
----
-
-# DFP-34X-2C2
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | |
-| Model | DFP-34X-2C2 |
-| Alias | |
-| Chipset | Realtek RTL9601CI |
-| Flash | 8 MB |
-| RAM | 64 MB |
-| System | Linux (Luna SDK) |
-| HSGMII | No |
-| Optics | SC/APC |
-| IP address | |
-| Web Gui | ✅ |
-| SSH | ✅ |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-
-
-- [ODI DFP-34X-C2C](ont-ODI-DFP-34X-C2C)
-- [VSOL V2801F](ont-vsol-V2801F)
-- [TWCGPON657](ont-TWCGPON657)
-- [UFiber UF-Instant](ont-UFiber-UF-Instant) can be used as universal GPON stick with V2801F rootfs, but only with stock UF kernel (4.3.1) - needed for Laser controller
-- [DFP-34X-2C2](ont-DFP-34X-2C2)
-- [CarlitoxxPro CPGOS03-0490 v2](ont-CarlitoxxPro-CPGOS03-0490-v2)
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
-- [Hacking RTL960x](https://github.com/Anime4000/RTL960x)
-
-## Bugs
-
-VLAN swap issue (MEID 171), auto-sensing mode to switch between SGMII/HiSGMII
-
-use VID/VLAN from command "omcicli mib get 84" via telnet to bring up PPPoE
-
+---
+title: DFP-34X-2C2
+has_children: false
+parent: ONT
+---
+
+# DFP-34X-2C2
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | |
+| Model | DFP-34X-2C2 |
+| Alias | |
+| Chipset | Realtek RTL9601CI |
+| Flash | 8 MB |
+| RAM | 64 MB |
+| System | Linux (Luna SDK) |
+| HSGMII | No |
+| Optics | SC/APC |
+| IP address | |
+| Web Gui | ✅ |
+| SSH | ✅ |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+
+
+- [ODI DFP-34X-C2C](ont-ODI-DFP-34X-C2C)
+- [VSOL V2801F](ont-vsol-V2801F)
+- [TWCGPON657](ont-TWCGPON657)
+- [UFiber UF-Instant](ont-UFiber-UF-Instant) can be used as universal GPON stick with V2801F rootfs, but only with stock UF kernel (4.3.1) - needed for Laser controller
+- [DFP-34X-2C2](ont-DFP-34X-2C2)
+- [CarlitoxxPro CPGOS03-0490 v2](ont-CarlitoxxPro-CPGOS03-0490-v2)
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
+- [Hacking RTL960x](https://github.com/Anime4000/RTL960x)
+
+## Bugs
+
+VLAN swap issue (MEID 171), auto-sensing mode to switch between SGMII/HiSGMII
+
+use VID/VLAN from command "omcicli mib get 84" via telnet to bring up PPPoE
+
diff --git a/ont-Halny-HL-GSFP.md b/ont-Halny-HL-GSFP.md
index 7d03976..bc38c71 100644
--- a/ont-Halny-HL-GSFP.md
+++ b/ont-Halny-HL-GSFP.md
@@ -1,37 +1,37 @@
----
-title: Halny HL-GSFP
-has_children: false
-parent: ONT
----
-
-# Halny HL-GSFP
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | Halny |
-| Model | MA5671A |
-| Alias | |
-| Chipset | Lantiq PEB98035 |
-| Flash | 8 MB |
-| RAM | 64 MB |
-| System | eCOS |
-| HSGMII | Yes |
-| Optics | SC/APC |
-| IP address | |
-| Web Gui | |
-| SSH | |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-
-- [Zyxel PMG3000-D20B](ont-Zyxel-PMG3000-D20B)
-- [Halny HL-GSFP](ont-Halny-HL-GSFP)
-- [D-LINK DPN-100-Rev-A](ont-D-LINK-DPN-100-Rev-A)
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
+---
+title: Halny HL-GSFP
+has_children: false
+parent: ONT
+---
+
+# Halny HL-GSFP
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | Halny |
+| Model | MA5671A |
+| Alias | |
+| Chipset | Lantiq PEB98035 |
+| Flash | 8 MB |
+| RAM | 64 MB |
+| System | eCOS |
+| HSGMII | Yes |
+| Optics | SC/APC |
+| IP address | |
+| Web Gui | |
+| SSH | |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+
+- [Zyxel PMG3000-D20B](ont-Zyxel-PMG3000-D20B)
+- [Halny HL-GSFP](ont-Halny-HL-GSFP)
+- [D-LINK DPN-100-Rev-A](ont-D-LINK-DPN-100-Rev-A)
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
diff --git a/ont-Hilink-HL23446.md b/ont-Hilink-HL23446.md
index 477e701..5f54625 100644
--- a/ont-Hilink-HL23446.md
+++ b/ont-Hilink-HL23446.md
@@ -1,38 +1,38 @@
----
-title: Hilink HL23446
-has_children: false
-parent: ONT
----
-
-# Hilink HL23446
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | Hilink |
-| Model | HL23446 |
-| Alias | CarlitoxxPro CPGOS03-0490 v1 |
-| Chipset | Lantiq PEB98035 |
-| Flash | 16 MB |
-| RAM | 64 MB |
-| System | OpenWRT |
-| HSGMII | Yes |
-| Optics | SC/APC |
-| IP address | |
-| Web Gui | ✅ |
-| SSH | |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-
-- [Huawei MA5671A](ont-huawei-ma5671a)
-- [Nokia G-010S-P](ont-nokia-g-s010s-p)
-- [SourcePhotonics SPS-34-24T-HP-TDFO](ont-SourcePhotonics-SPS-34-24T-HP-TDFO)
-- [Hilink HL23446](ont-Hilink-HL23446)
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
+---
+title: Hilink HL23446
+has_children: false
+parent: ONT
+---
+
+# Hilink HL23446
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | Hilink |
+| Model | HL23446 |
+| Alias | CarlitoxxPro CPGOS03-0490 v1 |
+| Chipset | Lantiq PEB98035 |
+| Flash | 16 MB |
+| RAM | 64 MB |
+| System | OpenWRT |
+| HSGMII | Yes |
+| Optics | SC/APC |
+| IP address | |
+| Web Gui | ✅ |
+| SSH | |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+
+- [Huawei MA5671A](ont-huawei-ma5671a)
+- [Nokia G-010S-P](ont-nokia-g-s010s-p)
+- [SourcePhotonics SPS-34-24T-HP-TDFO](ont-SourcePhotonics-SPS-34-24T-HP-TDFO)
+- [Hilink HL23446](ont-Hilink-HL23446)
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
diff --git a/ont-Huawei-HG8010H.md b/ont-Huawei-HG8010H.md
index b5c94a1..156879e 100644
--- a/ont-Huawei-HG8010H.md
+++ b/ont-Huawei-HG8010H.md
@@ -1,39 +1,39 @@
----
-title: Huawei HG8010H
-has_children: false
-parent: ONT
----
-
-# Huawei HG8010H
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | Huawei |
-| Model | HG8010H |
-| Alias | |
-| Chipset | Realtek |
-| Flash | |
-| RAM | |
-| System | |
-| HSGMII | No |
-| Optics | SC/APC and SC/UPC |
-| IP address | 192.168.100.1 |
-| Web Gui | ✅, user `telecomadmin`, password `admintelecom` |
-| SSH | |
-| Form Factor | ONT |
-
-### Hardware revision
-- v1: port pon horizontal
-- v2: port pon horizontal
-- v3: port pon vertical
-- v4: port pon vertical
-- v5: port pon vertical
-- v6: port pon vertical
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
+---
+title: Huawei HG8010H
+has_children: false
+parent: ONT
+---
+
+# Huawei HG8010H
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | Huawei |
+| Model | HG8010H |
+| Alias | |
+| Chipset | Realtek |
+| Flash | |
+| RAM | |
+| System | |
+| HSGMII | No |
+| Optics | SC/APC and SC/UPC |
+| IP address | 192.168.100.1 |
+| Web Gui | ✅, user `telecomadmin`, password `admintelecom` |
+| SSH | |
+| Form Factor | ONT |
+
+### Hardware revision
+- v1: port pon horizontal
+- v2: port pon horizontal
+- v3: port pon vertical
+- v4: port pon vertical
+- v5: port pon vertical
+- v6: port pon vertical
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
diff --git a/ont-Nokia-G-010S-Q.md b/ont-Nokia-G-010S-Q.md
index bb84f8c..e936c2e 100644
--- a/ont-Nokia-G-010S-Q.md
+++ b/ont-Nokia-G-010S-Q.md
@@ -1,32 +1,32 @@
----
-title: Nokia G-010S-Q
-has_children: false
-parent: ONT
----
-
-# Nokia G-010S-Q
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | Nokia |
-| Model | RTL9601CI |
-| Alias | |
-| Chipset | |
-| Flash | |
-| RAM | |
-| System | |
-| HSGMII | |
-| Optics | |
-| IP address | |
-| Web Gui | |
-| SSH | |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
+---
+title: Nokia G-010S-Q
+has_children: false
+parent: ONT
+---
+
+# Nokia G-010S-Q
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | Nokia |
+| Model | RTL9601CI |
+| Alias | |
+| Chipset | |
+| Flash | |
+| RAM | |
+| System | |
+| HSGMII | |
+| Optics | |
+| IP address | |
+| Web Gui | |
+| SSH | |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
diff --git a/ont-Nokia-g-010g-q.md b/ont-Nokia-g-010g-q.md
index 02256f2..083982c 100644
--- a/ont-Nokia-g-010g-q.md
+++ b/ont-Nokia-g-010g-q.md
@@ -1,32 +1,32 @@
----
-title: Nokia G-010G-Q
-has_children: false
-parent: ONT
----
-
-# ZTE F601
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | Nokia |
-| Model | G-010G-Q |
-| Alias | |
-| Chipset | Realtek |
-| Flash | |
-| RAM | |
-| System | |
-| HSGMII | No |
-| Optics | SC/APC |
-| IP address | |
-| Web Gui | ✅ |
-| SSH | |
-| Form Factor | ONT |
-
-### Hardware revision
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
+---
+title: Nokia G-010G-Q
+has_children: false
+parent: ONT
+---
+
+# ZTE F601
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | Nokia |
+| Model | G-010G-Q |
+| Alias | |
+| Chipset | Realtek |
+| Flash | |
+| RAM | |
+| System | |
+| HSGMII | No |
+| Optics | SC/APC |
+| IP address | |
+| Web Gui | ✅ |
+| SSH | |
+| Form Factor | ONT |
+
+### Hardware revision
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
diff --git a/ont-ODI-DFP-34X-C2C.md b/ont-ODI-DFP-34X-C2C.md
index 2bf6300..6d9c363 100644
--- a/ont-ODI-DFP-34X-C2C.md
+++ b/ont-ODI-DFP-34X-C2C.md
@@ -1,48 +1,48 @@
----
-title: ODI DFP-34X-C2C
-has_children: false
-parent: ONT
----
-
-# ODI DFP-34X-C2C
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | ODI |
-| Model | DFP-34X-C2C |
-| Alias | |
-| Chipset | Realtek RTL9601D |
-| Flash | 8 MB |
-| RAM | 64 MB |
-| System | Linux (Luna SDK) |
-| HSGMII | Yes |
-| Optics | SC/APC |
-| IP address | |
-| Web Gui | ✅ |
-| SSH | ✅ |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-
-- [ODI DFP-34X-C2C](ont-ODI-DFP-34X-C2C)
-- [VSOL V2801F](ont-vsol-V2801F)
-- [TWCGPON657](ont-TWCGPON657)
-- [UFiber UF-Instant](ont-UFiber-UF-Instant) can be used as universal GPON stick with V2801F rootfs, but only with stock UF kernel (4.3.1) - needed for Laser controller
-- [DFP-34X-2C2](ont-DFP-34X-2C2)
-- [CarlitoxxPro CPGOS03-0490 v2](ont-CarlitoxxPro-CPGOS03-0490-v2)
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
-- [Hacking RTL960x](https://github.com/Anime4000/RTL960x)
-
-## Bugs
-
-VLAN swap issue (MEID 171), auto-sensing mode to switch between SGMII/HiSGMII
-
-use VID/VLAN from command "omcicli mib get 84" via telnet to bring up PPPoE
-
+---
+title: ODI DFP-34X-C2C
+has_children: false
+parent: ONT
+---
+
+# ODI DFP-34X-C2C
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | ODI |
+| Model | DFP-34X-C2C |
+| Alias | |
+| Chipset | Realtek RTL9601D |
+| Flash | 8 MB |
+| RAM | 64 MB |
+| System | Linux (Luna SDK) |
+| HSGMII | Yes |
+| Optics | SC/APC |
+| IP address | |
+| Web Gui | ✅ |
+| SSH | ✅ |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+
+- [ODI DFP-34X-C2C](ont-ODI-DFP-34X-C2C)
+- [VSOL V2801F](ont-vsol-V2801F)
+- [TWCGPON657](ont-TWCGPON657)
+- [UFiber UF-Instant](ont-UFiber-UF-Instant) can be used as universal GPON stick with V2801F rootfs, but only with stock UF kernel (4.3.1) - needed for Laser controller
+- [DFP-34X-2C2](ont-DFP-34X-2C2)
+- [CarlitoxxPro CPGOS03-0490 v2](ont-CarlitoxxPro-CPGOS03-0490-v2)
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
+- [Hacking RTL960x](https://github.com/Anime4000/RTL960x)
+
+## Bugs
+
+VLAN swap issue (MEID 171), auto-sensing mode to switch between SGMII/HiSGMII
+
+use VID/VLAN from command "omcicli mib get 84" via telnet to bring up PPPoE
+
diff --git a/ont-Sercomm-FGS202.md b/ont-Sercomm-FGS202.md
index 6606192..aa9a857 100644
--- a/ont-Sercomm-FGS202.md
+++ b/ont-Sercomm-FGS202.md
@@ -1,44 +1,44 @@
----
-title: Sercomm FGS202
-has_children: false
-parent: ONT
----
-
-# Sercomm FGS202
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | Sercomm |
-| Model | FGS202 |
-| Alias | |
-| Chipset | Lantiq PEB98036 |
-| Flash | 8 MB |
-| RAM | 32 MB |
-| System | eCos |
-| HSGMII | Yes |
-| Optics | SC/APC |
-| IP address | |
-| Web Gui | NO |
-| SSH | NO |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-
-- [Huawei MA5671A](ont-huawei-ma5671a)
-- [Nokia G-010S-P](ont-nokia-g-s010s-p)
-- [SourcePhotonics SPS-34-24T-HP-TDFO](ont-SourcePhotonics-SPS-34-24T-HP-TDFO)
-- [Hilink HL23446](ont-Hilink-HL23446)
-
-### List of software version
-### List of partition
-### List of firmware and files
-
-## HW Mod
-
-- Pin 7 GND -> VCC [https://forum.fibra.click/d/27574-faq-25gbps-su-singolo-dispositivo-su-timvodafonefastwebjustspeed/18](https://forum.fibra.click/d/27574-faq-25gbps-su-singolo-dispositivo-su-timvodafonefastwebjustspeed/18)
-- Only for Ubiquiti [https://forum.openwrt.org/t/support-for-gpon-sfp-fgs202/42641/47](https://forum.openwrt.org/t/support-for-gpon-sfp-fgs202/42641/47)
-
-## Miscellaneous Links
-
+---
+title: Sercomm FGS202
+has_children: false
+parent: ONT
+---
+
+# Sercomm FGS202
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | Sercomm |
+| Model | FGS202 |
+| Alias | |
+| Chipset | Lantiq PEB98036 |
+| Flash | 8 MB |
+| RAM | 32 MB |
+| System | eCos |
+| HSGMII | Yes |
+| Optics | SC/APC |
+| IP address | |
+| Web Gui | NO |
+| SSH | NO |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+
+- [Huawei MA5671A](ont-huawei-ma5671a)
+- [Nokia G-010S-P](ont-nokia-g-s010s-p)
+- [SourcePhotonics SPS-34-24T-HP-TDFO](ont-SourcePhotonics-SPS-34-24T-HP-TDFO)
+- [Hilink HL23446](ont-Hilink-HL23446)
+
+### List of software version
+### List of partition
+### List of firmware and files
+
+## HW Mod
+
+- Pin 7 GND -> VCC [https://forum.fibra.click/d/27574-faq-25gbps-su-singolo-dispositivo-su-timvodafonefastwebjustspeed/18](https://forum.fibra.click/d/27574-faq-25gbps-su-singolo-dispositivo-su-timvodafonefastwebjustspeed/18)
+- Only for Ubiquiti [https://forum.openwrt.org/t/support-for-gpon-sfp-fgs202/42641/47](https://forum.openwrt.org/t/support-for-gpon-sfp-fgs202/42641/47)
+
+## Miscellaneous Links
+
diff --git a/ont-SourcePhotonics-SPS-34-24T-HP-TDFO.md b/ont-SourcePhotonics-SPS-34-24T-HP-TDFO.md
index cc628e5..ea4d3a3 100644
--- a/ont-SourcePhotonics-SPS-34-24T-HP-TDFO.md
+++ b/ont-SourcePhotonics-SPS-34-24T-HP-TDFO.md
@@ -1,40 +1,40 @@
----
-title: SourcePhotonics SPS-34-24T-HP-TDFO
-has_children: false
-parent: ONT
----
-
-# SourcePhotonics SPS-34-24T-HP-TDFO
-
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | SourcePhotonics |
-| Model | SPS-34-24T-HP-TDFO |
-| Alias | Stick GPON FS.com |
-| Chipset | Lantiq PEB98035 |
-| Flash | 16 MB |
-| RAM | 64 MB |
-| System | OpenWRT |
-| HSGMII | Yes |
-| Optics | SC/APC |
-| IP address | 192.168.1.10 |
-| Web Gui | |
-| SSH | ✅, user `ONTUSER`, password `7sp!lwUBz1.` |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-
-- [Huawei MA5671A](ont-huawei-ma5671a)
-- [Nokia G-010S-P](ont-nokia-g-s010s-p)
-- [SourcePhotonics SPS-34-24T-HP-TDFO](ont-SourcePhotonics-SPS-34-24T-HP-TDFO)
-- [Hilink HL23446](ont-Hilink-HL23446)
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
-- [FS.com](https://www.fs.com/it/products/133619.html)
+---
+title: SourcePhotonics SPS-34-24T-HP-TDFO
+has_children: false
+parent: ONT
+---
+
+# SourcePhotonics SPS-34-24T-HP-TDFO
+
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | SourcePhotonics |
+| Model | SPS-34-24T-HP-TDFO |
+| Alias | Stick GPON FS.com |
+| Chipset | Lantiq PEB98035 |
+| Flash | 16 MB |
+| RAM | 64 MB |
+| System | OpenWRT |
+| HSGMII | Yes |
+| Optics | SC/APC |
+| IP address | 192.168.1.10 |
+| Web Gui | |
+| SSH | ✅, user `ONTUSER`, password `7sp!lwUBz1.` |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+
+- [Huawei MA5671A](ont-huawei-ma5671a)
+- [Nokia G-010S-P](ont-nokia-g-s010s-p)
+- [SourcePhotonics SPS-34-24T-HP-TDFO](ont-SourcePhotonics-SPS-34-24T-HP-TDFO)
+- [Hilink HL23446](ont-Hilink-HL23446)
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
+- [FS.com](https://www.fs.com/it/products/133619.html)
diff --git a/ont-TWCGPON657.md b/ont-TWCGPON657.md
index 5fb3803..078abb9 100644
--- a/ont-TWCGPON657.md
+++ b/ont-TWCGPON657.md
@@ -1,48 +1,48 @@
----
-title: TWCGPON657
-has_children: false
-parent: ONT
----
-
-# TWCGPON657
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | |
-| Model | TWCGPON657 |
-| Alias | |
-| Chipset | Realtek RTL9601CI |
-| Flash | 16 MB |
-| RAM | 64 MB |
-| System | Linux (Luna SDK) |
-| HSGMII | Yes |
-| Optics | SC/APC |
-| IP address | |
-| Web Gui | ✅ |
-| SSH | ✅ |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-
-- [ODI DFP-34X-C2C](ont-ODI-DFP-34X-C2C)
-- [VSOL V2801F](ont-vsol-V2801F)
-- [TWCGPON657](ont-TWCGPON657)
-- [UFiber UF-Instant](ont-UFiber-UF-Instant) can be used as universal GPON stick with V2801F rootfs, but only with stock UF kernel (4.3.1) - needed for Laser controller
-- [DFP-34X-2C2](ont-DFP-34X-2C2)
-- [CarlitoxxPro CPGOS03-0490 v2](ont-CarlitoxxPro-CPGOS03-0490-v2)
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
-- [Hacking RTL960x](https://github.com/Anime4000/RTL960x)
-
-## Bugs
-
-VLAN swap issue (MEID 171), auto-sensing mode to switch between SGMII/HiSGMII
-
-use VID/VLAN from command "omcicli mib get 84" via telnet to bring up PPPoE
-
+---
+title: TWCGPON657
+has_children: false
+parent: ONT
+---
+
+# TWCGPON657
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | |
+| Model | TWCGPON657 |
+| Alias | |
+| Chipset | Realtek RTL9601CI |
+| Flash | 16 MB |
+| RAM | 64 MB |
+| System | Linux (Luna SDK) |
+| HSGMII | Yes |
+| Optics | SC/APC |
+| IP address | |
+| Web Gui | ✅ |
+| SSH | ✅ |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+
+- [ODI DFP-34X-C2C](ont-ODI-DFP-34X-C2C)
+- [VSOL V2801F](ont-vsol-V2801F)
+- [TWCGPON657](ont-TWCGPON657)
+- [UFiber UF-Instant](ont-UFiber-UF-Instant) can be used as universal GPON stick with V2801F rootfs, but only with stock UF kernel (4.3.1) - needed for Laser controller
+- [DFP-34X-2C2](ont-DFP-34X-2C2)
+- [CarlitoxxPro CPGOS03-0490 v2](ont-CarlitoxxPro-CPGOS03-0490-v2)
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
+- [Hacking RTL960x](https://github.com/Anime4000/RTL960x)
+
+## Bugs
+
+VLAN swap issue (MEID 171), auto-sensing mode to switch between SGMII/HiSGMII
+
+use VID/VLAN from command "omcicli mib get 84" via telnet to bring up PPPoE
+
diff --git a/ont-UFiber-UF-Instant.md b/ont-UFiber-UF-Instant.md
index 3c97ec7..c915cc9 100644
--- a/ont-UFiber-UF-Instant.md
+++ b/ont-UFiber-UF-Instant.md
@@ -1,50 +1,50 @@
----
-title: UFiber UF-Instant
-has_children: false
-parent: ONT
----
-
-# UFiber UF-Instant
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | UFiber |
-| Model | UFiber UF-Instant |
-| Alias | |
-| Chipset | Realtek RTL9601CI |
-| Flash | 16 MB |
-| RAM | 64 MB |
-| System | Linux (Luna SDK) |
-| HSGMII | No |
-| Optics | SC/APC |
-| IP address | |
-| Web Gui | ✅ |
-| SSH | ✅ |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-
-N.B. can be used as universal GPON stick with V2801F rootfs, but only with stock UF kernel (4.3.1) - needed for Laser controller
-
-- [ODI DFP-34X-C2C](ont-ODI-DFP-34X-C2C)
-- [VSOL V2801F](ont-vsol-V2801F)
-- [TWCGPON657](ont-TWCGPON657)
-- [UFiber UF-Instant](ont-UFiber-UF-Instant) can be used as universal GPON stick with V2801F rootfs, but only with stock UF kernel (4.3.1) - needed for Laser controller
-- [DFP-34X-2C2](ont-DFP-34X-2C2)
-- [CarlitoxxPro CPGOS03-0490 v2](ont-CarlitoxxPro-CPGOS03-0490-v2)
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
-- [Hacking RTL960x](https://github.com/Anime4000/RTL960x)
-
-## Bugs
-
-VLAN swap issue (MEID 171), auto-sensing mode to switch between SGMII/HiSGMII
-
-use VID/VLAN from command "omcicli mib get 84" via telnet to bring up PPPoE
-
+---
+title: UFiber UF-Instant
+has_children: false
+parent: ONT
+---
+
+# UFiber UF-Instant
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | UFiber |
+| Model | UFiber UF-Instant |
+| Alias | |
+| Chipset | Realtek RTL9601CI |
+| Flash | 16 MB |
+| RAM | 64 MB |
+| System | Linux (Luna SDK) |
+| HSGMII | No |
+| Optics | SC/APC |
+| IP address | |
+| Web Gui | ✅ |
+| SSH | ✅ |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+
+N.B. can be used as universal GPON stick with V2801F rootfs, but only with stock UF kernel (4.3.1) - needed for Laser controller
+
+- [ODI DFP-34X-C2C](ont-ODI-DFP-34X-C2C)
+- [VSOL V2801F](ont-vsol-V2801F)
+- [TWCGPON657](ont-TWCGPON657)
+- [UFiber UF-Instant](ont-UFiber-UF-Instant) can be used as universal GPON stick with V2801F rootfs, but only with stock UF kernel (4.3.1) - needed for Laser controller
+- [DFP-34X-2C2](ont-DFP-34X-2C2)
+- [CarlitoxxPro CPGOS03-0490 v2](ont-CarlitoxxPro-CPGOS03-0490-v2)
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
+- [Hacking RTL960x](https://github.com/Anime4000/RTL960x)
+
+## Bugs
+
+VLAN swap issue (MEID 171), auto-sensing mode to switch between SGMII/HiSGMII
+
+use VID/VLAN from command "omcicli mib get 84" via telnet to bring up PPPoE
+
diff --git a/ont-ZTE-F6005.md b/ont-ZTE-F6005.md
index a85dbca..0e8af23 100644
--- a/ont-ZTE-F6005.md
+++ b/ont-ZTE-F6005.md
@@ -1,35 +1,35 @@
----
-title: ZTE F6005
-has_children: false
-parent: ONT
----
-
-# ZTE F6005
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | ZTE |
-| Model | F6005 |
-| Alias | |
-| Chipset | Realtek |
-| Flash | |
-| RAM | |
-| System | Linux (ZTE custom SDK) |
-| HSGMII | Yes |
-| Optics | SC/APC |
-| IP address | 192.168.1.1 |
-| Web Gui | ✅ |
-| SSH | |
-| Form Factor | ONT |
-
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
-## Bugs
-
-buffers are not optimally created and therefore there are problems with uploads if the server is far away. no problem with multiple connections
+---
+title: ZTE F6005
+has_children: false
+parent: ONT
+---
+
+# ZTE F6005
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | ZTE |
+| Model | F6005 |
+| Alias | |
+| Chipset | Realtek |
+| Flash | |
+| RAM | |
+| System | Linux (ZTE custom SDK) |
+| HSGMII | Yes |
+| Optics | SC/APC |
+| IP address | 192.168.1.1 |
+| Web Gui | ✅ |
+| SSH | |
+| Form Factor | ONT |
+
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
+## Bugs
+
+buffers are not optimally created and therefore there are problems with uploads if the server is far away. no problem with multiple connections
diff --git a/ont-ZTE-F601.md b/ont-ZTE-F601.md
index 47bfabf..59bfbc6 100644
--- a/ont-ZTE-F601.md
+++ b/ont-ZTE-F601.md
@@ -1,36 +1,36 @@
----
-title: ZTE F601
-has_children: false
-parent: ONT
----
-
-# ZTE F601
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | ZTE |
-| Model | F601 |
-| Alias | |
-| Chipset | Realtek |
-| Flash | |
-| RAM | |
-| System | |
-| HSGMII | No |
-| Optics | SC/APC |
-| IP address | 192.168.1.1 |
-| Web Gui | ✅ |
-| SSH | |
-| Form Factor | ONT |
-
-### Hardware revision
-- v1: big
-- v2: small, simil huawei, self-destructs
-- v3: small, simil huawei
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
+---
+title: ZTE F601
+has_children: false
+parent: ONT
+---
+
+# ZTE F601
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | ZTE |
+| Model | F601 |
+| Alias | |
+| Chipset | Realtek |
+| Flash | |
+| RAM | |
+| System | |
+| HSGMII | No |
+| Optics | SC/APC |
+| IP address | 192.168.1.1 |
+| Web Gui | ✅ |
+| SSH | |
+| Form Factor | ONT |
+
+### Hardware revision
+- v1: big
+- v2: small, simil huawei, self-destructs
+- v3: small, simil huawei
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
diff --git a/ont-Zyxel-PMG3000-D20B.md b/ont-Zyxel-PMG3000-D20B.md
index 9352e1e..9fd2c80 100644
--- a/ont-Zyxel-PMG3000-D20B.md
+++ b/ont-Zyxel-PMG3000-D20B.md
@@ -1,39 +1,39 @@
----
-title: Zyxel PMG3000-D20B
-has_children: false
-parent: ONT
----
-
-# Zyxel PMG3000-D20B
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | Zyxel |
-| Model | PMG3000-D20B |
-| Alias | |
-| Chipset | Lantiq PEB98035 |
-| Flash | 8 MB |
-| RAM | 64 MB |
-| System | OpenWRT |
-| HSGMII | Yes |
-| Optics | SC/APC |
-| IP address | 10.10.1.1 |
-| Web Gui | ✅ username `admin`, password `1234` |
-| SSH | ✅ username `admin`, password `1234` |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-
-- [Zyxel PMG3000-D20B](ont-Zyxel-PMG3000-D20B)
-- [Halny HL-GSFP](ont-Halny-HL-GSFP)
-- [D-LINK DPN-100-Rev-A](ont-D-LINK-DPN-100-Rev-A)
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
-- [https://github.com/xvzf/zyxel-gpon-sfp](https://github.com/xvzf/zyxel-gpon-sfp)
-
+---
+title: Zyxel PMG3000-D20B
+has_children: false
+parent: ONT
+---
+
+# Zyxel PMG3000-D20B
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | Zyxel |
+| Model | PMG3000-D20B |
+| Alias | |
+| Chipset | Lantiq PEB98035 |
+| Flash | 8 MB |
+| RAM | 64 MB |
+| System | OpenWRT |
+| HSGMII | Yes |
+| Optics | SC/APC |
+| IP address | 10.10.1.1 |
+| Web Gui | ✅ username `admin`, password `1234` |
+| SSH | ✅ username `admin`, password `1234` |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+
+- [Zyxel PMG3000-D20B](ont-Zyxel-PMG3000-D20B)
+- [Halny HL-GSFP](ont-Halny-HL-GSFP)
+- [D-LINK DPN-100-Rev-A](ont-D-LINK-DPN-100-Rev-A)
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
+- [https://github.com/xvzf/zyxel-gpon-sfp](https://github.com/xvzf/zyxel-gpon-sfp)
+
diff --git a/ont-huawei-ma5671a.md b/ont-huawei-ma5671a.md
index 402a74c..42a45fd 100644
--- a/ont-huawei-ma5671a.md
+++ b/ont-huawei-ma5671a.md
@@ -1,54 +1,54 @@
----
-title: Huawei MA5671A
-has_children: false
-parent: ONT
----
-
-# Huawei MA5671A
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | Huawei |
-| Model | MA5671A |
-| Alias | |
-| Chipset | Lantiq PEB98035 |
-| Flash | 16 MB |
-| RAM | 64 MB |
-| System | OpenWRT |
-| HSGMII | Yes |
-| Optics | SC/APC |
-| IP address | 192.168.1.10 |
-| Web Gui | After root |
-| SSH | |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-
-- [Huawei MA5671A](ont-huawei-ma5671a)
-- [Nokia G-010S-P](ont-nokia-g-s010s-p)
-- [SourcePhotonics SPS-34-24T-HP-TDFO](ont-SourcePhotonics-SPS-34-24T-HP-TDFO)
-- [Hilink HL23446](ont-Hilink-HL23446)
-
-### List of software version
-
-### List of partition
-
-- mtd2
-- mtd5
-
-### List of firmware and files
-
-- [Carlito MTD2](https://ma5671a.s3.nl-ams.scw.cloud/mtd2.bin){: .btn } md5hash: d3cb6f7efec201b37931139feb4bb23b
-- [Huawei Rooted MTD2](https://ma5671a.s3.nl-ams.scw.cloud/mA5671a_root_mtd2.img){: .btn } md5hash: 3138d2dd06a32bb92bc63610fec6fcd6
-- [Carlito MTD5](https://ma5671a.s3.nl-ams.scw.cloud/mtd5.bin){: .btn } md5hash > 59d2dc15227d6f693a38131eca89b29e
-- [Huawei Rooted MTD5](https://ma5671a.s3.nl-ams.scw.cloud/mA5671a_root_mtd5.img){: .btn } md5hash: 0e4cfdc1b96be6581869b26b48789556
-- [1224abort.bin](https://ma5671a.s3.nl-ams.scw.cloud/1224ABORT.bin){: .btn } md5hash: 10e94a4b4acdc82dec20c7904b69e5c0
-
-## Miscellaneous Links
-
-- [Support MA5671A SFP GPON | OpenWRT forum](https://forum.openwrt.org/t/support-ma5671a-sfp-gpon/48042)
-- [u boot lantiq falcon | GitHub](https://github.com/minhng99/u-boot_lantiq_falcon)
-- [Custom Firmware | right.com.cn](https://www.right.com.cn/forum/thread-8220173-1-1.html)
+---
+title: Huawei MA5671A
+has_children: false
+parent: ONT
+---
+
+# Huawei MA5671A
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | Huawei |
+| Model | MA5671A |
+| Alias | |
+| Chipset | Lantiq PEB98035 |
+| Flash | 16 MB |
+| RAM | 64 MB |
+| System | OpenWRT |
+| HSGMII | Yes |
+| Optics | SC/APC |
+| IP address | 192.168.1.10 |
+| Web Gui | After root |
+| SSH | |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+
+- [Huawei MA5671A](ont-huawei-ma5671a)
+- [Nokia G-010S-P](ont-nokia-g-s010s-p)
+- [SourcePhotonics SPS-34-24T-HP-TDFO](ont-SourcePhotonics-SPS-34-24T-HP-TDFO)
+- [Hilink HL23446](ont-Hilink-HL23446)
+
+### List of software version
+
+### List of partition
+
+- mtd2
+- mtd5
+
+### List of firmware and files
+
+- [Carlito MTD2](https://ma5671a.s3.nl-ams.scw.cloud/mtd2.bin){: .btn } md5hash: d3cb6f7efec201b37931139feb4bb23b
+- [Huawei Rooted MTD2](https://ma5671a.s3.nl-ams.scw.cloud/mA5671a_root_mtd2.img){: .btn } md5hash: 3138d2dd06a32bb92bc63610fec6fcd6
+- [Carlito MTD5](https://ma5671a.s3.nl-ams.scw.cloud/mtd5.bin){: .btn } md5hash > 59d2dc15227d6f693a38131eca89b29e
+- [Huawei Rooted MTD5](https://ma5671a.s3.nl-ams.scw.cloud/mA5671a_root_mtd5.img){: .btn } md5hash: 0e4cfdc1b96be6581869b26b48789556
+- [1224abort.bin](https://ma5671a.s3.nl-ams.scw.cloud/1224ABORT.bin){: .btn } md5hash: 10e94a4b4acdc82dec20c7904b69e5c0
+
+## Miscellaneous Links
+
+- [Support MA5671A SFP GPON | OpenWRT forum](https://forum.openwrt.org/t/support-ma5671a-sfp-gpon/48042)
+- [u boot lantiq falcon | GitHub](https://github.com/minhng99/u-boot_lantiq_falcon)
+- [Custom Firmware | right.com.cn](https://www.right.com.cn/forum/thread-8220173-1-1.html)
- [Come avere i 2.5 Gbps su un unico dispositivo senza il Fastgate | fibra.click Forum](https://forum.fibra.click/d/17836-come-avere-i-25-gbps-su-un-unico-dispositivo-senza-il-fastgate) \ No newline at end of file
diff --git a/ont-nokia-g-s010s-p.md b/ont-nokia-g-s010s-p.md
index a7ea316..4ca2a37 100644
--- a/ont-nokia-g-s010s-p.md
+++ b/ont-nokia-g-s010s-p.md
@@ -1,37 +1,37 @@
----
-title: Nokia G-010S-P
-has_children: false
-parent: ONT
----
-
-# Nokia G-010S-P
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | Nokia |
-| Model | G-010S-P |
-| Alias | Alcatel G-010S-P |
-| Chipset | Lantiq PEB98035 |
-| Flash | 16 MB |
-| RAM | 64 MB |
-| System | OpenWRT |
-| HSGMII | Yes |
-| Optics | SC/APC |
-| IP address | |
-| Web Gui | ✅ |
-| SSH | |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-
-- [Huawei MA5671A](ont-huawei-ma5671a)
-- [Nokia G-010S-P](ont-nokia-g-s010s-p)
-- [SourcePhotonics SPS-34-24T-HP-TDFO](ont-SourcePhotonics-SPS-34-24T-HP-TDFO)
-- [Hilink HL23446](ont-Hilink-HL23446)
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
+---
+title: Nokia G-010S-P
+has_children: false
+parent: ONT
+---
+
+# Nokia G-010S-P
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | Nokia |
+| Model | G-010S-P |
+| Alias | Alcatel G-010S-P |
+| Chipset | Lantiq PEB98035 |
+| Flash | 16 MB |
+| RAM | 64 MB |
+| System | OpenWRT |
+| HSGMII | Yes |
+| Optics | SC/APC |
+| IP address | |
+| Web Gui | ✅ |
+| SSH | |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+
+- [Huawei MA5671A](ont-huawei-ma5671a)
+- [Nokia G-010S-P](ont-nokia-g-s010s-p)
+- [SourcePhotonics SPS-34-24T-HP-TDFO](ont-SourcePhotonics-SPS-34-24T-HP-TDFO)
+- [Hilink HL23446](ont-Hilink-HL23446)
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
diff --git a/ont-technicolor-afm0002.md b/ont-technicolor-afm0002.md
index a92e709..b167226 100644
--- a/ont-technicolor-afm0002.md
+++ b/ont-technicolor-afm0002.md
@@ -1,200 +1,213 @@
----
-title: Technicolor AFM0002
-has_children: false
-parent: ONT
----
-
-# Technicolor AFM0002TIM/FWB/WND
-
-## Hardware Specifications
-
-| | |
-|-------------|--------------------|
-| Vendor | Technicolor |
-| Model | AFM0002TIM/FWB/WND |
-| Alias | |
-| Chipset | Realtek RTL9601B |
-| Flash | |
-| RAM | |
-| System | Linux (Luna SDK) |
-| HSGMII | NO |
-| Optics | |
-| IP address | 192.168.2.1 |
-| Web Gui | Can be enabled |
-| SSH | Enabled |
-| Form Factor | miniONT SFP |
-
-## Default credentials:
-- User: admin
-- Password: system
-## Interchangeable firmware with
-## List of software versions
-- V1_7_8_181123
-- V1_7_8_210928
-- V1_7_8_210412
-
-## List of partitions
-
-| dev | size | erasesize | name |
-|-------|----------|-----------|-----------------|
-| mtd0 | 00040000 | 00001000 | "boot" |
-| mtd1 | 00002000 | 00001000 | "env" |
-| mtd2 | 00002000 | 00001000 | "env2" |
-| mtd3 | 0003c000 | 00001000 | "config" |
-| mtd4 | 00300000 | 00001000 | "k0" |
-| mtd5 | 004c0000 | 00001000 | "r0" |
-| mtd6 | 00300000 | 00001000 | "k1" |
-| mtd7 | 004c0000 | 00001000 | "r1" |
-| mtd8 | 00001000 | 00001000 | "Partition_008" |
-| mtd9 | 00001000 | 00001000 | "Partition_009" |
-| mtd10 | 00001000 | 00001000 | "Partition_010" |
-| mtd11 | 00001000 | 00001000 | "Partition_011" |
-| mtd12 | 00300000 | 00001000 | "linux" |
-| mtd13 | 004c0000 | 00001000 | "rootfs" |
-
-This stick supports dual boot.
-
-k0 and r0 contains respectively the kernel and firmware of the first image, k1 and r1 of the second one
-
-## List of firmware and files
-## Useful files
-- `/var/config/lastgood.xml` - Contains the user portion of the configuration
-- `/var/config/lastgood-hs.xml` - Contains the "hardware" configuration (i.e. that _should_ not be changed)
-- `/tmp/omcilog` - OMCI messages logs (must be enabeled, see below)
-
-## Useful binaries
-- `/etc/scripts/flash` - Used to manipulate the config files in a samewhat safe manner
-- `xmlconfig` - Used to low-level manipulate the XML config files. Called by `flash`
-- `nv` - Used to manipulate the nvram storage, including persistent config entries via `nv setenv`/`nv getenv`
-- `omcicli` - Used to interact with the running OMCI daemon
-- `omci_app` - The OMCI daemon
-- `diag` - Used to run low-level diagnostics commands on the stick
-
-## Useful commands
-
-### Enable the Web UI
-```sh
-# /bin/iptables -D INPUT -p tcp --dport 80 -j DROP
-```
-
-### Check the currently active image
-```sh
-# nv getenv sw_active
-sw_activ=1
-# nv getenv sw_version0
-sw_version0=V1_7_8_210412
-# nv getenv sw_version1
-sw_version1=V1_7_8_210412
-```
-
-### Boot to a different image
-```sh
-# nv setenv sw_commit 0|1
-# reboot
-```
-
-### Get/Set the ONT S/N
-```sh
-# /etc/scripts/bin flash get GPON_SN
-GPON_SN=TMBB00000000
-# /etc/scripts/bin flash set GPON_SN TMBB0A1B2C3D
-```
-
-### Get/Set the ONT PLOAM password
-Note: the password is in ASCII format
-```sh
-# /etc/scripts/bin flash get GPON_PLOAM_PASSWD
-GPON_PLOAM_PASSWD=AAAAAAAAAA
-# /etc/scripts/bin flash set GPON_PLOAM_PASSWD AAAAAAAAAA
-```
-
-### Query a particular OMCI ME
-```sh
-# omcicli mib get MIB_IDX
-```
-
-## Low level modding
-Note: this section is based on version `V1_7_8_210412` of the stick
-### Trasnfer files from/to the stick
-Works with binary files too, just run md5sum on source and destination to make sure you are not corrupting anything...
-From the stick to the PC:
-```sh
-# ssh admin@192.168.2.1 "cat /tmp/omcilog" > omcilog.log
-```
-From the PC to the stick
-```sh
-# cat lastgood.xml | ssh admin@192.168.2.1 "cat > /var/config/lastgood.xml"
-```
-**Note:** on windows replace type with cat and run the commands from cmd (not powershell)
-### Extract and repack the rootfs
-```sh
-# unsquashfs mtd5.bin
-# mksquashfs squashfs-root rootfs -b 131072 -comp lzma -no-recovery
-```
-### Flash a new rootfs
-**Note: you can only flash the inactive image**. So mtd4/5 if you are on image1, mtd6/7 if you are on image0.
-
-The follwing examples flashes a new rootfs to image1 and boots to it
-```sh
-# flash_eraseall /dev/mtd7
-# cat /tmp/rootfs.new > /dev/mtd7
-# nv setenv sw_commit=1
-# reboot
-```
-### Add support to configurable SW and HW versions, VENDOR ID and much more
-We can patch `/etc/scripts/flash` in order to add support for some variables implemented in `omci_app` but removed from `xmlconfig`. The patch is below (change the values to suit your needs)
-```patch
---- squashfs-root/etc/scripts/flash 2021-09-28 10:38:52.000000000 +0200
-+++ squashfs-root.new/etc/scripts/flash 2022-08-04 00:00:29.769605000 +0200
-@@ -62,7 +62,26 @@
- if [ `echo $para | egrep $specific_mib_patten` ]; then
- /bin/xmlconfig -g $para | sed -r "s/$rename_mib_name+/$2/g" | sed -r "s/,+//g"
- else
-- /bin/xmlconfig -g $para | sed -r "s/$rename_mib_name+/$2/g"
-+ case "$para" in
-+ "OMCI_EQID")
-+ echo "$para=MY_EQID"
-+ ;;
-+ "OMCI_VENDOR_ID")
-+ echo "$para=MY_VENDOR"
-+ ;;
-+ "OMCI_SW_VER1")
-+ echo "$para=MY_SW_VER1"
-+ ;;
-+ "OMCI_SW_VER2")
-+ echo "$para=MY_SW_VER2"
-+ ;;
-+ "OMCI_ONT_VER")
-+ echo "$para=MY_HW_VER"
-+ ;;
-+ *)
-+ /bin/xmlconfig -g $para | sed -r "s/$rename_mib_name+/$2/g"
-+ ;;
-+ esac
- fi
- if [ "$?" = "0" ]; then
- exit 0
-```
-### Increase the length of the software version from 13 to 14 characters
-`omci_app` has an hard-coded limit of 13 characters for the software version, which is too low. We can binary patch it to increase it to 14 (or more, if you dare/need)
-```
-JVhEWjAwNCUAAAAIAAgACAAAAAAAAAAAAAAAAAAAAABvbWNpX2FwcG9tY2lfYXBwH4sIAAAAAAAA
-AwMAAAAAAAAAAAAfiwgAAAAAAAADY2BoYGZgYFjh9Uq/aNcZQdXsOh3R5ktr/fd0sTEwcuTnJmfG
-JxYUYJVlZGAA0gCHsMK2QQAAAAAAAEQlWERaMDA0JQ==
-```
-Save it as omci_app.xdelta.b64, then run:
-```sh
-# base64 -d omci_app.xdelta.base64 > omci_app.xdelta
-# xdelta patch omci_app.xdelta bin/omci_app bin/omci_app.new
-# mv bin/omci_app.new bin/omci_app
-```
-For reference, the patch changes the follwing section of the omci_app:
-```diff
--00408c24 24 05 00 0e li a1,0xe
-+00408c24 24 05 00 0f li a1,0xf
--00408cf0 24 05 00 0f li a1,0xe
-+00408cf0 24 05 00 0f li a1,0xf
-```
-(It's inside the function referecing the string `OMCI_SW_VER1`)
-## Miscellaneous Links
-
+---
+title: Technicolor AFM0002
+has_children: false
+parent: ONT
+---
+
+# Technicolor AFM0002TIM/FWB/WND
+
+## Hardware Specifications
+
+| | |
+|-------------|--------------------|
+| Vendor | Technicolor |
+| Model | AFM0002TIM/FWB/WND |
+| Alias | |
+| Chipset | Realtek RTL9601B |
+| Flash | |
+| RAM | |
+| System | Linux (Luna SDK) |
+| HSGMII | NO |
+| Optics | |
+| IP address | 192.168.2.1 |
+| Web Gui | Can be enabled |
+| SSH | Enabled |
+| Form Factor | miniONT SFP |
+
+## Default credentials:
+- User: admin
+- Password: system
+## Interchangeable firmware with
+## List of software versions
+- V1_7_8_181123
+- V1_7_8_210928
+- V1_7_8_210412
+
+## List of partitions
+
+| dev | size | erasesize | name |
+|-------|----------|-----------|-----------------|
+| mtd0 | 00040000 | 00001000 | "boot" |
+| mtd1 | 00002000 | 00001000 | "env" |
+| mtd2 | 00002000 | 00001000 | "env2" |
+| mtd3 | 0003c000 | 00001000 | "config" |
+| mtd4 | 00300000 | 00001000 | "k0" |
+| mtd5 | 004c0000 | 00001000 | "r0" |
+| mtd6 | 00300000 | 00001000 | "k1" |
+| mtd7 | 004c0000 | 00001000 | "r1" |
+| mtd8 | 00001000 | 00001000 | "Partition_008" |
+| mtd9 | 00001000 | 00001000 | "Partition_009" |
+| mtd10 | 00001000 | 00001000 | "Partition_010" |
+| mtd11 | 00001000 | 00001000 | "Partition_011" |
+| mtd12 | 00300000 | 00001000 | "linux" |
+| mtd13 | 004c0000 | 00001000 | "rootfs" |
+
+This stick supports dual boot.
+
+k0 and r0 contains respectively the kernel and firmware of the first image, k1 and r1 of the second one
+
+## List of firmware and files
+## Useful files
+- `/var/config/lastgood.xml` - Contains the user portion of the configuration
+- `/var/config/lastgood-hs.xml` - Contains the "hardware" configuration (i.e. that _should_ not be changed)
+- `/tmp/omcilog` - OMCI messages logs (must be enabeled, see below)
+
+## Useful binaries
+- `/etc/scripts/flash` - Used to manipulate the config files in a samewhat safe manner
+- `xmlconfig` - Used to low-level manipulate the XML config files. Called by `flash`
+- `nv` - Used to manipulate the nvram storage, including persistent config entries via `nv setenv`/`nv getenv`
+- `omcicli` - Used to interact with the running OMCI daemon
+- `omci_app` - The OMCI daemon
+- `diag` - Used to run low-level diagnostics commands on the stick
+
+## Useful commands
+
+### Enable the Web UI
+```sh
+# /bin/iptables -D INPUT -p tcp --dport 80 -j DROP
+```
+
+### Check the currently active image
+```sh
+# nv getenv sw_active
+sw_activ=1
+# nv getenv sw_version0
+sw_version0=V1_7_8_210412
+# nv getenv sw_version1
+sw_version1=V1_7_8_210412
+```
+
+### Boot to a different image
+```sh
+# nv setenv sw_commit 0|1
+# reboot
+```
+
+### Get/Set the ONT S/N
+```sh
+# /etc/scripts/bin flash get GPON_SN
+GPON_SN=TMBB00000000
+# /etc/scripts/bin flash set GPON_SN TMBB0A1B2C3D
+```
+
+### Get/Set the ONT PLOAM password
+Note: the password is in ASCII format
+```sh
+# /etc/scripts/bin flash get GPON_PLOAM_PASSWD
+GPON_PLOAM_PASSWD=AAAAAAAAAA
+# /etc/scripts/bin flash set GPON_PLOAM_PASSWD AAAAAAAAAA
+```
+
+### Query a particular OMCI ME
+```sh
+# omcicli mib get MIB_IDX
+```
+
+## Low level modding
+Note: this section is based on version `V1_7_8_210412` of the stick
+### Trasnfer files from/to the stick
+Works with binary files too, just run md5sum on source and destination to make sure you are not corrupting anything...
+From the stick to the PC:
+```sh
+# ssh admin@192.168.2.1 "cat /tmp/omcilog" > omcilog.log
+```
+From the PC to the stick
+```sh
+# cat lastgood.xml | ssh admin@192.168.2.1 "cat > /var/config/lastgood.xml"
+```
+**Note:** on windows replace type with cat and run the commands from cmd (not powershell)
+### Extract and repack the rootfs
+```sh
+# unsquashfs mtd5.bin
+# mksquashfs squashfs-root rootfs -b 131072 -comp lzma -no-recovery
+```
+### Flash a new rootfs
+**Note: you can only flash the inactive image**. So mtd4/5 if you are on image1, mtd6/7 if you are on image0.
+
+The follwing examples flashes a new rootfs to image1 and boots to it
+```sh
+# flash_eraseall /dev/mtd7
+# cat /tmp/rootfs.new > /dev/mtd7
+# nv setenv sw_commit=1
+# reboot
+```
+### Add support to configurable SW and HW versions, VENDOR ID and much more
+We can patch `/etc/scripts/flash` in order to add support for some variables implemented in `omci_app` but removed from `xmlconfig`. The patch is below (change the values to suit your needs)
+```patch
+--- squashfs-root/etc/scripts/flash 2021-09-28 10:38:52.000000000 +0200
++++ squashfs-root.new/etc/scripts/flash 2022-08-04 00:00:29.769605000 +0200
+@@ -62,7 +62,26 @@
+ if [ `echo $para | egrep $specific_mib_patten` ]; then
+ /bin/xmlconfig -g $para | sed -r "s/$rename_mib_name+/$2/g" | sed -r "s/,+//g"
+ else
+- /bin/xmlconfig -g $para | sed -r "s/$rename_mib_name+/$2/g"
++ case "$para" in
++ "OMCI_EQID")
++ echo "$para=MY_EQID"
++ ;;
++ "OMCI_VENDOR_ID")
++ echo "$para=MY_VENDOR"
++ ;;
++ "OMCI_SW_VER1")
++ echo "$para=MY_SW_VER1"
++ ;;
++ "OMCI_SW_VER2")
++ echo "$para=MY_SW_VER2"
++ ;;
++ "OMCI_ONT_VER")
++ echo "$para=MY_HW_VER"
++ ;;
++ *)
++ /bin/xmlconfig -g $para | sed -r "s/$rename_mib_name+/$2/g"
++ ;;
++ esac
+ fi
+ if [ "$?" = "0" ]; then
+ exit 0
+```
+### Increase the length of the software version from 13 to 14 characters
+`omci_app` has an hard-coded limit of 13 characters for the software version, which is too low. We can binary patch it to increase it to 14 (or more, if you dare/need)
+```
+JVhEWjAwNCUAAAAIAAgACAAAAAAAAAAAAAAAAAAAAABvbWNpX2FwcG9tY2lfYXBwH4sIAAAAAAAA
+AwMAAAAAAAAAAAAfiwgAAAAAAAADY2BoYGZgYFjh9Uq/aNcZQdXsOh3R5ktr/fd0sTEwcuTnJmfG
+JxYUYJVlZGAA0gCHsMK2QQAAAAAAAEQlWERaMDA0JQ==
+```
+Save it as omci_app.xdelta.b64, then run:
+```sh
+# base64 -d omci_app.xdelta.base64 > omci_app.xdelta
+# xdelta patch omci_app.xdelta bin/omci_app bin/omci_app.new
+# mv bin/omci_app.new bin/omci_app
+```
+For reference, the patch changes the follwing section of the omci_app:
+```diff
+-00408c24 24 05 00 0e li a1,0xe
++00408c24 24 05 00 0f li a1,0xf
+-00408cf0 24 05 00 0f li a1,0xe
++00408cf0 24 05 00 0f li a1,0xf
+```
+(It's inside the function referecing the string `OMCI_SW_VER1`)
+
+### Enable PLOAM logging
+```sh
+/etc/scripts/bin flash set OMCI_DBGLVL 1
+/etc/scripts/bin flash set OMCI_DBGLOGFILE 1
+reboot
+/bin/omcicli set logfile 1 ffffffff
+```
+1. The binary log will be placed inside: `/tmp/omcilog`
+2. You can convert it into .pcap using https://github.com/ADeltaX/omcilog2pcap
+3. You can then open it into wireshark by installing the OMCI plugin from https://wiki.wireshark.org/Contrib.md
+
+If you want to log everything since the stick boots, you can create a custom rootfs. Place the last command inside `etc/runomci.sh` as the last line of the file
+## Miscellaneous Links
+
diff --git a/ont-vsol-V2801F.md b/ont-vsol-V2801F.md
index 077c84d..83f9641 100644
--- a/ont-vsol-V2801F.md
+++ b/ont-vsol-V2801F.md
@@ -1,49 +1,49 @@
----
-title: VSOL V2801F
-has_children: false
-parent: ONT
----
-
-# VSOL V2801F
-
-## Hardware Specifications
-
-| | |
-|----------|---------------|
-| Vendor | VSOL |
-| Model | V2801F |
-| Alias | |
-| Chipset | Realtek RTL9601CI |
-| Flash | 8 MB |
-| RAM | 64 MB |
-| System | Linux (Luna SDK) |
-| HSGMII | No |
-| Optics | SC/APC |
-| IP address | |
-| Web Gui | ✅ |
-| SSH | ✅ |
-| Form Factor | miniONT SFP |
-
-### Interchangeable firmware with
-
-
-- [ODI DFP-34X-C2C](ont-ODI-DFP-34X-C2C)
-- [VSOL V2801F](ont-vsol-V2801F)
-- [TWCGPON657](ont-TWCGPON657)
-- [UFiber UF-Instant](ont-UFiber-UF-Instant) can be used as universal GPON stick with V2801F rootfs, but only with stock UF kernel (4.3.1) - needed for Laser controller
-- [DFP-34X-2C2](ont-DFP-34X-2C2)
-- [CarlitoxxPro CPGOS03-0490 v2](ont-CarlitoxxPro-CPGOS03-0490-v2)
-
-### List of software version
-### List of partition
-### List of firmware and files
-## Miscellaneous Links
-
-- [Hacking RTL960x](https://github.com/Anime4000/RTL960x)
-
-## Bugs
-
-VLAN swap issue (MEID 171), auto-sensing mode to switch between SGMII/HiSGMII
-
-use VID/VLAN from command "omcicli mib get 84" via telnet to bring up PPPoE
-
+---
+title: VSOL V2801F
+has_children: false
+parent: ONT
+---
+
+# VSOL V2801F
+
+## Hardware Specifications
+
+| | |
+|----------|---------------|
+| Vendor | VSOL |
+| Model | V2801F |
+| Alias | |
+| Chipset | Realtek RTL9601CI |
+| Flash | 8 MB |
+| RAM | 64 MB |
+| System | Linux (Luna SDK) |
+| HSGMII | No |
+| Optics | SC/APC |
+| IP address | |
+| Web Gui | ✅ |
+| SSH | ✅ |
+| Form Factor | miniONT SFP |
+
+### Interchangeable firmware with
+
+
+- [ODI DFP-34X-C2C](ont-ODI-DFP-34X-C2C)
+- [VSOL V2801F](ont-vsol-V2801F)
+- [TWCGPON657](ont-TWCGPON657)
+- [UFiber UF-Instant](ont-UFiber-UF-Instant) can be used as universal GPON stick with V2801F rootfs, but only with stock UF kernel (4.3.1) - needed for Laser controller
+- [DFP-34X-2C2](ont-DFP-34X-2C2)
+- [CarlitoxxPro CPGOS03-0490 v2](ont-CarlitoxxPro-CPGOS03-0490-v2)
+
+### List of software version
+### List of partition
+### List of firmware and files
+## Miscellaneous Links
+
+- [Hacking RTL960x](https://github.com/Anime4000/RTL960x)
+
+## Bugs
+
+VLAN swap issue (MEID 171), auto-sensing mode to switch between SGMII/HiSGMII
+
+use VID/VLAN from command "omcicli mib get 84" via telnet to bring up PPPoE
+
diff --git a/ont.md b/ont.md
index 10d50d5..cb6561a 100644
--- a/ont.md
+++ b/ont.md
@@ -1,7 +1,7 @@
----
-title: ONT
-has_children: true
-nav_order: 2
----
-
+---
+title: ONT
+has_children: true
+nav_order: 2
+---
+
# ONT \ No newline at end of file
diff --git a/rakefile b/rakefile
index b8b42c4..152f5d6 100644
--- a/rakefile
+++ b/rakefile
@@ -1 +1 @@
-Dir.glob('lib/tasks/*.rake').each {|r| import r}
+Dir.glob('lib/tasks/*.rake').each {|r| import r}