getting-the-usb-powerline-bridge-to-work-on-linux.html - www.codemadness.org - www.codemadness.org saait content files
 (HTM) git clone git://git.codemadness.org/www.codemadness.org
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       getting-the-usb-powerline-bridge-to-work-on-linux.html (6799B)
       ---
            1 <!DOCTYPE html>
            2 <html dir="ltr" lang="en">
            3 <head>
            4         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            5         <meta http-equiv="Content-Language" content="en" />
            6         <meta name="viewport" content="width=device-width" />
            7         <meta name="keywords" content="int51x1, driver, linux" />
            8         <meta name="description" content="A guide to get a USB-powerline bridge with the Intellon 51x1 chipset working on Linux" />
            9         <meta name="author" content="Hiltjo" />
           10         <meta name="generator" content="Static content generated using saait: https://codemadness.org/saait.html" />
           11         <title>Getting the USB-powerline bridge to work on Linux - Codemadness</title>
           12         <link rel="stylesheet" href="style.css" type="text/css" media="screen" />
           13         <link rel="stylesheet" href="print.css" type="text/css" media="print" />
           14         <link rel="alternate" href="atom.xml" type="application/atom+xml" title="Codemadness Atom Feed" />
           15         <link rel="alternate" href="atom_content.xml" type="application/atom+xml" title="Codemadness Atom Feed with content" />
           16         <link rel="icon" href="/favicon.png" type="image/png" />
           17 </head>
           18 <body>
           19         <nav id="menuwrap">
           20                 <table id="menu" width="100%" border="0">
           21                 <tr>
           22                         <td id="links" align="left">
           23                                 <a href="index.html">Blog</a> |
           24                                 <a href="/git/" title="Git repository with some of my projects">Git</a> |
           25                                 <a href="/releases/">Releases</a> |
           26                                 <a href="gopher://codemadness.org">Gopherhole</a>
           27                         </td>
           28                         <td id="links-contact" align="right">
           29                                 <span class="hidden"> | </span>
           30                                 <a href="feeds.html">Feeds</a> |
           31                                 <a href="pgp.asc">PGP</a> |
           32                                 <a href="mailto:hiltjo@AT@codemadness.DOT.org">Mail</a>
           33                         </td>
           34                 </tr>
           35                 </table>
           36         </nav>
           37         <hr class="hidden" />
           38         <main id="mainwrap">
           39                 <div id="main">
           40                         <article>
           41 <header>
           42         <h1>Getting the USB-powerline bridge to work on Linux</h1>
           43         <p>
           44         <strong>Last modification on </strong> <time>2019-12-06</time>
           45         </p>
           46 </header>
           47 
           48 <p><strong>NOTE: this guide is obsolete, a working driver is now included in the Linux
           49 kernel tree (<a href="https://lkml.org/lkml/2009/4/18/121">since Linux 2.6.31</a>)</strong></p>
           50 <h2>Introduction</h2>
           51 <p>A USB to powerline bridge is a network device that instead of using an ordinary
           52 Ethernet cable (CAT5 for example) or wireless LAN it uses the powerlines as a
           53 network to communicate with similar devices.  A more comprehensive explanation
           54 of what it is and how it works you can find here:
           55 <a href="https://en.wikipedia.org/wiki/IEEE_1901">https://en.wikipedia.org/wiki/IEEE_1901</a>.</p>
           56 <p>Known products that use the Intellon 51x1 chipset:</p>
           57 <ul>
           58 <li>MicroLink dLAN USB</li>
           59 <li>"Digitus network"</li>
           60 <li>Intellon USB Ethernet powerline adapter</li>
           61 <li>Lots of other USB-powerline adapters...</li>
           62 </ul>
           63 <p>To check if your device is supported:</p>
           64 <pre><code>$ lsusb | grep -i 09e1
           65 Bus 001 Device 003: ID 09e1:5121 Intellon Corp.
           66 </code></pre>
           67 <p>If the vendor (09e1) and product (5121) ID match then it's probably supported.</p>
           68 <h2>Installation</h2>
           69 <p>Get drivers from the official site:
           70 <a href="http://www.devolo.co.uk/consumer/downloads-44-microlink-dlan-usb.html?l=en">http://www.devolo.co.uk/consumer/downloads-44-microlink-dlan-usb.html?l=en</a> or
           71 <a href="downloads/int51x1/dLAN-linux-package-v4.tar.gz">mirrored here</a>.
           72 The drivers from the official site were/are more up-to-date.</p>
           73 <p>Extract them:</p>
           74 <pre><code>$ tar -xzvf dLAN-linux-package-v4.tar.gz
           75 </code></pre>
           76 <p>Go to the extracted directory and compile them:</p>
           77 <pre><code>$ ./configure
           78 $ make
           79 </code></pre>
           80 <p>Depending on the errors you got you might need to <a href="downloads/int51x1/int51x1.patch">download</a> and apply
           81 my patch:</p>
           82 <pre><code>$ cd dLAN-linux-package-v4/     (or other path to the source code)
           83 $ patch &lt; int51x1.patch
           84 </code></pre>
           85 <p>Try again:</p>
           86 <pre><code>$ ./configure
           87 $ make
           88 </code></pre>
           89 <p>If that failed try:</p>
           90 <pre><code>$ ./configure
           91 $ KBUILD_NOPEDANTIC=1 make
           92 </code></pre>
           93 <p>If that went OK install the drivers (as root):</p>
           94 <pre><code># make install
           95 </code></pre>
           96 <p>Check if the "devolo_usb" module is loaded:</p>
           97 <pre><code>$ lsmod | grep -i devolo_usb
           98 </code></pre>
           99 <p>If it shows up then it's loaded. Now check if the interface is added:</p>
          100 <pre><code>$ ifconfig -a | grep -i dlanusb
          101 dlanusb0 Link encap:Ethernet HWaddr 00:12:34:56:78:9A
          102 </code></pre>
          103 <h2>Configuration</h2>
          104 <p>It is assumed you use a static IP, otherwise you can just use your DHCP client
          105 to get an unused IP address from your DHCP server. Setting up the interface is
          106 done like this (change the IP address and netmask accordingly if it's
          107 different):</p>
          108 <pre><code># ifconfig dlanusb0 192.168.2.12 netmask 255.255.255.0
          109 </code></pre>
          110 <h2>Checking if the network works</h2>
          111 <p>Try to ping an IP address on your network to test for a working connection:</p>
          112 <pre><code>$ ping 192.168.2.1
          113 PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
          114 64 bytes from 192.168.2.1: icmp_seq=1 ttl=30 time=2.49 ms
          115 64 bytes from 192.168.2.1: icmp_seq=2 ttl=30 time=3.37 ms
          116 64 bytes from 192.168.2.1: icmp_seq=3 ttl=30 time=2.80 ms
          117 --- 192.168.2.1 ping statistics ---
          118 3 packets transmitted, 3 received, 0% packet loss, time 2005ms
          119 rtt min/avg/max/mdev = 2.497/2.891/3.374/0.368 ms
          120 </code></pre>
          121 <p>You can now set up a network connection like you normally do with any Ethernet
          122 device.  The route can be added like this for example:</p>
          123 <pre><code># route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.2.1 dlanusb0
          124 </code></pre>
          125 <p>Change the IP address of your local gateway accordingly. Also make sure your
          126 nameserver is set in /etc/resolv.conf, something like:</p>
          127 <pre><code>nameserver 192.168.2.1
          128 </code></pre>
          129 <p>Test your internet connection by doing for example:</p>
          130 <pre><code>$ ping codemadness.org
          131 PING codemadness.org (64.13.232.151) 56(84) bytes of data.
          132 64 bytes from acmkoieeei.gs02.gridserver.com (64.13.232.151): icmp_seq=1 ttl=52 time=156 ms
          133 64 bytes from acmkoieeei.gs02.gridserver.com (64.13.232.151): icmp_seq=2 ttl=52 time=156 ms
          134 64 bytes from acmkoieeei.gs02.gridserver.com (64.13.232.151): icmp_seq=3 ttl=52 time=155 ms
          135 --- codemadness.org ping statistics ---
          136 3 packets transmitted, 3 received, 0% packet loss, time 1999ms
          137 rtt min/avg/max/mdev = 155.986/156.312/156.731/0.552 ms
          138 </code></pre>
          139 <p>If this command failed you probably have not setup your DNS/gateway properly.
          140 If it worked then good for you :)</p>
          141 <h2>References</h2>
          142 <ul>
          143 <li><a href="http://www.devolo.co.uk/consumer/downloads-44-microlink-dlan-usb.html?l=en">Devolo download page with drivers (USB version).</a></li>
          144 <li><a href="downloads/int51x1/dLAN-linux-package-v4.tar.gz">dLAN-linux-package-v4.tar.gz</a></li>
          145 <li><a href="downloads/int51x1/int51x1.patch">Patch for recent 2.6.x kernels</a></li>
          146 <li><a href="downloads/int51x1/INT51X1_datasheet.pdf">INT51X1 datasheet</a></li>
          147 </ul>
          148 
          149                         </article>
          150                 </div>
          151         </main>
          152 </body>
          153 </html>