Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kplex for OpenWrt

These files are for using the OpenWrt build system to build kplex for OpenWrt.

kplex is a program for combining and routing NMEA-0183 data to and from multiple sources and destinations. By installing it on a USB-enabled router, it is possible to broadcast NMEA data over a local ethernet and/or wifi network, making the data available to computers, phones, and tablets connected to the network.

For more information about kplex see http://www.stripydog.com/kplex/.

Background

To run kplex on your router, it must be compiled for your router's architecture. Rather than compiling software on the router directly, as we would on most computers, it is normal to use a process called cross-compiling whereby the software is compiled on a more powerful machine, but with your router's architecture as the target.

Fortunately, OpenWrt makes cross-compiling software very easy, using the OpenWrt SDK which is pre-compiled for every supported architecture, saving you from having to build the whole system from scratch using the OpenWrt Buildroot.

Please note that these instructions assume a certain amount of familiarity with the command line.

Seting up the environment

  1. Install the prerequisites required to run the OpenWrt build system.
    This depends on your system. The requirements are the same as for the Buildroot and are listed here.
    The following will normally be sufficient:

    $ sudo apt-get update
    $ sudo apt-get install git build-essential ccache libssl-dev libncurses5-dev unzip gawk zlib1g-dev
  2. Download and unpack the OpenWrt SDK.
    You can find the SDK for your router's architecture from the OpenWrt downloads page. The SDK download you need is found in the same directory as the firmware for your router.
    For example, the OpenWrt 15.05.1 SDK for the common ar71xx architecture is found here.

  3. Set up the SDK.
    cd into the extracted SDK directory and execute the following command:

    $ make menuconfig

    A menu-based interface will appear. Choose the <Exit> option, then choose to <Save> the generated config.

Building

  1. Ensure you are in the root SDK directory.

  2. Clone this repo into the package/kplex subdir:

    $ git clone https://github.com/caesar/kplex-openwrt.git package/kplex
  3. Use make to build the package/kplex/compile target:

    $ make package/kplex/compile

    This will download the source code for kplex, cross-compile it for your router, and package it in an IPKG installer package.

    The package will be located in the bin subdirectory of the SDK. For my architecture the package is at bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk.

Installing

  1. Copy the package to your router: (change the filename and the IP address of your router as appropriate)

    $ scp bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk root@192.168.1.1:
  2. SSH into your router and install the package using OPKG.
    You have to run opkg update first to update the package lists, so that OPKG will know where to download the dependency libpthreads.

    $ ssh root@192.168.1.1
    $ opkg update
    $ opkg install kplex_1.3.4-1_ar71xx.ipk

    The commands above should result in libpthreads being downloaded and installed, and then kplex being installed.

Running at Startup

If you want to run kplex automatically at startup, run the following command:

$ /etc/init.d/kplex enable

Likewise, to disable it, run:

$ /etc/init.d/kplex disable

If you have the LuCI web interface installed on your router, you can also enable and disable kplex from the System > Startup page.

Configuration

The config file for kplex is located at /etc/kplex.conf. You must edit this file to tell kplex what you want it to do.

The default config file is empty (all lines are commented out), so by default kplex will do nothing.

For information on the config file syntax see the kplex website.

About

Necessary files for using the OpenWrt build system to cross-compile kplex for your router

Topics

Resources

Stars

5 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - caesar/kplex-openwrt: Necessary files for using the OpenWrt build system to cross-compile kplex for your router · GitHub
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kplex for OpenWrt

These files are for using the OpenWrt build system to build kplex for OpenWrt.

kplex is a program for combining and routing NMEA-0183 data to and from multiple sources and destinations. By installing it on a USB-enabled router, it is possible to broadcast NMEA data over a local ethernet and/or wifi network, making the data available to computers, phones, and tablets connected to the network.

For more information about kplex see http://www.stripydog.com/kplex/.

Background

