31 December 2024

ASUS ROG Charger Dock

In order to simplify connecting my chromebook to my tv, I wanted a small dock. As Best Buy has been running sales on the ASUS ROG Charger Dock for $30, I decided to snag it.


Pros

  • Price when on sale
  • Size (about the size of a deck of cards cut in half, but twice as thick)
  • 65 Watt charging capability
  • Ports:
    • USB-C to laptop
    • USB-A
    • HDMI
  • Comes with a braided USB-C cable
  • Charges chromebook and outputs to tv with a single laptop connection


Cons

  • Limited ports (no ethernet or downstream USB-C)
  • HDMI 2.0 limits output to 4K 60Hz


Other Thoughts

  • USB-C cord was packaged with sharp bends that may lead to longevity issues


Firmware

Mine came with firmware B41 and I updated it to B59 (version 1.4.1)


Appendix

Links:


23 December 2024

Replacing drives in ZFS take two

As it had been ~3 years since the last storage upgrade and there was only about 20% free space remaining, I wanted to take advantage of Black Friday prices. From WD.com, I grabbed 2 x 16TB Red Pro drives with a 5 year warranty.


Verify the drives

  • smartctl short tests
    • smartctl -t short /dev/sdX
    • smartctl -t short /dev/sdY
  • check smartctl test status after ~5 minutes
    • smartctl -a /dev/sdX
    • smartctl -a /dev/sdY
  • badblocks
    • Does 4 iterations of a write followed by a read. For my 16TB drives, each step took ~24 hours for a total of around 8 days.
    • nohup badblocks -wsv -b 4096 /dev/sdX >16TB_serial_1.log 2>&1 &
    • nohup badblocks -wsv -b 4096 /dev/sdY >16TB_serial_2.log 2>&1 &
    • The logs will continue to grow as it runs. Mine got to 5.3MiB each for my 16TB drives after ~8 days
  • Create script to check status of verification
    • echo "" > newline.log
    • echo "cat 16TB_serial_1.log newline.log 16TB_serial_2.log newline.log" > status.sh
    • sh status.sh


Add the drives to the mirror

  • Attach the drives
    • zpool attach [POOLNAME] [EXISTING_DRIVE] [NEW_DRIVE_1]
    • zpool attach [POOLNAME] [EXISTING_DRIVE] [NEW_DRIVE_2]
  • Resilver both drives at once
    • resolves: (awaiting resilver) on [NEW_DRIVE_2]
    • zpool resilver [POOLNAME]
  • Check on resilver
    • zpool status [POOLNAME]
    • resilver in progress since Wed Dec 18 17:37:48 2024
    • I had 4.35TiB to resilver with an estimated runtime of around 7 hours, it ~7 hours and 45 minutes


Remove the old drives

I am planning on waiting at least 11 days to ensure the new drives are functioning as expected, but this is the step to remove them.

  • zpool detach [POOLNAME] [DISKNAME]


Appendix

Sources


03 November 2024

Ubuntu VM add storage

Since my Ubuntu VM was running out of space, I needed to expand it.


