Patience is a Virtue When Internet Breaks

Good Morning from my Robotics Lab! This is Shadow_8472 with a side project of the week. Let’s get started!

It’s the last Monday of the month. I should have a larger project this week, but I had to split a step off into a prequel of sorts when it ballooned on me. For reasons I will go into next week, I ended up talking with tech support for my Internet provider.

It all started when I logged into my router’s off-site network settings (WHY??? is this a thing?) so I could forward a couple ports to Button Mash, my home server, when I noticed it alternating between two internal IP’s: the static IP I configured it to call itself and another one I thought was assigned to another [possibly decommissioned at present] Raspberry Pi – or it may have been a setting I never fully cleaned up. I have no way to tell.

Additionally, I learned that the online toy they’re having me use to try and manage the network is being retired. They want me to use their app I don’t want on the phone I don’t carry. No thanks. I’d rather move my whole network over to this 3rd party gaming router we have on hand.

Support Begins

Friday before posting: On my first session with support, I got a live agent after complaining to their help bot that it hated me. When I shared how I wanted to use my own router, the agent mentioned “bridge mode,” an option I had noted in the gateway’s admin panel. We continued by poking at my Manjaro workstation’s 10 Mbps connection speed with little luck because I was using a different computer.

Sunday: I got into chat with an agent on my now 3.5 Mbps connection. To not-my surprise, the obligatory reboot everything between me and the Internet didn’t change much. I told him no fewer than two or three times that I was on desktop, not phone; I do not have mobile data to remain connected; no, I do not think my family is interested in a coupon for this streaming service you’re offering; this is my one and only means of connecting to you. I followed my given instructions and pressed a button on the back of the gateway for an unusually long time. The Internet did not come back on.

Level 2

My father called a number given to me by the second chat agent, and we were connected with an awesome “Level 2” agent who could follow along as I described my unique home network while repairing the damage done by a factory reset. When bridge mode came up, I figured we might as well fix it how we want if it’s already broken and we have a professional on the line. He had some sudden technical issues of his own an hour plus into helping us.

We called back and got someone whom I had to remind a couple times that Debian 10 does not mean Windows 10. Nevertheless, he got the idea through to us that moving/disabling the default IP range was not a feature our gateway supports. I read something as much in a forum post; it said something about Layer 2 network devices, but that’s homework for a future topic.

The first guy called back just as I was giving into despair with the second guy. Long story short: our network is at around 80%; ButtonMash and GoldenOakLibry, our server and network storage, are configured with static IP’s and don’t show up at all right now. The awesome agent suggested upgrading to the next router, which might not be hard coded to serve its default IP range, allowing me to swap IP ranges between gateway and router. I don’t want to manually configure all my computers to find GoldenOakLibry at a new IP.

Takeaway

A lot of going through tech support as a customer is about explaining your exact situation to however many agents you may come into contact with.

Special thanks to Mr. E on my family’s personal Discord server for the suggestion of disabling the gateway’s integrated router.

Final Question

Have you ever had tech support struggling to keep up with you?

I look forward hearing your answers on in the comments below or on my Discord server.

I Battled My Sister’s Blinky Monitor

Good Morning from my Robotics Lab! This is Shadow_8472 with a side project of the week. Let’s get started!

Did I Fix the Graphics Card or Not?

My sister’s computer has had its second monitor blinking intermittently. It’s been frequent enough to be annoying, but rare enough to be infuriating to diagnose. Over the months she’s had it, we’ve tested out the screens and cables. I’ve even booted it to one of my Linux drives for another project and it still blinked, so it’s not Windows’ fault. The next thing to test is the graphics card.

My sister’s graphics card has two HDMI ports for her screens and a DVI port she has set up with an HDMI adapter to a drawing tablet. I swapped it out for one of mine for a couple days, configuring one of my workstations for triple screens and played some games on it. As it continued to hold up, our theory evolved from the card being defective, to it not getting enough power in her computer as my power supply was a little stronger than hers.

We picked up a new power supply on discount, but I restored our original configuration for over the weekend to see if maybe something I wasn’t controlling for –but did nonetheless– was the cause, like a buggy driver (unlikely, given it was previously replicated in Linux).