To run kplex on your router, it must be compiled for your router's architecture. Rather than compiling software on the router directly, as we would on most computers, it is normal to use a process called cross-compiling whereby the software is compiled on a more powerful machine, but with your router's architecture as the target.

Fortunately, OpenWrt makes cross-compiling software very easy, using the OpenWrt SDK which is pre-compiled for every supported architecture, saving you from having to build the whole system from scratch using the OpenWrt Buildroot.

Please note that these instructions assume a certain amount of familiarity with the command line.

Seting up the environment

  1. Install the prerequisites required to run the OpenWrt build system.
    This depends on your system. The requirements are the same as for the Buildroot and are listed here.
    The following will normally be sufficient:

    $ sudo apt-get update
    $ sudo apt-get install git build-essential ccache libssl-dev libncurses5-dev unzip gawk zlib1g-dev
  2. Download and unpack the OpenWrt SDK.
    You can find the SDK for your router's architecture from the OpenWrt downloads page. The SDK download you need is found in the same directory as the firmware for your router.
    For example, the OpenWrt 15.05.1 SDK for the common ar71xx architecture is found here.

  3. Set up the SDK.
    cd into the extracted SDK directory and execute the following command:

    $ make menuconfig

    A menu-based interface will appear. Choose the <Exit> option, then choose to <Save> the generated config.

Building

  1. Ensure you are in the root SDK directory.

  2. Clone this repo into the package/kplex subdir:

    $ git clone https://github.com/caesar/kplex-openwrt.git package/kplex
  3. Use make to build the package/kplex/compile target:

    $ make package/kplex/compile

    This will download the source code for kplex, cross-compile it for your router, and package it in an IPKG installer package.

    The package will be located in the bin subdirectory of the SDK. For my architecture the package is at bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk.

Installing

  1. Copy the package to your router: (change the filename and the IP address of your router as appropriate)

    $ scp bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk root@192.168.1.1:
  2. SSH into your router and install the package using OPKG.
    You have to run opkg update first to update the package lists, so that OPKG will know where to download the dependency libpthreads.

    $ ssh root@192.168.1.1
    $ opkg update
    $ opkg install kplex_1.3.4-1_ar71xx.ipk

    The commands above should result in libpthreads being downloaded and installed, and then kplex being installed.

Running at Startup

If you want to run kplex automatically at startup, run the following command:

$ /etc/init.d/kplex enable

Likewise, to disable it, run:

$ /etc/init.d/kplex disable

If you have the LuCI web interface installed on your router, you can also enable and disable kplex from the System > Startup page.

Configuration

The config file for kplex is located at /etc/kplex.conf. You must edit this file to tell kplex what you want it to do.

The default config file is empty (all lines are commented out), so by default kplex will do nothing.

For information on the config file syntax see the kplex website.

About

Necessary files for using the OpenWrt build system to cross-compile kplex for your router

Topics

Resources

Stars

5 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - caesar/kplex-openwrt: Necessary files for using the OpenWrt build system to cross-compile kplex for your router · GitHub
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kplex for OpenWrt

These files are for using the OpenWrt build system to build kplex for OpenWrt.

kplex is a program for combining and routing NMEA-0183 data to and from multiple sources and destinations. By installing it on a USB-enabled router, it is possible to broadcast NMEA data over a local ethernet and/or wifi network, making the data available to computers, phones, and tablets connected to the network.

For more information about kplex see http://www.stripydog.com/kplex/.

Background

To run kplex on your router, it must be compiled for your router's architecture. Rather than compiling software on the router directly, as we would on most computers, it is normal to use a process called cross-compiling whereby the software is compiled on a more powerful machine, but with your router's architecture as the target.

Fortunately, OpenWrt makes cross-compiling software very easy, using the OpenWrt SDK which is pre-compiled for every supported architecture, saving you from having to build the whole system from scratch using the OpenWrt Buildroot.

Please note that these instructions assume a certain amount of familiarity with the command line.

