Category: Computer

System Info

Model number: HP Pavilion Elite HPE-360z
Product number: WX520AV
MOBO mfr: Foxconn H-RS880-uATX
Aloe-GL8E
Chipset: AMD 785G
Processor: AMD Phenom II X6 1090T Black Edition, 125W, AM3, 9MB Cache, 3200MHz
Memory: 4096MB DDR3-1333 PC3-10600 SDRAM x 4
Hard disk1:
Hard disk2: WDC WD10EZEX-08WN4A0
Graphic Card: NVIDIA Corporation GF106 [GeForce GTS 450]
Ethernet Card: RTL8111/8168/8411 PCI Exp Gigabit Ethernet Controller (r8169)
Realtek Semiconductor Co., Ltd.

That's all!
-gibb

HPE-360z Became Unstable…

Sometime toward the end of 2019, my 10-year-old pc (HP Pavilion Elite HPE-360z), started acting up. Its fan noise went really high time to time, and the system randomly froze up or rebooted automatically. First thing I suspected was the health of hard disks because I noticed that I started seeing a bunch of what looks like kernel messages or kernel panic.

Disclaimer:
The information in this site is the result of my researches in the Internet and of my experiences. This information below is solely used for my purpose and may not be suitable for others.

Checking the Hard Disks

First, I ran e2fsck on the suspected device:# e2fsck -p -y -f -v /dev/sda1

It returned with no errors. I also ran the command to check bad blocks on a device:# badblocks -v /dev/sda1 > badsectors.txt

This passed with no bad blocks... Then, I learned about S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology). It helps to detect, report and possibly log their health status and works better than the badblocks command on SATA and SCSI devices.

When the smarctrl command was run to view its log, there were errors reported.# smartctl -l error /dev/sda smartctl 7.0 2018-12-30 r4883 [x86_64-linux-4.19.97-gentoo] (local build) Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART Error Log Version: 1 Warning: ATA error count 1800 inconsistent with error log pointer 1 ATA Error Count: 1800 (device log contains only the most recent five errors) CR = Command Register [HEX] FR = Features Register [HEX] SC = Sector Count Register [HEX] SN = Sector Number Register [HEX] CL = Cylinder Low Register [HEX] CH = Cylinder High Register [HEX] DH = Device/Head Register [HEX] DC = Device Command Register [HEX] ER = Error register [HEX] ST = Status register [HEX] Powered_Up_Time is measured from power on, and printed as DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes, SS=sec, and sss=millisec. It "wraps" after 49.710 days. Error 1800 occurred at disk power-on lifetime: 56133 hours (2338 days + 21 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 04 51 fd 81 f4 2c a0 Error: ABRT Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- b0 d4 fd 81 4f c2 a0 00 00:04:40.097 SMART EXECUTE OFF-LINE IMMEDIATE b0 d0 fe 00 4f c2 a0 00 00:04:39.810 SMART READ DATA b0 d8 fe 00 4f c2 a0 00 00:04:39.497 SMART ENABLE OPERATIONS b0 d0 ff 00 4f c2 a0 00 00:04:38.150 SMART READ DATA b0 d8 ff 00 4f c2 a0 00 00:04:37.834 SMART ENABLE OPERATIONS

So, I replaced the bad disk with another one that was laying around, thinking this would solve the issue for the time being. I was wrong...

Issues Not Resolved...

While I was installing Debian 10 on this new disk, the installation still froze up. Uh, oh. That disk certainly had issues but that didn't seem to be the only problem.

Next, I suspected memory modules. I reseated all 4 modules but that didn't help. I then installed memtest86+ and ran it. While it was being executed, I yet noticed that the cpu temperature was sky rocketing. It went as high as over 100F degrees!!! I should have known that the CPU fan was complaining for a while with loud noise.

Really, Really Dusty CPU fan

In the past, I opened HPE-360z time to time and blew dust with compressed air bottle, but I never cleaned the CPU heatsink/fan. Oh boy, I was so surprised to see chunks of dust stuck in the fan and between plates. I couldn't believe how much dust it has collected over the years (the fan on GPU was as dusty as CPU fan as well). I also noticed that CPU was stuck onto its heatsink and I was unable to separate them. During its process, I damaged some pins from CPU... so I decided to upgrade its CPU.

It's Time To Upgrade

Yeah, upgrading 10-year-old PC wasn't that easy to find parts for it. You might think that it's better to buy a new, better system but I felt that I've been with this one for 10 years and maxed out the memory size and all. I couldn't really bring myself to toss it out, just like that.

The highest kind of CPU that my MOBO can take was AMD Phenom II X6 1090T Black Edition according to the HP website and others. Since the old CPU was stuck on its heatsink and couldn't boot it up anymore, I wasn't sure if getting this CPU was an upgrade. Nevertheless, I decided to get this one and another heatsink and fan.

After Upgrading the CPU

