30 second delays in internet on AT&T U-verse 5268AC FXN modem

My wife and I were running into inexplicable “delays” in our AT&T internet service over WiFi. The speed of the internet would be fine when it worked (speedtests showed good lag/upload/download, etc…) but sometimes the entire internet would “pause” and not respond for 20-30 seconds at a time. Usually not enough time for a connection to time out, but websites would be stuck loading for a long time, or Google Web Apps wold have a “loading….” message for half a minute before recovering (or failing to recover, making us try again with an edit to a document or calendar item…).

After much gnashing of teeth, network profiling, and dark vodoo, we traced the problem down to our devices auto-switching between the 2.4 Ghz and 5 Ghz wifi networks from the router [a Pace DSL modem Model 5268AC FXN ].  The problems happened most frequently when we had about 50% wifi signal strength to the 5G radio, and apparently our devices would see the stronger signal strength on the 2.4 router and switch over to it, then decide to switch back, and so forth.

The root cause of the problem is that the AT&T Uverse DSL gateway / wifi router has both networks with the same SSID (Name) and password, so our devices felt that they were “the same” network, just on different frequencies, and would switch between them frequently.  I have no idea why this would cause a delay of TCP/IP traffic, as a change in the physical/data link layer shouldn’t affect the Network/Transport layers (at least, not for 30 seconds).  Perhaps when using a different brand/model of Wifi Router devices can auto-switch between 2.4 and 5g seamlessly. ( Or perhaps not, our previous cable modem from Spectrum / BrightHouse named the two networks differently (with a 2 and 5 suffix) so that once you connected to a particular network frequency, you stuck with it, but at least we didn’t see this type of issue. )

In any case, the solution was simple. For testing purposes, we fixed the BSSID (mac address of the router) in our client devices to the 2.4 Ghz network, so it would not switch to the 5 Ghz radio. This fixed the problem.  Renaming the 5 Ghz network name to something different from the 2.4 Ghz network on the router would also have the same effect for all devices (for example, using myNetwork2.4 and myNetwork5 as the names).

Installing an Encrypted Partition with LVM dual boot on Ubuntu 16.04

The Ubuntu 16.04 installer has the option to install full disk encryption using LVM if you are erasing everything on the hard drive. However, if you want to dual boot (use some of the hard drive for Windows, and the rest for Linux) the automated installer won’t allow you to automagically use full disk encryption.

You can still make it work, but have to do a lot of manual work using a terminal from the Live CD environment.  Here is a log of what I had to do to get it working for me.

Continue reading

MicroMill Mach3 / LinuxCNC conversion complete

I have mounted the parallel port break out board inside the enclosure of my ScanTek 2000 (Denford Micromill). I routed the parallel port cable out to the previous DB25 (RS-232) outlet on the case and sealed up the back.

bob_mounted

With the built in wire management trays, the job looks almost professional…except for the fact that I used a triangular piece of 1/4″ acrylic scrap I had for the mounting plate, so I had to orient the break out board at an angle. But since it’s inside the case, nobody can see it anyways. bob_mounted_closeup

 

parallel_port_cable_inside_panel

Outside the case, the only visible difference is that I took off the black “RS-232” sticker that used to live next to the DB-25 connector. Continue reading

Ubuntu 14.04 Zoneminder PPA not showing images or videos in the web console

When you use the Ubuntu package manager to install Zoneminder on Ubuntu 14.04 using the PPA, one configuration line defaults to the wrong path. This prevents the web console from showing you videos or events, although if you configure a camera it will capture pictures from it correctly and show you them in the Zone editing tools.

Specifically, under Options->Paths you need to change PATH_ZMS to:
/zm/cgi-bin/nph-zms

(adding the /zm to the front).

Error log messages look like the following:

ERR [socket_sendto( /var/run/zm/zms-299592s.sock ) failed: No such file or directory]

One other issue that could cause similar behavior is not having mod-cgi enabled in apache.

Making Thunderbird send messages in the background (like Outlook)

My work recently changed over to using Office365.com for their email. As long as Office365 supports IMAP and SMTP (it does) I don’t mind so much, as I can continue to use Thunderbird on my desktop to access my email.

However, because the mail servers are no longer located “on-campus” the lag to the SMTP server is much more noticeable than before. When I pressed the “Send” button, Thunderbird would sit there for 20 seconds with a progress bar sending the mail, interrupting my flow of email processing much more noticeably than when the server was hosted on the same network.

So I tweaked a few advanced settings in Thunderbird by going into Thunderbird Preferences (Edit->Preferences), clicking the “Advanced” tab, then selecting the “config editor” button and promising to be careful.