Seting up the environment

  1. Install the prerequisites required to run the OpenWrt build system.
    This depends on your system. The requirements are the same as for the Buildroot and are listed here.
    The following will normally be sufficient:

    $ sudo apt-get update
    $ sudo apt-get install git build-essential ccache libssl-dev libncurses5-dev unzip gawk zlib1g-dev
  2. Download and unpack the OpenWrt SDK.
    You can find the SDK for your router's architecture from the OpenWrt downloads page. The SDK download you need is found in the same directory as the firmware for your router.
    For example, the OpenWrt 15.05.1 SDK for the common ar71xx architecture is found here.

  3. Set up the SDK.
    cd into the extracted SDK directory and execute the following command:

    $ make menuconfig

    A menu-based interface will appear. Choose the <Exit> option, then choose to <Save> the generated config.

Building

  1. Ensure you are in the root SDK directory.

  2. Clone this repo into the package/kplex subdir:

    $ git clone https://github.com/caesar/kplex-openwrt.git package/kplex
  3. Use make to build the package/kplex/compile target:

    $ make package/kplex/compile

    This will download the source code for kplex, cross-compile it for your router, and package it in an IPKG installer package.

    The package will be located in the bin subdirectory of the SDK. For my architecture the package is at bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk.

Installing

  1. Copy the package to your router: (change the filename and the IP address of your router as appropriate)

    $ scp bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk root@192.168.1.1:
  2. SSH into your router and install the package using OPKG.
    You have to run opkg update first to update the package lists, so that OPKG will know where to download the dependency libpthreads.

    $ ssh root@192.168.1.1
    $ opkg update
    $ opkg install kplex_1.3.4-1_ar71xx.ipk

    The commands above should result in libpthreads being downloaded and installed, and then kplex being installed.

Running at Startup

If you want to run kplex automatically at startup, run the following command:

$ /etc/init.d/kplex enable

Likewise, to disable it, run:

$ /etc/init.d/kplex disable

If you have the LuCI web interface installed on your router, you can also enable and disable kplex from the System > Startup page.

Configuration

The config file for kplex is located at /etc/kplex.conf. You must edit this file to tell kplex what you want it to do.

The default config file is empty (all lines are commented out), so by default kplex will do nothing.

For information on the config file syntax see the kplex website.

About

Necessary files for using the OpenWrt build system to cross-compile kplex for your router

Topics

Resources

Stars

5 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - caesar/kplex-openwrt: Necessary files for using the OpenWrt build system to cross-compile kplex for your router · GitHub
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kplex for OpenWrt

These files are for using the OpenWrt build system to build kplex for OpenWrt.

kplex is a program for combining and routing NMEA-0183 data to and from multiple sources and destinations. By installing it on a USB-enabled router, it is possible to broadcast NMEA data over a local ethernet and/or wifi network, making the data available to computers, phones, and tablets connected to the network.

For more information about kplex see http://www.stripydog.com/kplex/.

Background

To run kplex on your router, it must be compiled for your router's architecture. Rather than compiling software on the router directly, as we would on most computers, it is normal to use a process called cross-compiling whereby the software is compiled on a more powerful machine, but with your router's architecture as the target.

Fortunately, OpenWrt makes cross-compiling software very easy, using the OpenWrt SDK which is pre-compiled for every supported architecture, saving you from having to build the whole system from scratch using the OpenWrt Buildroot.

Please note that these instructions assume a certain amount of familiarity with the command line.

Seting up the environment

  1. Install the prerequisites required to run the OpenWrt build system.
    This depends on your system. The requirements are the same as for the Buildroot and are listed here.
    The following will normally be sufficient:

    $ sudo apt-get update
    $ sudo apt-get install git build-essential ccache libssl-dev libncurses5-dev unzip gawk zlib1g-dev
  2. Download and unpack the OpenWrt SDK.
    You can find the SDK for your router's architecture from the OpenWrt downloads page. The SDK download you need is found in the same directory as the firmware for your router.
    For example, the OpenWrt 15.05.1 SDK for the common ar71xx architecture is found here.

  3. Set up the SDK.
    cd into the extracted SDK directory and execute the following command:

    $ make menuconfig

    A menu-based interface will appear. Choose the <Exit> option, then choose to <Save> the generated config.