The graphics card behaved without the new power supply up until just over an hour and a half before posting today. Our best guess was that the power cable wasn’t properly seated. Her card takes an 8-pin connection, but it’s being fed by a 6+2 connector. The extra two pin piece could easily have been dislodged slightly some time ago, causing these problems. The search continues. The next step is to replace the power supply and see if that helps. If the card continues to misbehave, we may try the card switch again for a longer period of time.

Takeaway

While swapping the cards to begin with, I didn’t keep track of the screws as well as I should have, but someone strongly recommended a bowl. While returning our cards to their proper towers, I relented and my dog decided to walk off with it while I wasn’t looking. It only had a couple screws for the outer case when he took it, and I found it in the other room with some new tooth marks and a wet spot. We recovered one screw off the floor, and the other from under the couch. Next time I mess with computer parts, the bowl goes out of his reach.

Final Question


Have you ever faced one of your creatures eating [part of] a project?

I look forward hearing your answers on in the comments below or on my Discord server.

My Father Hacked Discord onto Debian 11

Good Morning from my Robotics Lab! This is Shadow_8472 with a side project of the week. Let’s get started!

Forcing Discord

I worked with my father on his Debian 11 (Bullseye) computer this week. The program he’s been missing the most has been Discord, the chat platform. The official .deb package relies on a library package called libappindicator (or similar) despite it being depreciated. Ironically, this happened so long ago, the change has now made it to the stable branch of Debian. Discord, PLEASE look into this!

Feeling optimistic, we redownloaded Discord and installed it with dpkg. The Apt package manager wasn’t happy with this arrangement, and wanted us to

sudo apt-get --fix-broken install

where it said it was going to remove Discord. We launched Discord anyway; it worked.

The missing dependency would still be a problem though, so I looked into reinstalling while telling apt to ignore it. Before I finished researching that solution though, I found a repository on GitHub set up by user Guna [1]. This individual replaced the dependency, a procedure I have tried and not succeeded at. You can read more about the repository’s precautions under in SECURITY.md under the project’s root level directory. Many thanks.

Projects Around LXDE

LXDE is a desktop environment aimed specifically at people who don’t want to spend excessive system resources on a flashy user interface. Our experience with it would suggest it is not for beginners as a few annoying tidbits require beating into submission.

The first annoyance we fixed was the panel along the bottom hiding itself. While looking through some the panel’s settings as part of an unrelated issue I spotted a relevant tic box to make it stay.

While multiple desktops may be a great way to organize a swarm of windows, not everyone thinks in terms of them. LXDE came configured with a mess of shortcuts you can accidentally trigger, leaving yourself stranded in the wrong desktop workspace. To fix this, we followed a guide [2] to a file called ~/.config/openbox/lxde-rc.xml and specified 1 desktop instead of 2.

Similarly, volume and mute keys are often taken for granted. While following a guide on wiki.lxde.org [3], we copied a block of configuration code into the same ~/.config/openbox/lxde-rc.xml file as above and modified it per instructions for PulseAudio. In theory, it links appropriate keyboard button presses to corresponding events within the system. Mute cooperated, but the volume keys refused to work until we were almost zeroed in on the problem. Our problem vanished while playing around with commands based off where the script was actually trying to set the volume. At least it sticks around through a reboot.

Takeaway

There remains one thing we have yet to figure out: getting Ctrl+Alt+t to open a terminal. A keyboard shortcut list from around 2020 listed it, but perhaps something changed since then.

Final Question

Let me know what you think: Why might LXDE have solved itself? What is with the terminal keyboard shortcut not working? I look forward to hearing from you in the comments below or over on my Discord server.

Works Cited

[1] Guna, “discord-debian-bullseye” github.com, Feb. 18, 2022. [Online]. Available: https://github.com/gunalabs/discord-debian-bullseye [Accessed: May 16, 2022].

[2] “Help:Configuration”openbox.org, May 1, 2018. [Online]. Available:http://openbox.org/wiki/Help:Configuration#Desktops [Accessed: May 16, 2022].

[3] “LXDE:Quesions”wiki.lxde.org, Feb 27, 2017. [Online]. Avalable: https://wiki.lxde.org/en/LXDE:Questions#How_do_I_make_my_special_keyboard_buttons_.28mute.2C_volume.2C_screen_brightness_….29_work.3F [Accessed: May 16, 2022].