Steps I used

  • Expand the storage in Proxmox
    • Proxmox web GUI -> Select the VM -> Hardware
    • Select the Hard Disk
    • Disk Action -> Resize
    • Type the number of GB to add -> Resize disk
  • Have the VM use the additional storage
    • Proxmox web GUI -> Select the VM -> Console
    • login
    • sudo cfdisk /dev/sda
      • sort (This should hopefully put your FreeSpace right after your Linux filesystem
      • resize
      • Write
    • Reboot
    • sudo resize2fs /dev/sda4


Appendix

Sources


Repair La-Z-Boy Office Chair Lumbar support

 Similar to https://www.reddit.com/r/fixit/comments/1btyyg3/lazboy_ergonamic_mesh_chair_lumbar_pad_came_off/ my lumbar support fell off on my La-Z-Boy Ergonomic Mesh Swivel Task Chair model 60021 (Joel). The lumbar support was always loose and had to constantly be readjusted to where I wanted it.


The problem

  • The single screw that holds the padding to the lumbar support arm backed all the way out which caused it to fall off.
  • There is no apparent way to easily reattach it


The solution

  1. remove the arm the padding attaches to by removing the 2 screws with an allen key
  2. separate the padding from the plastic backing by carefully pulling them apart until the 4 posts pulled out of the padding (one in each corner)
  3. attach the plastic backing to the arm using the plastic adjuster, locking washer, and screw
    • I screwed it in really tight, but if you have some thread lock you may want to use it
  4. snap the padding back onto the plastic backing by pressing it into place
  5. reattach the arm to the chair


The result

The lumbar support is reattached and now much better at staying in place (better than new)

Update: Since I did not use thread lock the lumbar support has loosened some

14 September 2024

Adding a USB card to Dell r730xd

As I was tired of being limited to just 2 USB ports, I picked up the Inateck RedComets U21 20Gbps on Prime Day for $31.99 plus tax.


Specs

  • 2 lanes of PCIe 2.0/3.0/4.0 (3.0 or 4.0 required for full speed)
  • Max combined throughput 16 Gbps
  • 10 Gbps dedicated port
    • USB-A
  • 10 Gbps split between
    • 2 x USB-A
    • 2 x USB-C


Add USB Card

  • Shutdown containers and VMs
  • Turn off the server
  • Install the USB card
    • I installed it above the 2.5" drive bays in the back in Riser 3 (Slot 6)
  • Turn on the server
  • Fix fan speed
    • apt-get install ipmitool
    • ipmitool -I lanplus -H 192.168.1.X -U root -P <password> raw 0x30 0xce 0x00 0x16 0x05 0x00 0x00 0x00 0x05 0x00 0x01 0x00 0x00
    • response:
      • 16 05 00 00 00
  • Shutdown the VM you want to add it to
  • Add the USB Card to a VM
    • Select your VM -> Hardware -> Add -> PCI Device
    • Select Raw Device -> Device: ASM2142/ASM3142 USB 3.1 Host Controller
    • Check All Functions
    • Add
  • Start the VM
  • Check that it is working
    • lsusb -t


Test a USB hard drive

  • plug in the USB hard drive
  • determine what drive letter it is:
    • ls -l /dev/disk/by-id
  • Mount it
    • sudo mount -m /dev/sdb1 /mnt/backup-plus
  • Error: unknown filesystem type 'exfat'
    • sudo apt-get install exfat-fuse
    • sudo mount /dev/sdb1 /mnt/backup-plus -t exfat-fuse


Appendix

Sources

Setting up a Jellyfin media server

I wanted to install a media server to help manage my growing library. The top two options that I found are Plex and Jellyfin. I have used Plex in the past, but disliked when they started requiring an account so I went with Jellyfin.


Create the container

  • bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/jellyfin.sh)"


Set Static IP and hostname

  • Proxmox -> jellyfin -> Network -> net0 -> Edit
    • set static ip
  • Restart the container
  • Proxmox -> jellyfin -> Console
    • ping 192.168.1.1
      • this ensures that the container will show up on Unifi's list of clients
  • Unifi -> Clients -> Select the jellyfin -> Settings
    • give it a memorable name
    • check "Fixed IP Address"
      • it should auto-populate with current IP
    • check "Local DNS Record"
      • jellyfin.home.arpa