Building

  1. Ensure you are in the root SDK directory.

  2. Clone this repo into the package/kplex subdir:

    $ git clone https://github.com/caesar/kplex-openwrt.git package/kplex
  3. Use make to build the package/kplex/compile target:

    $ make package/kplex/compile

    This will download the source code for kplex, cross-compile it for your router, and package it in an IPKG installer package.

    The package will be located in the bin subdirectory of the SDK. For my architecture the package is at bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk.

Installing

  1. Copy the package to your router: (change the filename and the IP address of your router as appropriate)

    $ scp bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk root@192.168.1.1:
  2. SSH into your router and install the package using OPKG.
    You have to run opkg update first to update the package lists, so that OPKG will know where to download the dependency libpthreads.

    $ ssh root@192.168.1.1
    $ opkg update
    $ opkg install kplex_1.3.4-1_ar71xx.ipk

    The commands above should result in libpthreads being downloaded and installed, and then kplex being installed.

Running at Startup

If you want to run kplex automatically at startup, run the following command:

$ /etc/init.d/kplex enable

Likewise, to disable it, run:

$ /etc/init.d/kplex disable

If you have the LuCI web interface installed on your router, you can also enable and disable kplex from the System > Startup page.

Configuration

The config file for kplex is located at /etc/kplex.conf. You must edit this file to tell kplex what you want it to do.

The default config file is empty (all lines are commented out), so by default kplex will do nothing.

For information on the config file syntax see the kplex website.

About

Necessary files for using the OpenWrt build system to cross-compile kplex for your router

Topics

Resources

Stars

5 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - caesar/kplex-openwrt: Necessary files for using the OpenWrt build system to cross-compile kplex for your router · GitHub
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kplex for OpenWrt

These files are for using the OpenWrt build system to build kplex for OpenWrt.

kplex is a program for combining and routing NMEA-0183 data to and from multiple sources and destinations. By installing it on a USB-enabled router, it is possible to broadcast NMEA data over a local ethernet and/or wifi network, making the data available to computers, phones, and tablets connected to the network.

For more information about kplex see http://www.stripydog.com/kplex/.

Background

To run kplex on your router, it must be compiled for your router's architecture. Rather than compiling software on the router directly, as we would on most computers, it is normal to use a process called cross-compiling whereby the software is compiled on a more powerful machine, but with your router's architecture as the target.

Fortunately, OpenWrt makes cross-compiling software very easy, using the OpenWrt SDK which is pre-compiled for every supported architecture, saving you from having to build the whole system from scratch using the OpenWrt Buildroot.

Please note that these instructions assume a certain amount of familiarity with the command line.

Seting up the environment

  1. Install the prerequisites required to run the OpenWrt build system.
    This depends on your system. The requirements are the same as for the Buildroot and are listed here.
    The following will normally be sufficient:

    $ sudo apt-get update
    $ sudo apt-get install git build-essential ccache libssl-dev libncurses5-dev unzip gawk zlib1g-dev
  2. Download and unpack the OpenWrt SDK.
    You can find the SDK for your router's architecture from the OpenWrt downloads page. The SDK download you need is found in the same directory as the firmware for your router.
    For example, the OpenWrt 15.05.1 SDK for the common ar71xx architecture is found here.

  3. Set up the SDK.
    cd into the extracted SDK directory and execute the following command:

    $ make menuconfig

    A menu-based interface will appear. Choose the <Exit> option, then choose to <Save> the generated config.