My PopOS Upgrade was Surprisingly Smoothly

Good Morning from my Robotics Lab! This is Shadow_8472 with a side project of the week. Let’s get started!

The Linux Development Cycle

System76 released PopOS 2022.04 LTS for April, 2022. Both PopOS and its upstream distributions Ubuntu and Debian, follow a release cycle where software changes accumulate over time until they are bundled and published together so end-users aren’t bothered with little updates potentially breaking sensitive applications all the time. Ubuntu (and subsequently PopOS) release new versions every six months with very little overlap.

LTS releases are special because support for them lasts far longer. This makes for a more stable platform for developers and end-users, and a larger base of compatible software grows as a result. All this is at the cost of some applications being sorely outdated toward the release’s end of life.

Derpy’s Upgrade

Derpy Chips, one of my desktop workstations, runs PopOS on an LTS release. While Canonical may support several Ubuntu LTS versions at once, System76 does not extend the same policy to PopOS. And so, I went along with the upgrade.

Based on my father’s difficulties installing Discord on Debian 11, I expected it might not work with the new PopOS either. My difficulties were elsewhere. MultiMC was all but gone, I had a few things to re-customize, and the sound stopped working for Nodecore a block game I’ve been playing that runs on the Minetest engine. I originally had to install it from a snap package for version compatibility reasons, but the new repositories had the same version I was already using before the upgrade, and moving away from the Snap fixed my sound issues. I moved my game files around, but it was nothing I wouldn’t trust an adventurous, new Linux user to figure out within a couple hours.

Changes to KDE, my desktop environment, were the most noticeable. The upgrade introduced a number of useful features I’ve been enjoying on Manjaro like split terminals and annotations for screenshots, while also bringing over a wider style of panel menu I don’t particularly care for, but don’t hate enough to revert myself.

Takeaway

Major upgrades carry the potential to break software, but this time has been painless besides reinstalling a couple programs. I was able to upgrade on my own terms

Final Question

Are there any features you’ve been excited to find after an update? I look forward to reading your answers in the comments or on Discord.

My Raspberry Pi 400 Runs Android

Good Morning from my Robotics Lab! This is Shadow_8472 with a side project of the week. Let’s get started!

Android Practice

I have been going without a smartphone for a while because I don’t accept Google’s terms of service. Apple is no better. The only option I’ll be happy with is one with nothing but open source software at its heart.

Unfortunately, 3rd party Android builds like LineageOS are infamously difficult and potentially a little unforgiving to install yourself. I need practice, which is why I installed an unofficial LineageOS build for the Raspberry Pi a couple months ago – right before I made an incomplete mad dash for assembling Button Mash into a proper home server.

I used balena Etcher to safely install a build of Android made for the Raspberry Pi 4 lineup built by Konsta [1].

The initial boot was a bit longer than reasonable, and there were some impressive graphical glitches I have never been able to reproduce since. It was a little wired using a mouse with Android menus – especially since I had no way to switch the mouse buttons to a more comfortable lefty configuration. My greatest impression was that there was nothing to do besides browse settings and the file system.

I wanted something a little more to present today, so I installed F-Droid, an app store for open source apps. The challenge wasn’t so much installation, but loading the .apk installation file where the file browser could see it. I had to plant a directory from within LineageOS and use the find command to locate it. Before moving the SD card back to the Pi 400 again, I changed the owner from root to the number 0 and made sure it had the needed permissions. Installation was smooth after that.

Only while doing this writeup did I realize this build was Android TV based. I expect to revisit this project with the correct installation.

Takeaway

I have no idea if this is supported at all beyond the efforts of KonstaT, or if it’s even anything more than a tech demo. While I would not recommend using a setup like this long term, it is still an excellent learning tool for where I am at right now.

Final Question

Have you ever used Android on something other than a smartphone or tablet?

I look forward to hearing your answers in the comments below or on my Discord server.

Work Cited

[1] Konsta, “Raspberry” konstakang.com, 2022. [Online]. Available: https://konstakang.com/devices/rpi4/. [Accessed May 2, 2022].