{"id":886,"date":"2015-02-19T09:41:57","date_gmt":"2015-02-19T15:41:57","guid":{"rendered":"http:\/\/www.jedge.com\/wordpress\/?page_id=886"},"modified":"2016-08-02T19:51:41","modified_gmt":"2016-08-03T01:51:41","slug":"openwrt-for-the-gl-inet","status":"publish","type":"page","link":"https:\/\/www.jedge.com\/wordpress\/openwrt-for-the-gl-inet\/","title":{"rendered":"Openwrt for the GL-iNet"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.jedge.com\/images\/gl-inet.part1\/banner1.png\" width=\"800\" height=\"120\" class=\"alignleft\" \/><strong>Building Openwrt for the GL-iNet<\/strong><br \/>\nThis tutorial will detail how to obtain the Openwrt source code and compile it to suite our needs with the GL-iNet.  This software build will allow us to use the GL-iNet\u2019s two Ethernet ports to bypass 802.1x port security as detailed in <a href=\"http:\/\/www.jedge.com\/wordpress\/bypass-802-1x-port-security\/\" title=\"Bypass 802.1x Port Security\">Part 2<\/a> of these tutorials as well as the software required for future write-ups.<\/p>\n<p><strong>Segmentation Faults<\/strong><br \/>\nUPDATE: 8\/2\/2016 &#8211; Sweet baby Jesus (<a href=\"https:\/\/www.youtube.com\/watch?v=5A0-u85aAYg\">I like the baby Jesus<\/a>) they fixed the segmentation fault for arptables!  The trunk version of Chaos Calmer has a patch that fixes it.  Look for a new tutorial soon.<\/p>\n<p>The utility arptables (version 0.0.4) in Openwrt Barriar Breaker 14.07 (BB) and Openwrt Chaos Calmer (CC) (bleeding edge) for the Atheros AR9331 chipset does not work. A segmentation fault is created whenever it is used. We have to settle on Attitude Adjustment 12.09 (AA), which uses arptables 0.0.3-4, for our operating system. Trust me I tried to get the latest to work with the binaries, compiling from source, updating to the latest arptables source and compiling\u2026nothing.<\/p>\n<figure class=\"thumbnail wp-caption alignnone\" style=\"width: 348px\"><a href=\"http:\/\/www.jedge.com\/images\/gl-inet.part1\/Figure1-Large.png\"><img loading=\"lazy\" decoding=\"async\" class=\"\" src=\"http:\/\/www.jedge.com\/images\/gl-inet.part1\/Figure1.png\" alt=\"Figure 1:  GDB arptables Segmentation Fault\" width=\"338\" height=\"380\" \/><\/a><figcaption class=\"caption wp-caption-text\">Figure 1: GDB arptables Segmentation Fault<\/figcaption><\/figure>\n<p>But for now I want something that works. Embedded environments still show you that with Linux it can still be easier said than done.<\/p>\n<p><strong>Software Support<\/strong><br \/>\nThe one issue with AA is that it does not support the GL-iNet by default. I\u2019m going to show the super easy way to correct this issue. This is based off of the tutorial from the GL-iNet.com website but cleaned up a bit. It may not be the most correct way but it works. Also with the GL-iNet tutorial it does not address AA lack of support for any device with 16mb flash. Forums will tell you what to add to which file. I skip that process and cheat a little bit. We will need to download the source for AA and the latest trunk of Openwrt to steal a pair of files. So let us start with the commands!<\/p>\n<p><strong>Obtaining Openwrt<\/strong><br \/>\n*Note: Everything is done from the latest version of Ubuntu LTS (14.04).<\/p>\n<p>Okay\u2026before the commands I recommend you RTFM and go to the reference links at the bottom to learn more about the commands I\u2019m telling you to enter. For this tutorial we will work out of your home directory. We will download the latest code for Openwrt as well as the code for Attitude Adjustment 12.09 (AA) and a patch from the GL-iNet website. We will only need two files from the trunk version of Openwrt so that we can compile the 16mb image of AA for the GL-iNet. The two files we need from Openwrt trunk are ar71xx\/image\/Makefile and firmware-utils\/src\/ mktplinkfw.c. But first we will apply the AA patch provided by GL-iNet using the utility quilt.<\/p>\n<p>Make sure your environment has the software required, including quilt.<br \/>\n<pre><code>$ sudo apt-get update\n$ sudo apt-get install git-core build-essential libssl-dev subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex gettext quilt xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip\n<\/code><\/pre><br \/>\nTo setup quilt you want a file called .quiltrc in your home directory with the following lines:<br \/>\n<pre><code>QUILT_DIFF_ARGS=&quot;--no-timestamps --no-index -pab --color=auto&quot;\nQUILT_REFRESH_ARGS=&quot;--no-timestamps --no-index -pab&quot;\nQUILT_PATCH_OPTS=&quot;--unified&quot;\nQUILT_DIFF_OPTS=&quot;-p&quot;\nEDITOR=&quot;nano&quot;\n<\/code><\/pre><br \/>\nHow you accomplish this is up to you. Open gedit and paste, open vim and paste, or do the following from the command line.<br \/>\n<pre><code>$ echo -e QUILT_DIFF_ARGS=&quot;--no-timestamps --no-index -pab --color=auto&quot;&#039;\\n&#039;QUILT_REFRESH_ARGS=&quot;--no-timestamps --no-index -pab&quot;&#039;\\n&#039;QUILT_PATCH_OPTS=&quot;--unified&quot;&#039;\\n&#039;QUILT_DIFF_OPTS=&quot;-p&quot;&#039;\\n&#039;EDITOR=&quot;nano&quot; &gt; ~\/.quiltrc\n<\/code><\/pre><br \/>\nMove to your home directory obtain AA, update and download the package source files, and patch it using quilt.<br \/>\n<pre><code>$ cd ~\/\n$ git clone git:\/\/git.openwrt.org\/12.09\/openwrt.git attitude_adjustment\n$ cd attitude_adjustment\n~\/attitude_adjustment$ mkdir patches\n~\/attitude_adjustment$ echo 01-gl-inetAA16MiB.patch &gt; patches\/series\n~\/attitude_adjustment$ git clone https:\/\/github.com\/smrx86\/gl-inet.git smrx86\n~\/attitude_adjustment$ cp smrx86\/patches\/01-gl-inetAA16MiB.patch patches\n~\/attitude_adjustment$ echo 01-gl-inetAA16MiB.patch &gt;&gt; patches\/series\n~\/attitude_adjustment$ quilt push -a\n<\/code><\/pre><\/p>\n<p>Now we can actually build our firmware and the packages we need for our project. Download and install all available &#8220;feeds&#8221;, create our configuration file to build what we need.<br \/>\n<pre><code>$ cd attitude_adjustment\n~\/attitude_adjustment$ .\/scripts\/feeds update -a\n~\/attitude_adjustment$ .\/scripts\/feeds install -a\n~\/attitude_adjustment$ cd package\n~\/attitude_adjustment\/package$ git clone git:\/\/git.openwrt.org\/12.09\/packages.git\n~\/attitude_adjustment\/package$ cd ..\n~\/attitude_adjustment$ make menuconfig\n<\/code><\/pre><br \/>\nThe easiest thing to do is select every available package and compile it all. Just have something to do while you wait\u2026like watch every episode of the X-files on Netflix. Pretty much what I\u2019m doing as I create this tutorial (you probably will only get through one episode anyway). This way you can install a package when you figure out you need it. Truthfully that is a bad idea (not the X-files part) because you do not know what packages won\u2019t compile. So listen to me and choose the following packages below.<\/p>\n<p><strong>Modules<\/strong>: kmod-ebtables, kmod-ebtables-ipv4, kmod-arptables, kmod-llc, kmod-stp, and kmod-bridge<br \/>\n<strong>Libraries<\/strong>: libpcap<br \/>\n<strong>Software and Utilities<\/strong>: tcpdump, ebtables, arptables, iptables, and mii-tool<br \/>\n<strong>Iptables modules<\/strong>: iptables-mod-conntrack-extra, iptables-mod-extra, iptables-mod-filter, iptables-mod-iface, iptables-mod-ipopt, iptables-mod-ipset, iptables-mod-ipv4options, iptables-mod-nat-extra, iptables-mod-rawnat, iptables-mod-tee<\/p>\n<p>You can find them within the menu as follows.<\/p>\n<p>Network &#8212;> (mii-tool &amp; tcpdump)<br \/>\nNetwork &#8212;>Firewall (arptables &amp; ebtables)<br \/>\nNetwork &#8212;>Firewall&#8212;>iptables (iptables-mod-conntrack-extra, iptables-mod-extra, iptables-mod-filter, iptables-mod-iface, iptables-mod-ipopt, iptables-mod-ipset, iptables-mod-ipv4options, iptables-mod-nat-extra, iptables-mod-rawnat, iptables-mod-tee) &#8220;<br \/>\nKernel modules &#8212;>Netfilter Extensions (kmod-arptables, kmod-ebtables, kmod-ebtables-ipv4, kmod-ebtables-ipv6)<br \/>\nKernel modules &#8212;>Network Support (kmod-bridge, kmod-llc, kmod-stp)<br \/>\nLibraries &#8212;>(libpcap)<br \/>\nBase system  &#8212;>busybox  Networking Utilities  &#8212;>arp<\/p>\n<p>SIDE NOTE: You may also want to create the modules to allow for USB thumb drive file system support.<\/p>\n<p>Kernel modules &#8212;>Filesystems (kmod-fs-ext4, kmod-fs-ntfs &amp; kmod-fs-vfat)<br \/>\nKernel modules &#8212;>USB Support (kmod-usb-ohci, kmod-usb-uhci, kmod-usb2, kmod-usb-storage, kmod-usb-storage-extras)<\/p>\n<p>SIDE-SIDE NOTE: You will also need language support for the file system. I\u2019m installing support for US &amp; Canada. Please see http:\/\/wiki.openwrt.org\/doc\/howto\/storage for the language file you will need to install.<\/p>\n<p>Kernel modules &#8212;>Native Language Support (kmod-nls-cp437, kmod-nls-base &amp; kmod-nls-iso8859-1)<\/p>\n<p><strong>Compile<\/strong><\/p>\n<p><pre><code>$ cd attitude_adjustment\n~\/attitude_adjustment$ make V=99\n<\/code><\/pre><\/p>\n<p>The compiled firmware openwrt-ar71xx-generic-gl-inet-v1-squashfs-factory.bin is located in ~\/attitude_adjustment\/bin\/ar71xx.<\/p>\n<p><strong>Flashing Your Device<\/strong><br \/>\nDocumenting how to upgrade (or downgrade) the firmware of your GL-iNet is tricky as I don\u2019t know the state of your device so we are going to use a method I\u2019m sure you haven\u2019t messed with. We are going to use the U-boot Web Method of upgrading. You will need to pry open your GL-iNet and connect a serial to USB adapter as documented from the GL-iNet website. Visit the two links below.<\/p>\n<p><a href=\"http:\/\/www.gl-inet.com\/docs\/smartrouter\/?diy_hardware.html\" target=\"_blank\">http:\/\/www.gl-inet.com\/docs\/smartrouter\/?diy_hardware.html<\/a><br \/>\n<a href=\"http:\/\/www.gl-inet.com\/docs\/smartrouter\/?diy_serial.html\" target=\"_blank\">http:\/\/www.gl-inet.com\/docs\/smartrouter\/?diy_serial.html<\/a><\/p>\n<p>Then boot your device and enter the web failsafe mode following the directions also found on the GL-iNet website.<\/p>\n<p><a href=\"http:\/\/www.gl-inet.com\/docs\/smartrouter\/?diy_flashing.html\" target=\"_blank\">http:\/\/www.gl-inet.com\/docs\/smartrouter\/?diy_flashing.html<\/a><\/p>\n<p>Connect to your USB serial device and then plug in your GL-iNet. Immediately hit the \u201cF\u201d key to enter the U-boot mode and enter httpd to start the failsafe web server. We will need to connect to the WAN port and assign an IP address in the 192.168.1.0\/24 range, open a web browser, and go to http:\/\/192.168.1.1<\/p>\n<p>From the web interface upload the firmware you compiled. It should be called openwrt-ar71xx-generic-gl-inet-6416A-v1-squashfs-factory.bin.<\/p>\n<p>Now we actually get to set this sucker up with some useful tools!<\/p>\n<p><strong>Install and Configure<\/strong><br \/>\nWe created the firmware image and installed\/flashed it to the device.  Now let us modify some configuration settings and install the packages we compiled.<\/p>\n<p>When building the software image and packages I did not have us remove dnsmasq, the firewall, or dropbear (ssh) packages.  Let us disable the firewall and dnsmasq and modify the network configuration file.  This will become important for Part 2 of these tutorials but for now it makes it easier for us to connect the device to the network and transfer over our files.<br \/>\n<pre><code>root@OpenWrt:\/# \/etc\/init.d\/firewall stop\nroot@OpenWrt:\/# \/etc\/init.d\/firewall disable\nroot@OpenWrt:\/# \/etc\/init.d\/dnsmasq stop\nroot@OpenWrt:\/# \/etc\/init.d\/dnsmasq disable\nroot@OpenWrt:\/# vim \/etc\/config\/network\n<\/code><\/pre><br \/>\nBelow are the current default settings for \/etc\/config\/network<br \/>\n<pre><code>config interface &#039;loopback&#039;\noption ifname &#039;lo&#039;\noption proto &#039;static&#039;\noption ipaddr &#039;127.0.0.1&#039;\noption netmask &#039;255.0.0.0&#039;\n\nconfig interface &#039;lan&#039;\noption ifname &#039;eth1&#039;\noption type &#039;bridge&#039;\noption proto &#039;static&#039;\noption ipaddr &#039;192.168.1.1&#039;\noption netmask &#039;255.255.255.0&#039;\n\nconfig interface &#039;wan&#039;\noption ifname &#039;eth0&#039;\noption proto &#039;dhcp&#039;\n<\/code><\/pre><br \/>\nModify it by commenting out the middle section (for now).<br \/>\n<pre><code>config interface &#039;loopback&#039;\noption ifname &#039;lo&#039;\noption proto &#039;static&#039;\noption ipaddr &#039;127.0.0.1&#039;\noption netmask &#039;255.0.0.0&#039;\n\n#config interface &#039;lan&#039;\n# option ifname &#039;eth1&#039;\n# option type &#039;bridge&#039;\n# option proto &#039;static&#039;\n# option ipaddr &#039;192.168.1.1&#039;\n# option netmask &#039;255.255.255.0&#039;\n\nconfig interface &#039;wan&#039;\noption ifname &#039;eth0&#039;\noption proto &#039;dhcp&#039;\n<\/code><\/pre><br \/>\nI make these changes because my default home network is 192.168.1.0\/24.  I assume your environment has a DHCP server.  We will plug our network cable into the WAN port.  After making the changes let us restart the network so the changes take effect.<br \/>\n<pre><code>root@OpenWrt:\/# \/etc\/init.d\/network restart\n<\/code><\/pre><br \/>\nYou will also need to assign a password to root.<br \/>\n<pre><code>root@OpenWrt:\/# passwd\nChanging password for root\nNew password:\nRetype password:\nPassword for root changed by root\n<\/code><\/pre><br \/>\nFrom the workstation where you compiled the image and packages we will transfer the packages over to the device via the Secure Shell protocol (ssh) specifically Secure Copy (scp). You will need to run ifconfig to get the device IP address. For this document the IP address assigned to my device was 192.168.1.78. This also begs the question that you do know how to plug in a device into another device via a network cable and have that device assign the other device an IP address\u2026and that you even know what an Internet Protocol address is.<\/p>\n<p>From your workstation.<br \/>\n<pre><code>$ cd ~\/attitude_adjustment\/bin\/ar71xx\/packages\n~\/attitude_adjustment\/bin\/ar71xx\/packages$ scp *ebtables* *arptables* kmod-llc* kmod-bridge* kmod-stp* tcpdump_* libpcap* mii-tool* root@192.168.1.78:\/tmp\n<\/code><\/pre><br \/>\nYou should see the following (reply yes to the host authenticity question).<br \/>\n<pre><code>\nThe authenticity of host &#039;192.168.1.78 (192.168.1.78)&#039; can&#039;t be established.\nRSA key fingerprint is 12:d5:23:3e:af:75:28:78:fb:e8:08:86:24:80:69:c0.\nAre you sure you want to continue connecting (yes\/no)? yes\nWarning: Permanently added &#039;192.168.1.78&#039; (RSA) to the list of known hosts.\nroot@192.168.1.74&#039;s password:\nebtables_2.0.10-4-1_ar71xx.ipk 100% 58KB 57.5KB\/s 00:00\nebtables-utils_2.0.10-4-1_ar71xx.ipk 100% 4034 3.9KB\/s 00:00\nkmod-ebtables_3.3.8-1_ar71xx.ipk 100% 17KB 17.4KB\/s 00:00\nkmod-ebtables-ipv4_3.3.8-1_ar71xx.ipk 100% 4735 4.6KB\/s 00:00\nkmod-ebtables-ipv6_3.3.8-1_ar71xx.ipk 100% 2468 2.4KB\/s 00:00\nkmod-ebtables-watchers_3.3.8-1_ar71xx.ipk 100% 6043 5.9KB\/s 00:00\narptables_0.0.3-4-1_ar71xx.ipk 100% 20KB 20.0KB\/s 00:00\nkmod-arptables_3.3.8-1_ar71xx.ipk 100% 8814 8.6KB\/s 00:00\nkmod-llc_3.3.8-1_ar71xx.ipk 100% 744 0.7KB\/s 00:00\nkmod-bridge_3.3.8-1_ar71xx.ipk 100% 739 0.7KB\/s 00:00\nkmod-stp_3.3.8-1_ar71xx.ipk 100% 755 0.7KB\/s 00:00\ntcpdump_4.2.1-3_ar71xx.ipk 100% 259KB 259.2KB\/s 00:00\nlibpcap_1.1.1-2_ar71xx.ipk 100% 82KB 82.0KB\/s 00:00\nmii-tool_1.9.1.1-1_ar71xx.ipk 100% 6009 5.9KB\/s 00:00\n<\/code><\/pre><br \/>\nSIDE NOTE: If you plan on working on Part 2 &amp; 3 of these tutorials you will also want to copy over the modules to allow for USB storage and file system support.<br \/>\n<pre><code>~\/attitude_adjustment\/bin\/ar71xx\/packages$ scp kmod-usb-storage* kmod-fs* kmod-usb2* kmod-usb-ohci* kmod-usb-core* kmod-lib-crc16* kmod-scsi-core* root@192.168.1.78:\/tmp\nroot@192.168.1.78&#039;s password:\nkmod-usb-storage_3.3.8-1_ar71xx.ipk 100% 23KB 22.5KB\/s 00:00\nkmod-usb-storage-extras_3.3.8-1_ar71xx.ipk 100% 31KB 31.4KB\/s 00:00\nkmod-fs-ext4_3.3.8-1_ar71xx.ipk 100% 178KB 178.2KB\/s 00:00\nkmod-fs-ntfs_3.3.8-1_ar71xx.ipk 100% 53KB 53.5KB\/s 00:00\nkmod-fs-vfat_3.3.8-1_ar71xx.ipk 100% 35KB 35.4KB\/s 00:00\nkmod-usb2_3.3.8-1_ar71xx.ipk 100% 24KB 24.4KB\/s 00:00\nkmod-usb-ohci_3.3.8-1_ar71xx.ipk 100% 13KB 13.1KB\/s 00:00\nkmod-usb-core_3.3.8-1_ar71xx.ipk 100% 68KB 67.8KB\/s 00:00\nkmod-lib-crc16_3.3.8-1_ar71xx.ipk 100% 2109 2.1KB\/s 00:00\nkmod-scsi-core_3.3.8-1_ar71xx.ipk 100% 67KB 67.1KB\/s 00:00\n<\/code><\/pre><br \/>\nSIDE-SIDE NOTE: Don\u2019t forget your language files<br \/>\n<pre><code>~\/attitude_adjustment\/bin\/ar71xx\/packages$ scp kmod-nls* root@192.168.1.78:\/tmp\nroot@192.168.1.78&#039;s password:\nkmod-nls-base_3.3.8-1_ar71xx.ipk 100% 3894 3.8KB\/s 00:00\nkmod-nls-cp437_3.3.8-1_ar71xx.ipk 100% 2835 2.8KB\/s 00:00\nkmod-nls-iso8859-1_3.3.8-1_ar71xx.ipk 100% 2489 2.4KB\/s 00:00\n<\/code><\/pre><br \/>\nFrom your device install the packages you transferred over.<br \/>\n<pre><code>root@OpenWrt:\/# cd \/tmp\nroot@OpenWrt:\/tmp# opkg install *.ipk\nInstalling arptables (0.0.3-4-1) to root...\nInstalling kmod-arptables (3.3.8-1) to root...\nInstalling ebtables-utils (2.0.10-4-1) to root...\nInstalling kmod-ebtables (3.3.8-1) to root...\nInstalling ebtables (2.0.10-4-1) to root...\nPackage ebtables (2.0.10-4-1) installed in root is up to date.\nPackage kmod-arptables (3.3.8-1) installed in root is up to date.\nInstalling kmod-bridge (3.3.8-1) to root...\nInstalling kmod-stp (3.3.8-1) to root...\nInstalling kmod-llc (3.3.8-1) to root...\nInstalling kmod-ebtables-ipv4 (3.3.8-1) to root...\nInstalling kmod-ebtables-ipv6 (3.3.8-1) to root...\nInstalling kmod-ebtables-watchers (3.3.8-1) to root...\nPackage kmod-ebtables (3.3.8-1) installed in root is up to date.\nInstalling kmod-fs-ext4 (3.3.8-1) to root...\nInstalling kmod-lib-crc16 (3.3.8-1) to root...\nInstalling kmod-fs-ntfs (3.3.8-1) to root...\nInstalling kmod-nls-base (3.3.8-1) to root...\nInstalling kmod-fs-vfat (3.3.8-1) to root...\nPackage kmod-lib-crc16 (3.3.8-1) installed in root is up to date.\nPackage kmod-llc (3.3.8-1) installed in root is up to date.\nPackage kmod-nls-base (3.3.8-1) installed in root is up to date.\nInstalling kmod-nls-cp437 (3.3.8-1) to root...\nInstalling kmod-nls-iso8859-1 (3.3.8-1) to root...\nInstalling kmod-scsi-core (3.3.8-1) to root...\nPackage kmod-stp (3.3.8-1) installed in root is up to date.\nInstalling kmod-usb-core (3.3.8-1) to root...\nInstalling kmod-usb-ohci (3.3.8-1) to root...\nInstalling kmod-usb-storage-extras (3.3.8-1) to root...\nInstalling kmod-usb-storage (3.3.8-1) to root...\nPackage kmod-usb-storage (3.3.8-1) installed in root is up to date.\nInstalling kmod-usb2 (3.3.8-1) to root...\nInstalling libpcap (1.1.1-2) to root...\nInstalling mii-tool (1.9.1.1-1) to root...\nInstalling tcpdump (4.2.1-3) to root...\nConfiguring kmod-scsi-core.\n[ 208.140000] SCSI subsystem initialized\nConfiguring kmod-nls-base.\nConfiguring kmod-usb-core.\nConfiguring kmod-usb-storage.\n[ 208.330000] Initializing USB Mass Storage driver...\n[ 208.330000] usbcore: registered new interface driver usb-storage\n[ 208.340000] USB Mass Storage support registered.\nConfiguring kmod-llc.\nConfiguring kmod-stp.\nConfiguring kmod-ebtables.\n[ 208.400000] Ebtables v2.0 registered\nConfiguring kmod-bridge.\nConfiguring kmod-arptables.\n[ 208.620000] arp_tables: (C) 2002 David S. Miller\nConfiguring arptables.\nConfiguring ebtables.\nConfiguring mii-tool.\nConfiguring kmod-lib-crc16.\nConfiguring kmod-ebtables-watchers.\nConfiguring kmod-usb-ohci.\nConfiguring kmod-fs-vfat.\nConfiguring kmod-usb2.\nConfiguring libpcap.\nConfiguring tcpdump.\nConfiguring kmod-fs-ext4.\nConfiguring kmod-ebtables-ipv4.\nConfiguring kmod-ebtables-ipv6.\nConfiguring kmod-nls-cp437.\nConfiguring ebtables-utils.\nConfiguring kmod-fs-ntfs.\n[ 209.310000] NTFS driver 2.1.30 [Flags: R\/O MODULE].\nConfiguring kmod-nls-iso8859-1.\nConfiguring kmod-usb-storage-extras.\n[ 209.420000] usbcore: registered new interface driver ums-alauda\n[ 209.440000] usbcore: registered new interface driver ums-cypress\n[ 209.460000] usbcore: registered new interface driver ums-datafab\n[ 209.480000] usbcore: registered new interface driver ums-freecom\n[ 209.500000] usbcore: registered new interface driver ums-isd200\n[ 209.520000] usbcore: registered new interface driver ums-jumpshot\n[ 209.540000] usbcore: registered new interface driver ums-karma\n[ 209.560000] usbcore: registered new interface driver ums-sddr09\n[ 209.580000] usbcore: registered new interface driver ums-sddr55\n[ 209.600000] usbcore: registered new interface driver ums-usbat\n<\/code><\/pre><br \/>\nNow you have your GL-iNet ready for our other tutorials!  Let\u2019s head to <a href=\"http:\/\/www.jedge.com\/wordpress\/bypass-802-1x-port-security\/\" title=\"Bypass 802.1x Port Security\">Part 2<\/a> to configure this bad-boy to bypass 802.1x based port security.<\/p>\n<p><strong>References<\/strong><br \/>\nOpenwrt Buildroot Howto:  <a href=\"http:\/\/wiki.openwrt.org\/doc\/howto\/buildroot.exigence\">http:\/\/wiki.openwrt.org\/doc\/howto\/buildroot.exigence<\/a><br \/>\nGL-iNet Compile for AA Howto:  <a href=\"http:\/\/www.gl-inet.com\/w\/?p=398\">http:\/\/www.gl-inet.com\/w\/?p=398<\/a><br \/>\nThe actual patch for GL-iNet:  <a href=\"https:\/\/gist.github.com\/cj1324\/7131925\">https:\/\/gist.github.com\/cj1324\/7131925<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Building Openwrt for the GL-iNet This tutorial will detail how to obtain the Openwrt source code and compile it to suite our needs with the GL-iNet. This software build will allow us to use the GL-iNet\u2019s two Ethernet ports to bypass 802.1x port security as detailed in Part 2 of these tutorials as well as [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-886","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/pages\/886","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/comments?post=886"}],"version-history":[{"count":19,"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/pages\/886\/revisions"}],"predecessor-version":[{"id":1012,"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/pages\/886\/revisions\/1012"}],"wp:attachment":[{"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/media?parent=886"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}