I was a bit worried that it wouldn't boot up due to needing the BIOS update, but the system booted up successfully with new CPU and heatsink/fan. Maybe the old CPU was AMD Phenom II 1090T after all.

Now, my PC is working and better than before. No complaining from CPU fan anymore. I still have that bad hard disk and need to do something about it, but that's something to deal with later.

That's all!
-gibb

Resetting MariaDB “root” Password on Termux

I just started learning Laravel framework for my self-interest and wanted to play with it on my Galaxy Note 8 since I already had Termux installed on it. A tutorial I found from Google search uses mySQL so I installed MariaDB with the following command:$ pkg install mariadb

The installation was successful, but when I tried to log in as root with no password, it failed with ERROR 1698 (28000): Access denied for user 'root'@'localhost'. I tried various passwords but none was successful. So, I searched for a solution.

Disclaimer: The information described here is from Termux Wiki. This information below is solely used for my purpose and may not be suitable for others.

Post Installation Tasks:

After the first login attempt, I realized that it was not connecting to mysql server because of the following error message:$ mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/data/com.termux/files/usr/tmp/mysqld.sock' (2)

Was mysql server not running...? $ ps -aux | grep mysql xxx 8451 0.2 1.4 560836 79496 ? S

It looks to me, it's running fine. Is mysqld.sock file missing from the directory?:$ ls ../usr/tmp/ $

Ok, the directory was empty. So, I manually started mysql daemon with the following command:$ mysqld_safe -u root & [1] 8379 191029 20:48:14 mysqld_safe Logging to '/data/data/com.termux/files/usr/var/lib/mysql/localhost.err'. 191029 20:48:14 mysqld_safe Starting mysqld daemon with databases from /data/data/com.termux/files/usr/var/lib/mysql

After this, mysqld.sock was created.$ ls ../usr/tmp mysqld.sock $

Resetting root Password:

According to the wiki, the mariadb installation initializes the database with 2 all-privilege accounts, root and my Termux local user. With this local user, I can reset the root password. (But is there a point of resetting the root password at this point since my local user also has all privileges?)$ mysql -u $(whoami) Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 8 Server version: 10.4.6-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> use mysql; MariaDB [(mysql)]> set password for 'root'@'localhost' = password('YOUR_ROOT_PASSWORD_HERE'); MariaDB [(mysql)]> flush privileges; MariaDB [(mysql)]> quit;

Now, I can log in as root.$ mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 8 Server version: 10.4.6-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>

That's all!
-gibb

Kernel 4.4.172 on Slackware64 and VirtualBox

In my previous post, I mentioned that I had issues with NVIDIA after updating the kernel to 4.4.172 from Security Advisories. It appears that this kernel update is breaking some applications for many people. For me, it broke NVIDIA video driver and now I found that I can't run VirtualBox.

When I execute the virtualbox command, it complained about vboxdrv not running. Then, when I tried to start vboxdrv, it said vboxdrv not found! # /etc/rc.d/rc.vboxdrv start bash: /etc/rc.d/rc.vboxdrv: No such file or directory

After looking for a solution in linuxquestions.org and other sites, I ended up following the instruction from SlackBlogs.

Disclaimer:
The information in this site is the result of my researches in the Internet and of my experiences. This information below is solely used for my purpose and may not be suitable for others.

Download the virtualbox binary:

Download the source binary from VirtualBox site. Choose for All distributions, then execute it as root. The installation will fail but don't worry about it.# sh VirtualBox-6.0.4-128413-Linux_amd64.run ...

Update the source code:

Open the source code for /usr/src/vboxhost-6.0.4/vboxdrv/r0drv/linux/memobj-r0drv-linux.c with your favorite editor, look for below lines and update it with new KERNEL_VERSION(4, 4, 168). There are three locations you'd need to update.# nvim /usr/src/vboxhost-6.0.4/vboxdrv/r0drv/linux/memobj-r0drv-linux.c ... if GET_USER_PAGES_API >= KERNEL_VERSION(4, 9, 0) <-- Change the kernel version to KERNEL_VERSION(4, 4, 168) fWrite ? FOLL_WRITE | /* Write to memory. */ FOLL_FORCE /* force write access. */ : 0, /* Write to memory. */

Restart the setup process:

Now, execute the /sbin/vboxconfig as root to re-start the setup process:# /sbin/vboxconfig vboxdrv.sh: Stopping VirtualBox services. vboxdrv.sh: Starting VirtualBox services. vboxdrv.sh: Building VirtualBox kernel modules. vboxdrv.sh: Starting VirtualBox services. ... #

Run vboxdrv:

So far so good. It's now the moment of the truth. If I can get vboxdrv running, it's all set:# /etc/rc.d/rc.vboxdrv start Starting VirtualBox kernel modules ...done. #

Hooray! it's working. In fact, I can bring up VirtualBox. All I need to do is to update their Guest Addition images to the latest.

That's all!
-gibb