Setup Jellyfin

  • Self signed SSL certificate:
    • https://jellyfin.org/docs/general/networking/
    • jellyfin -> Console
      • mkdir -p /home/jellyfin
      • cd /home/jellyfin
      • openssl req -x509 -days 3650 -newkey rsa:4096 -keyout ./privkey.pem -out cert.pem -nodes -subj '/CN=jellyfin.home.arpa'
        • -subj '/' can work if you can override ssl verification on the client, but Kodi doesn't have that option
        • -subj '/CN=localhost' was causing jellyfin to crash here are some keywords from the crash:
          • Error occurred during a cryptographic operation
          • MapOpenSsl30Code
      • openssl pkcs12 -export -out jellyfin.pfx -inkey privkey.pem -in cert.pem -passout pass:
      • chown -R jellyfin /home/jellyfin
      • chgrp -R jellyfin /home/jellyfin
  • http://jellyfin.home.arpa:8096
    • create user/pass
    • hamburger menu -> Dashboard -> Networking
      • Check "Enable HTTPS"
      • Check "Require HTTPS"
      • Custom SSL certificate path -> /home/jellyfin/jellyfin.pfx
      • Save
  • Restart the jellyfin container
  • Test the self-signed certificate
    • curl --cacert cert.pem https://jellyfin.home.arpa:8920
  • https://jellyfin.home.arpa:8920
    • hamburger menu -> Dashboard -> Users
      • Add User
      • Name
      • Password
      • Check "Enable access to all libraries"
    • hamburger menu -> Dashboard -> Plugin -> Catalog -> Kodi Sync Queue
      • Install
    • Restart jellyfin


Add to Kodi on Google TV

  • Have Kodi trust the self signed certificate
  • Enable adb (Android Debug Bridge)
    • Determine IP of the Google TV
      • Settings -> System -> About -> Status
    • Enable Developer mode
      • Settings -> System -> About -> Build Number -> Click 10 times or until developer mode is unlocked
    • Enable USB debugging (also enables remote debugging)
    • install adb onto a computer to be able to modify the Google TV remotely
      • sudo apt install android-tools-adb
  • Used adb to add new certs file to existing
    • adb pull /sdcard/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.certifi/lib/certifi/cacert.pem
    • cat cacert.pem cert.pem > updatedcacert.pem
    • adb push updatedcacert.pem /sdcard/Download/
    • echo -e '<advancedsettings version="1.0">\n<network>\n<catrustfile>special://masterprofile/updatedcacert.pem</catrustfile>\n</network>\n</advancedsettings>' >advancedsettings.xml
    • adb push advancedsettings.xml /sdcard/Download/
  • Have Kodi use the new certs
    • Google TV -> Settings -> Apps -> Kodi -> Permissions -> Files and Media -> Allow management of all files
    • Kodi -> Settings -> File Manager
      • Left Side
        • Add Source -> Browse -> External Storage -> Download -> OK
        • Open Download
      • Right Side
        • Profile directory
      • Long press the files one at a time in the Left pane and select copy
    • Restart Kodi
  • Install Jellyfin on Kodi
    • Kodi -> Settings -> File Manager -> Add Source
      • https://kodi.jellyfin.org
    • Kodi -> Settings -> AddOn Browser
      • Allow install from unknown sources when prompted
      • Install from zipfile -> jellyfin -> repository.jellyfin.kodi.zip
      • Install from Repository -> Kodi Jellyfin Add-ons -> Video Add-ons
      • Select Jellyfin add-on and install
    • Cancel adding the server
    • Disable "Verifiy connection" -> OK
    • Restart Kodi
    • Select Manual server add (as auto does it by IP)
      • https://jellyfin.home.arpa:8920
      • sign in using user/pass
      • Playback -> Addon (default)
      • Choose which libraries you want to sync
        • click "All"
        • click "OK"
    • After Syncing is complete restart Kodi
    • Settings -> Add-ons -> My add-ons -> Video add-ons -> Jellyfin
      • Configure -> Sync -> Enable Kodi Sync Queue -> OK


Appendix

Sources

18 July 2024

Debugging Windows 11 crashes

Once to twice a week, I have been finding my system asleep when it should have been folding. After looking at "Event Viewer" after each of these I noticed a trend of a Kernel-Power event proceeded (but not immediately) by a volmgr one.

To view the events open up "Event Viewer", expand "Windows Logs", and click on "System"

Simplified Example:

LevelDate and TimeSourceEvent IDTask Category
Critical5/7/2024 2:13:36 AMKernel-Power41(63)

The system has rebooted without cleanly shutting down first. This error could be caused if the system stopped responding, crashed, or lost power unexpectedly.
Error5/7/2024 2:13:36 AMvolmgr162None

