View on GitHub

Quorten Blog 1

First blog for all Quorten's blog-like writings

Okay… this is not going nicely, the progress that has happened with the libre network routers. Where can I find a gigabit router that works well with libre software? Think Penguin does not sell any. So it looks like I am going to have to resort to buying the hardware and flashing myself. Sure, there is good hardware I can buy from Ubiquiti Networks and PFsense, but it is unknown whether they will work with LibreCMC.

So, let’s give this one last shot… does LibreCMC have any respectable gigabit routers, other than the Netgear WNDR3800? Indeed, it does. Preciesly two. There is one (or more) Buffalo devices, and there is one TP-Link device.

Read on →

Suspend on modern Ubuntu

2020-01-22

Categories: unix  
Tags: unix  

Old Ubuntu use to have the /etc/acpi/sleep.sh etc. power management scripts and the pm-suspend command that you’d call to suspsend the computer. But, how do you suspend the computer in modern Ubuntu? Easy, just use systemctl:

sudo systemctl suspend

Please note that the pm-suspend command is still available and is part of Debian core, but the new way appears to have become more popular, and in some distributions (i.e. Raspbian) the classic Debian commands may even be broken in the default configuration.

Okay, so now here’s a trick question. Can you do Link Aggregation Groups (LAGs) on an unmanaged/SOHO switch? In general, no. However, there is one notable exception. If you are connecting a computer directly to the switch that supports Link Aggregation Groups in the operating system, then you can effec link aggregation, but only to that particular computer. You cannot use link aggregation in, say, a trunk connection between two switches.

So wait… actually, that means I can do it. Here’s the trick. If you’ve got a smart managed switch on one end and an unmanaged switch on the other end, you can configure a link aggregation group in the smart managed switch, and just connect up the unmanaged switch as-is. The smart switch will work everything out. Assuming… assuming that the unmanaged switch is smart enough to update its MAC tables to allow a packet to be forwarded down any of the applicable ports, rather than constraining MAC address forwarding to a single port.

20200121/DuckDuckGo link aggregation group unmanaged switch
20200121/https://www.reddit.com/r/HomeNetworking/comments/do6zjd/link_aggregation_possible_on_unmanaged_switch/
20200121/https://serverfault.com/questions/840700/does-freenas-link-aggregation-work-with-an-unmanaged-switch
20200121/https://www.dslreports.com/forum/r32557662-Home-Network-Link-aggregation-with-unmanaged-switch

You must not simply connect multiple cables between switches without any LAG configuration, else that will create a switch loop.

Read on →

Java debugging and diagnostic tools

2020-01-21

Categories: misc  
Tags: misc  

Java, in all its complexity and chaos, turns out to have some nice debugging and diagnostic tools available. Well, these tools likely weren’t available in Java’s first years, but maybe they were out and about 10 years after the first years of Java, so in any case, they’ve currently been around for quite a while.

The two builtin tools that come with the Java Development Kit (JDK) are jvisualvm and jconsole. These are GUI tools that provide a host of diagnostic information on a running Java instance. You must first, however, have enabled support for the JMX connection within your running Java software. Then you can see all kinds of information on the Java thread count, Java heap, Java garbage collection, Java objects, and so much more.

Another one, a more third party one, is this JMeter thing.

20200121/https://www.blazemeter.com/blog/continuous-integration-101-how-to-run-jmeter-jenkins/

L1TF vulnerability

2020-01-21

Categories: security  
Tags: security  

When reading the Linux kernel system logs on an old computer, I saw a notice that computer’s particular CPU had the L1TF bug. What is this? It is another CPU hardware bug similar to Meltdown that allows reading privileged data via a side channel timing attack, due to the specifics of the L1 cache behavior.

20200121/https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html

As part of wrestling out the cost of hobby software projects, I’m trying to figure this out. How does resting and human recreation factor in as an economic value? The whole idea with hobby projects is that you might subtract from recreation, or maybe even sleep, to add to the value of a hobby project. But if you can’t know the value of those, how do you determine the value of a hobby project?

Okay, here is the way to properly understand this. Humans need to sleep. As if it couldn’t be said more bluntly. The trick is to define it as a basic human need, like the need to eat. Therefore, if it is compromised and under-nourished, it will have a calculable negative impact on the economic value of anything else that is more directly produced as a function of labor over working hours of time directly on a project. Likewise, you can argue the same for recreation: Personal recreation is required for human health. But, here’s the key. The need has to be understood on an individual basis, there is no one-size-fits-all for the need for sleep and recreation.

Read on →

So… I bought a Samsung 860 EVO 500 GB V-DAND SSD, installed it in a desktop PC via a mounting bracket, started using it, and it appeared to be doing fine. But, upon further inspection, I found out that it was having problems. First of all, they appeared to be performance problems. But, upon closer inspection, I saw the drive was having trouble with SATA communication errors. What gives? Searching around on the Internet, I found insight. The Samsung 860 EVO’s SATA controller is not compatible with my particular AMD SATA controller. Samsung has been blaming AMD for having a buggy controller and refusing to make a firmware upgrade on their side to work around the bugs.

So, for many folks, this means returning the Samsung SSD to the retailer they purchased from and replacing it with a different brand name SSD, and this solved the problem. Well, that’s really a bummer. In my case, the choice is between returning and replacing with a different brand or swapping with a Crucial brand SSD I have in a different system that is about the same capacity.

20200120/DuckDuckGo linux ata log page reported inactive tag
20200120/https://eu.community.samsung.com/t5/Cameras-IT-Everything-Else/860-EVO-250GB-causing-freezes-on-AMD-system/td-p/575813

Indeed, my lspci output show the following:

00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]

Read on →

Okay, cool, so I got an APC UPS to provide battery backup to my home network equipment. It has an RJ45 port, so it’s Ethernet and we’re good, right? Not so fast. That is nothing more than an RJ45 port that provides a collection of custom pinout circuits. You can connect either a USB or a serial cable to that port, and the USB cable is included in the box. So, no plugging this UPS box directly into your network for remote status information, it’s got to go through another computer first.

Okay, well how do I get it set up with GNU/Linux? The good news is that this is actually rather quite easy. Just install and configure apcupsd to connect with USB devices, and you’re all set to get status information by issuing apcaccess status.

Please note that unfortunately, some of the newer UPS’s went through a stint with a proprietary Microlink protocol. For a short time, that was the only protocol that was supported, but a firmware upgrade was released to have fallback compatibility with the existing open protocols. Purportedly an open specification on the protocol would be published, but that looks to have never happened.

On the other hand, the good news is that the newer UPS’s support Modbus over USB, which gives more detailed information than the basic USB protocol. For a while, apcupsd only supported over Modbus over serial, but I’ll have to check back for more details on the latest versions.

Read on →