mailnews.show_send_progress false
mailnews.sendInBackground true
offline.send.unsent_messages 1

Telling thunderbird to not show the progress indicator only hides the dialog, but the compose window still sits up on your screen (with no visible indicator of what it’s doing) until the mail is sent, so you also need to turn on “sendInBackground” to make the compose window disapear immediately after you press send.

This makes the message go immediately to your Local Folders -> Outbox, but DOES NOT SEND IT, until you select File -> Send Unsent Messages. Hence the “offline.send.unsent_messages 1” which tells Thunderbird to send unsent messages (from Folders -> Outbox) whenever it can. It still takes 20-30 seconds for the message to be sent, but it is done in the background now.

Using rsync to selectively restore a backup (with/without dotfiles)

If you have backed up your entire home directory, and are restoring it onto a new computer, sometimes you do not want to copy over all of the .dotfiles (hidden files and directories that start with a period) in your home directory. This can be especially useful if you are upgrading the operating system version and many applications are also upgraded, and you want to re-configure them manually.

To restore everything BUT the .dotfiles in the main root directory you can use the following rsync command (the command must be executed from inside the backed up home directory):

rsync -av - --exclude="/.*" ./ /home/NewHomeDir

Note that this WILL copy all .dotfiles in directories under the main home directory.

I do recommend keeping all of your old home directory dotfiles in a separate “dotfile” directory, because invariably you will need something from in them (such as an SSH private key, GPG key, etc…)

You can copy JUST the .dotfiles from the home directory (including recursing into .dotdirectories) with the following command:

rsync -av /path/to/sourcedir/.??* /path/to/dest

The .??* selects only files/directories in the sourcedir that start with a dot. Note that .* alone would select ALL files and directories in the sourcedir.

HOWTO: Full Disk encryption on Ubuntu 12.04

How to set up an entirely encrypted disk using Ubuntu 12.04 (LTS):

Use the Alternative installer (text based) ISO image so that you have access to the LVM and Encrypted Disk options.

Assuming you want to keep a windows partition or some other pre-existing partitions intact, you will have to manually partition things instead of using the guided partitioner, so select “manual”.

Set up two partitions. One will be your /boot partition and should be around 250MB. This is the only data that will be unencrypted on the disk. The other will be your encrypted volume, that will hold an LVM physical volume that will contain all of your other partitions such as your swap partition, / (root) partition and any /home /var etc partitions that you want to set up. You should select “Use as:” “physical volume for encryption” when setting it up.

Then go back up to the top of the menu to the “Configure encrypted volumes” option (You may have to write changes to the partition table before you can do this.) Use the “Create encrypted volumes” option, and “check” / select the large LVM partition you just created. Then select “Finished” and it will prompt you for a pass-phrase.

Now, go back up to the top of the menu to the “Configure the Logical Volume Manager” option. This will prompt you to write changes to disk, and create an encrypted volume (defaults to using ext4).

Now, go back up to the top of the menu to the “Configure the Logical Volume Manager” option. Create a volume group (vg0 is as good of a name as any) on the /dev/mapper encrypted volume you created above.

Create a logical volume (I named mine “swap”) that will hold your swap partition. It should be at least as large as the maximum amount of RAM you ever intend on installing in your computer if you want to use suspend to disk (hibernate).

Depending upon how many other partitions you want (one big root, or /home and /var, etc…) create other partitions using the rest of the space inside of your LVM volume group, and select Finished.

Once you leave the LVM configuration area, you will see all of the LVM logical partitions that you have created. Select each of them and configure their mount point and file system type. (or use as Swap in the case of your swap partition.)

Write everything to disk (which will also format partitions) and you are ready to continue with the rest of your installation!

Thinkpad X31 – PAE cpu options with newer Linux Kernels

The Pentium M CPU that comes on IBM Thinkpad X31 laptops (circa 1994…) claims to not support PAE (Physical Address Extension ). Luckily however it DOES support PAE if your kernel forces it, which you can do by following the instructions here:

https://help.ubuntu.com/community/PAE

They explain: “A number of older Pentium M processors produced around 2003-4 (the Banias family) do not display the PAE flag, and hence a normal installation fails. However, these processors are in fact able to run the latest (and PAE-demanding) kernels if only the installation process is modified a little. The problem is not missing PAE, it’s about the processor not displaying its full capabilities.”

I can just imagine an IBM or Intel engineering thinking…it’ll be 10 years before operating systems require a PAE extension…none of these chips will still be running then…lets call it a night and not bother displaying the PAE flag…