Dump file generation succeded.
Warning5/7/2024 2:11:00 AMDisplay4101None

Display driver amduw23g stopped responding and has successfully recovered.
Warning5/7/2024 2:06:07 AMDisplay4101None

Display driver amduw23g stopped responding and has successfully recovered.


Updating Drivers

As a first step to try and remedy this, I always update drivers. I updated the following:

  • chipset: 
    • 4.07.13.2243 -> 5.11.02.217 (from Asus)
    • 6.02.07.2300 (from AMD after above didn't fix it)
  • video: a version installed in 2024 -> 24.5.1


Updating the BIOS

I found some posts online that said it could be due to the motherboard, so I decided to try updating the BIOS to see if that would help. Unfortunately, it did not.

Before updating the BIOS/UEFI make sure to write down your changes as they will be reset.

BIOS/UEFI Settings

  • Expo -> Enabled
  • Fan Curves
    • CPU
      • 20C -> 20%
      • 60C -> 40%
      • 85C -> 70%
      • 90C -> 100%
    • System
      • 20C -> 30%
      • 50C -> 50%
      • 85C -> 80%
      • 90C -> 100%
  • Advanced Mode (F7)
    • Tool -> ASUS Armoury Crate
      •  Download & Install -> Disabled
    • AI Tweaker -> Precision Boost Override
      • Curve Optimizer
        • All Cores
        • Negative
        • 30
      • Precision Boost Override -> AMD Eco Mode
      • AMD Eco Mode -> cTDP 65W
    • AI Tweaker -> SOC Offset -> negative -> 0.03 (however this caused the pc to hang on warm-boots so I use the below settings instead)
    • AI Tweaker -> CPU SOC Voltage -> Manual
      • VDD SOC Voltage Override -> 1.2

Update the BIOS

After updating the BIOS, you will need to reapply the settings.


Old video drivers

Since all the updates didn't work, I tried installing old video drivers that I knew worked from 24.5.1 to 23.10.2. Luckily this seems to have done the trick and my system is stable again with >27 days of uptime.


Slow folding

Unfortunately, it looks like my solution may be short lived as to get expected folding performance, I need to update to 24.6.1: https://foldingforum.org/viewtopic.php?t=41637&sid=d9b1c6f33f52801aaca8c31fc3fe52d1 So fingers crossed that this release is also stable.

Update 2024-07-29: I had a freeze after roughly 11 days of uptime

Update 2024-07-31: My PC crashed overnight after only 1.5 days of uptime


24.7.1

Update 2024-07-31: I updated the graphics drivers to 24.7.1. Here is the process that I used:

  • Downloaded the AMD driver cleanup utility (from here)
  • Downloaded the full updated AMD graphics driver (for 5600 XT)
  • Disabled Ethernet/Wi-Fi
    • I do this so that Windows doesn't try to "helpfully" download and install other graphic driver versions
  • Ran the AMD driver cleanup utility
    • Had it reboot me into Safe-Mode
    • It removed the drivers and prompted me to reboot, which I did
  • Installed the new drivers (had to approve the big red scary box because of no internet)
  • Rebooted
  • Enabled Ethernet/Wi-Fi


Update 2024-08-02: My computer has crashed twice in the past 2 days so I decided to try DDU

  • Downloaded Display Driver Uninstaller (aka DDU)
    • I downloaded from Guru3D
  • Disabled Ethernet/Wi-Fi
  • Rebooted into Safe Mode
  • Extracted the EXE from the ZIP file
  • Ran the EXE, it will extract even more files
  • Ran "Display Driver Uninstaller.exe"
  • Unchecked the final option (Disable Windows Update Driver Downloads)
    • Since we already disabled internet access this is unnecessary and DDU recommends reenabling afterwards anyway so this saves a step
  • Close the options
  • Device Type -> GPU
  • Device -> AMD
  • Clicked "Clean and restart"
  • Waited for it to do its thing and reboot
  • Installed the 24.7.1 drivers again
  • Rebooted
  • Enabled Ethernet/Wi-Fi

 

Appendix

Sources