summaryrefslogtreecommitdiff
path: root/drafts/dell-dock.html
diff options
context:
space:
mode:
authorAdam T. Carpenter <atc@53hor.net>2020-12-22 08:30:07 -0500
committerAdam T. Carpenter <atc@53hor.net>2020-12-22 08:30:07 -0500
commit4829c89a5d195770bed8bcc07d063e3db1519e7b (patch)
treec85b62683341666b2e80893afeae67288a2653cb /drafts/dell-dock.html
parent7013a50774ca57dde7d14f8a69633421355979c4 (diff)
download53hor-4829c89a5d195770bed8bcc07d063e3db1519e7b.tar.xz
53hor-4829c89a5d195770bed8bcc07d063e3db1519e7b.zip
added some drafts, finished acrobat reader post
Diffstat (limited to 'drafts/dell-dock.html')
-rw-r--r--drafts/dell-dock.html54
1 files changed, 54 insertions, 0 deletions
diff --git a/drafts/dell-dock.html b/drafts/dell-dock.html
new file mode 100644
index 0000000..5b2526f
--- /dev/null
+++ b/drafts/dell-dock.html
@@ -0,0 +1,54 @@
+<p class="description">
+ Here's the problem. I have a Dell Latitude E-series laptop running FreeBSD
+ 12.1-RELEASE. I also have a Dell E-Port II docking station on my desk. I
+ wanted to be able to take my shut, sleeping laptop and plop it down on the
+ docking station, hit the dock power button, and have the laptop wake up and
+ switch over to all of the docking station peripherals. All of the USB devices
+ did this without any additional work. However, the ethernet hookup, external
+ monitor, and speakers all required some additional tinkering. This assumes
+ that you're already familiar with wired and wireless network interfaces on
+ FreeBSD!
+</p>
+
+<h2>Link Aggregation (Failover)</h2>
+
+<p>
+ FreeBSD doesn't magically swap from wireless to wired connections by default,
+ but there's an easy way to remedy this: link failover. I recommend reading the
+ <a href="https://www.freebsd.org/doc/handbook/network-aggregation.html"
+ >FreeBSD handbook page on network aggregation</a
+ >
+ as it's where I found out how to do what I'm about to show you. Basically,
+ aggregation lets you bind two of your network interfaces together into a
+ single virtual interface. Failover lets your traffic continue moving as long
+ as one of the aggregated interfaces has is connected. The steps I had to
+ follow are as follows:
+</p>
+
+<ul>
+ <li>
+ Bind the wireless network interface to the MAC address of the wired
+ interface
+ </li>
+ <li>Create a lagg interface using the two network interfaces</li>
+ <li>Bind the lagg interface to an IP address, preferably with DHCP</li>
+</ul>
+
+<p>All of this is configured in my <code>rc.conf</code>:</p>
+
+<pre><code>
+wlans_iwn0="wlan0" # <- wlan0 device should use the iwn driver
+ifconfig_wlan0="WPA" # <- wlan0 should use WPA (wpa_supplicant) to connect to wireless SSIDs
+create_args_wlan0="wlanaddr 5c:26:0a:06:c1:d6" # <- wlan0 MAC address is set to em0 device MAC address
+ifconfig_em0="up" # <- enable em0 (ethernet) device
+cloned_interfaces="lagg0" # <- create cloned interface lagg0
+ifconfig_lagg0="up laggproto failover laggport em0 laggport wlan0 DHCP" # <- configure lagg0 interface to act as a failover lagg protocol over em0 and wlan0
+</code></pre>
+
+<p>
+ In practice, the preferred device is <code>em0</code>, or my ethernet NIC.
+ FreeBSD will always try to use that first. If it's disconnected, such as when
+ the laptop is removed from the dock, the wireless device (<code>wlan0</code>)
+ will take over. This transition happens instantly, and without interrupting
+ traffic; active transactions aren't cut short for example.
+</p>