Building

  1. Ensure you are in the root SDK directory.

  2. Clone this repo into the package/kplex subdir:

    $ git clone https://github.com/caesar/kplex-openwrt.git package/kplex
  3. Use make to build the package/kplex/compile target:

    $ make package/kplex/compile

    This will download the source code for kplex, cross-compile it for your router, and package it in an IPKG installer package.

    The package will be located in the bin subdirectory of the SDK. For my architecture the package is at bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk.

Installing

  1. Copy the package to your router: (change the filename and the IP address of your router as appropriate)

    $ scp bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk root@192.168.1.1:
  2. SSH into your router and install the package using OPKG.
    You have to run opkg update first to update the package lists, so that OPKG will know where to download the dependency libpthreads.

    $ ssh root@192.168.1.1
    $ opkg update
    $ opkg install kplex_1.3.4-1_ar71xx.ipk

    The commands above should result in libpthreads being downloaded and installed, and then kplex being installed.

Running at Startup

If you want to run kplex automatically at startup, run the following command:

$ /etc/init.d/kplex enable

Likewise, to disable it, run:

$ /etc/init.d/kplex disable

If you have the LuCI web interface installed on your router, you can also enable and disable kplex from the System > Startup page.

Configuration

The config file for kplex is located at /etc/kplex.conf. You must edit this file to tell kplex what you want it to do.

The default config file is empty (all lines are commented out), so by default kplex will do nothing.

For information on the config file syntax see the kplex website.

About

Necessary files for using the OpenWrt build system to cross-compile kplex for your router

Topics

Resources

Stars

5 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - caesar/kplex-openwrt: Necessary files for using the OpenWrt build system to cross-compile kplex for your router · GitHub
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kplex for OpenWrt

These files are for using the OpenWrt build system to build kplex for OpenWrt.

kplex is a program for combining and routing NMEA-0183 data to and from multiple sources and destinations. By installing it on a USB-enabled router, it is possible to broadcast NMEA data over a local ethernet and/or wifi network, making the data available to computers, phones, and tablets connected to the network.

For more information about kplex see http://www.stripydog.com/kplex/.

Background

To run kplex on your router, it must be compiled for your router's architecture. Rather than compiling software on the router directly, as we would on most computers, it is normal to use a process called cross-compiling whereby the software is compiled on a more powerful machine, but with your router's architecture as the target.

Fortunately, OpenWrt makes cross-compiling software very easy, using the OpenWrt SDK which is pre-compiled for every supported architecture, saving you from having to build the whole system from scratch using the OpenWrt Buildroot.

Please note that these instructions assume a certain amount of familiarity with the command line.

Seting up the environment

  1. Install the prerequisites required to run the OpenWrt build system.
    This depends on your system. The requirements are the same as for the Buildroot and are listed here.
    The following will normally be sufficient:

    $ sudo apt-get update
    $ sudo apt-get install git build-essential ccache libssl-dev libncurses5-dev unzip gawk zlib1g-dev
  2. Download and unpack the OpenWrt SDK.
    You can find the SDK for your router's architecture from the OpenWrt downloads page. The SDK download you need is found in the same directory as the firmware for your router.
    For example, the OpenWrt 15.05.1 SDK for the common ar71xx architecture is found here.

  3. Set up the SDK.
    cd into the extracted SDK directory and execute the following command:

    $ make menuconfig

    A menu-based interface will appear. Choose the <Exit> option, then choose to <Save> the generated config.

Building

  1. Ensure you are in the root SDK directory.

  2. Clone this repo into the package/kplex subdir:

    $ git clone https://github.com/caesar/kplex-openwrt.git package/kplex
  3. Use make to build the package/kplex/compile target:

    $ make package/kplex/compile

    This will download the source code for kplex, cross-compile it for your router, and package it in an IPKG installer package.

    The package will be located in the bin subdirectory of the SDK. For my architecture the package is at bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk.

