2026. július 23.

Troubleshooting First Generation Google Home Devices

It's been a couple of years since we set up our home network with our first-generation Google Home devices on our WiFi mesh, and now the internet was failing, and a technician from the provider came to troubleshoot our problem and ended up switching the mesh devices, thus establishing a new SSID and password for the network. After he left, we realized our Google Home setup was no longer working, and we spent many hours troubleshooting with AI help to re-establish it.

Our devices and apps:

  • KAON AR1344E WiFi Mesh
  • Google Chromecast (2017)
  • Google Chromecast Audio (2015)
  • Google Home Mini (2017)
  • Google Home App

In hindsight, this is what I would have done:

Troubleshooting TIP #0

Make sure you have WiFi and Bluetooth turned on on your mobile device, and Mobile Data turned off.

(Mobile Data should be turned off so that you can easily recognize if the WiFi throws you off)

Troubleshooting TIP #1

Give the new network the same SSID/password as the previous network.

(I never did this, but I think this one step might have prevented the whole 5-hour-long trial-and-error process)

Troubleshooting TIP #2

Only work with a single device at a time. Turn the other ones off to prevent any possible interference.

Troubleshooting TIP #3

Start from a clean slate with the Google Home App:

  1. Delete the entire Home from the Google Home App
  2. Reinstall the Google Home App on your device

(This is supposed to get rid of any "stuck" configuration in the app itself that would reference the old network)

Troubleshooting TIP #4

Factory reset and/or restart the Google Home devices.

(This one I had done many times before I was able to finally connect the devices)

Troubleshooting TIP #5

Check the WiFi settings and temporarily separate the 2.4 GHz and the 5GHz networks to be able to connect the Google Home devices to the 2.4GHz network specifically.

(This one was an AI tip, suggesting that those old devices might only support the 2.4GHz network, and that is why the Google Home App wasn't able to connect with them)

Further tips from the AI were to specifically setup the 2.4GHz network like this:

  • Bandwidth: 20MHz (not 40MHZ)
  • Channel Selection: 6 (a specific number instead of Auto, and also not a high number like 12, 13 or 14)

Troubleshooting TIP #6

Check if you can directly connect to the Google Home Devices' own network:

  1. Check the available WiFi networks, and look for ones that match your device, like "GoogleHome0123" or "Chromecast9876" (with any numbers or characters after the name)
  2. Connect to that network (not that it will disconnect you from the internet)
  3. Open up a browser and go to http://192.168.255.249:8008/setup/eureka_info
  4. You should see a JSON text response from that site with info about the device

(Actually, nothing useful came out of this for me, but it was interesting to see that this is possible, and it showed that there is nothing wrong with the devices themselves)

Troubleshooting TIP #7

"Don't call us, we will call you"

Walk around and wait in different places in relation to the Google Home devices, and wait for the Google Home App to pick them up and offer them for connection.

(In the end, with both my Chromecast and Google Home Mini device, the "magic" happened when I moved away from the device and probably reached the edge of its own WiFi -- that is when the Home App finally offered to connect to them. When I previously tried to add them manually, it never found them)

2021. február 23.

How to split a video without rerendering it

To slice out a part of a video file, we can use this ffmpeg command:

ffmpeg -ss <position> -i input.mp4 -c copy -t <duration> output.mp4

-c copy Copy is a special value for the codec option on the output to indicate that the stream is not to be re-encoded.

-ss <position> When used as an input option (before -i), seeks in this input file to position. Note that in most formats it is not possible to seek exactly, so ffmpeg will seek to the closest seek point before position. When doing stream copy or when -noaccurate_seek is used, this extra segment between the seek point and position will be preserved.

-t <duration> When used as an output option (before an output url), stop writing the output after its duration reaches duration.

position/duration can be in either the [-][HH:]MM:SS[.m...] or the [-]S+[.m...][s|ms|us] format

2021. január 4.

Note: How to password-protect a PDF file on Ubuntu

This is a copy of this post for safe-keeping: 


In a terminal, type:

sudo apt-get install pdftk

Then, to add a password to a PDF file, type:

pdftk <input-file> output <output-file> user_pw <password>

Example:

pdftk input.pdf output output.pdf user_pw 1234

2020. március 9.

Update Java version with AdoptOpenJDK

1. Install the JDK version you want with apt-get
(Steps copied from the linked source)

Import the official AdoptOpenJDK GPG key by running the following command:
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -

Import the AdoptOpenJDK DEB repository by running the following command:
sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/

Refresh your package list:
sudo apt-get update

Install your chosen AdoptOpenJDK package. For example, to install OpenJDK 8 with the HotSpot VM, run:
sudo apt-get install <adoptopenjdk-8-hotspot>

2. update alternatives:

List alternatives for java:
~$ update-alternatives --list java
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
/usr/lib/jvm/jdk-11.0.2/bin/java

Check the java version of the alternative you would like to set:
~$ /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/java --version
openjdk 11.0.6 2020-01-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.6+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.6+10, mixed mode)

Set the chosen version as the default:
~$ sudo update-alternatives --set java /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/java

update environmetal variables
For me, there is a maven.sh in /etc/profile.d that sets the env vars required for maven.
~$ sudo gedit /etc/profile.d/maven.sh
Update the JAVA_HOME path here. (in my case to /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/)

2019. augusztus 3.

Display settings lost on reboot

As described here, this problem is affecting others as well:
Here are the steps I tool to assemble the little script below:

How many displays do you have right now?
xrandr | grep -w connected | wc -l
How to position your displays?
xrandr --output PRIMARY-SCREEN-ID --below SECONDARY-SCREEN-ID
How to rotate a display?
xrandr --output SCREEN-ID --rotate [normal|left|right|inverted]
How to get your display IDs?
primary display:
xrandr | grep -w connected | grep primary | cut -d' ' -f1
secondary display:
xrandr | grep -w connected | grep -v primary | cut -d' ' -f1
How to position your gnome-panels?
Apparently there is no easy way, but for the note, here's where to find these setting:
org.gnome.gnome-panel.layout.toplevels.bottom-panel monitor 0
org.gnome.gnome-panel.layout.toplevels.top-panel monitor 1

Here's the script I put into my .bashrc (.profile would be also a good place for it) to restore the positions of my displays (I have the laptop below the monitor).

# set dual display positions
# because they are forgotten after logout
function reset_displays {
 display_count=`xrandr | grep -w connected | wc -l`
 if [ "$display_count" -eq "2" ]; then
  id1=`xrandr | grep -w connected | grep primary | cut -d' ' -f1`
  id2=`xrandr | grep -w connected | grep -v primary | cut -d' ' -f1`
  xrandr --output $id2 --rotate normal
  xrandr --output $id1 --below $id2
 fi
}
reset_displays