Installing

  1. Copy the package to your router: (change the filename and the IP address of your router as appropriate)

    $ scp bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk root@192.168.1.1:
  2. SSH into your router and install the package using OPKG.
    You have to run opkg update first to update the package lists, so that OPKG will know where to download the dependency libpthreads.

    $ ssh root@192.168.1.1
    $ opkg update
    $ opkg install kplex_1.3.4-1_ar71xx.ipk

    The commands above should result in libpthreads being downloaded and installed, and then kplex being installed.

Running at Startup

If you want to run kplex automatically at startup, run the following command:

$ /etc/init.d/kplex enable

Likewise, to disable it, run:

$ /etc/init.d/kplex disable

If you have the LuCI web interface installed on your router, you can also enable and disable kplex from the System > Startup page.

Configuration

The config file for kplex is located at /etc/kplex.conf. You must edit this file to tell kplex what you want it to do.

The default config file is empty (all lines are commented out), so by default kplex will do nothing.

For information on the config file syntax see the kplex website.

About

Necessary files for using the OpenWrt build system to cross-compile kplex for your router

Topics

Resources

Stars

5 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - caesar/kplex-openwrt: Necessary files for using the OpenWrt build system to cross-compile kplex for your router · GitHub
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kplex for OpenWrt

These files are for using the OpenWrt build system to build kplex for OpenWrt.

kplex is a program for combining and routing NMEA-0183 data to and from multiple sources and destinations. By installing it on a USB-enabled router, it is possible to broadcast NMEA data over a local ethernet and/or wifi network, making the data available to computers, phones, and tablets connected to the network.

For more information about kplex see http://www.stripydog.com/kplex/.

Background

To run kplex on your router, it must be compiled for your router's architecture. Rather than compiling software on the router directly, as we would on most computers, it is normal to use a process called cross-compiling whereby the software is compiled on a more powerful machine, but with your router's architecture as the target.

Fortunately, OpenWrt makes cross-compiling software very easy, using the OpenWrt SDK which is pre-compiled for every supported architecture, saving you from having to build the whole system from scratch using the OpenWrt Buildroot.

Please note that these instructions assume a certain amount of familiarity with the command line.

Seting up the environment

  1. Install the prerequisites required to run the OpenWrt build system.
    This depends on your system. The requirements are the same as for the Buildroot and are listed here.
    The following will normally be sufficient:

    $ sudo apt-get update
    $ sudo apt-get install git build-essential ccache libssl-dev libncurses5-dev unzip gawk zlib1g-dev
  2. Download and unpack the OpenWrt SDK.
    You can find the SDK for your router's architecture from the OpenWrt downloads page. The SDK download you need is found in the same directory as the firmware for your router.
    For example, the OpenWrt 15.05.1 SDK for the common ar71xx architecture is found here.

  3. Set up the SDK.
    cd into the extracted SDK directory and execute the following command:

    $ make menuconfig

    A menu-based interface will appear. Choose the <Exit> option, then choose to <Save> the generated config.

Building

  1. Ensure you are in the root SDK directory.

  2. Clone this repo into the package/kplex subdir:

    $ git clone https://github.com/caesar/kplex-openwrt.git package/kplex
  3. Use make to build the package/kplex/compile target:

    $ make package/kplex/compile

    This will download the source code for kplex, cross-compile it for your router, and package it in an IPKG installer package.

    The package will be located in the bin subdirectory of the SDK. For my architecture the package is at bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk.

Installing

  1. Copy the package to your router: (change the filename and the IP address of your router as appropriate)

    $ scp bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk root@192.168.1.1:
  2. SSH into your router and install the package using OPKG.
    You have to run opkg update first to update the package lists, so that OPKG will know where to download the dependency libpthreads.

    $ ssh root@192.168.1.1
    $ opkg update
    $ opkg install kplex_1.3.4-1_ar71xx.ipk

    The commands above should result in libpthreads being downloaded and installed, and then kplex being installed.

Running at Startup

If you want to run kplex automatically at startup, run the following command:

$ /etc/init.d/kplex enable

Likewise, to disable it, run:

$ /etc/init.d/kplex disable

If you have the LuCI web interface installed on your router, you can also enable and disable kplex from the System > Startup page.

Configuration

The config file for kplex is located at /etc/kplex.conf. You must edit this file to tell kplex what you want it to do.

The default config file is empty (all lines are commented out), so by default kplex will do nothing.

For information on the config file syntax see the kplex website.

About

Necessary files for using the OpenWrt build system to cross-compile kplex for your router

Topics

Resources

Stars

5 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - caesar/kplex-openwrt: Necessary files for using the OpenWrt build system to cross-compile kplex for your router · GitHub
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kplex for OpenWrt

These files are for using the OpenWrt build system to build kplex for OpenWrt.

kplex is a program for combining and routing NMEA-0183 data to and from multiple sources and destinations. By installing it on a USB-enabled router, it is possible to broadcast NMEA data over a local ethernet and/or wifi network, making the data available to computers, phones, and tablets connected to the network.

For more information about kplex see http://www.stripydog.com/kplex/.

Background

To run kplex on your router, it must be compiled for your router's architecture. Rather than compiling software on the router directly, as we would on most computers, it is normal to use a process called cross-compiling whereby the software is compiled on a more powerful machine, but with your router's architecture as the target.

Fortunately, OpenWrt makes cross-compiling software very easy, using the OpenWrt SDK which is pre-compiled for every supported architecture, saving you from having to build the whole system from scratch using the OpenWrt Buildroot.

Please note that these instructions assume a certain amount of familiarity with the command line.

Seting up the environment

  1. Install the prerequisites required to run the OpenWrt build system.
    This depends on your system. The requirements are the same as for the Buildroot and are listed here.
    The following will normally be sufficient:

    $ sudo apt-get update
    $ sudo apt-get install git build-essential ccache libssl-dev libncurses5-dev unzip gawk zlib1g-dev
  2. Download and unpack the OpenWrt SDK.
    You can find the SDK for your router's architecture from the OpenWrt downloads page. The SDK download you need is found in the same directory as the firmware for your router.
    For example, the OpenWrt 15.05.1 SDK for the common ar71xx architecture is found here.

  3. Set up the SDK.
    cd into the extracted SDK directory and execute the following command:

    $ make menuconfig

    A menu-based interface will appear. Choose the <Exit> option, then choose to <Save> the generated config.

Building

  1. Ensure you are in the root SDK directory.

  2. Clone this repo into the package/kplex subdir:

    $ git clone https://github.com/caesar/kplex-openwrt.git package/kplex
  3. Use make to build the package/kplex/compile target:

    $ make package/kplex/compile

    This will download the source code for kplex, cross-compile it for your router, and package it in an IPKG installer package.

    The package will be located in the bin subdirectory of the SDK. For my architecture the package is at bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk.

Installing

  1. Copy the package to your router: (change the filename and the IP address of your router as appropriate)

    $ scp bin/ar71xx/packages/base/kplex_1.3.4-1_ar71xx.ipk root@192.168.1.1:
  2. SSH into your router and install the package using OPKG.
    You have to run opkg update first to update the package lists, so that OPKG will know where to download the dependency libpthreads.

    $ ssh root@192.168.1.1
    $ opkg update
    $ opkg install kplex_1.3.4-1_ar71xx.ipk

    The commands above should result in libpthreads being downloaded and installed, and then kplex being installed.

Running at Startup

If you want to run kplex automatically at startup, run the following command:

$ /etc/init.d/kplex enable

Likewise, to disable it, run:

$ /etc/init.d/kplex disable

If you have the LuCI web interface installed on your router, you can also enable and disable kplex from the System > Startup page.

Configuration

The config file for kplex is located at /etc/kplex.conf. You must edit this file to tell kplex what you want it to do.

The default config file is empty (all lines are commented out), so by default kplex will do nothing.

For information on the config file syntax see the kplex website.

About

Necessary files for using the OpenWrt build system to cross-compile kplex for your router

Topics

Resources

Stars

5 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages