Archive for the ‘PC Hardware/Consumer Electronics’ Category

Asus P5B-E does not detect external eSATA disk enclosure or its disks

Sunday, April 26th, 2020

Protip: Connect the internal JMB363 SATA connector towards the rear of the motherboard to an eSATA port bracket and ignore the integrated eSATA port to avoid both of the following problems.


Lenovo Yoga Book Android YB1-X90F bootloops instead of charging

Sunday, April 19th, 2020

If, after powering off suddenly because the battery was completely drained, your Android Yoga Book is doing the following when plugged into the charger:

  • Continuously restarting to the Lenovo logo and then a battery charging icon
  • Apparently not charging

Do the following:

  • Leave it plugged in.  It’s actually charging even though it doesn’t appear to be.
  • If the bootloop and vibration is annoying you, press and hold the power button for about 30 seconds; after going through two more bootloops, the system will proceed to boot up fully.

If that doesn’t work (for example, if the battery is at 0% and the system cannot boot:

  • Hold Power + Volume Up simultaneously until the bootloader appears.
  • Use the volume key to select “Recovery Mode”, then press the Power button.
  • After the system enters recovery mode, just let it sit while connected to a high power (i.e. QC wall) charger.  There’s no indicator that it’s charging while sitting in recovery mode, but it is.
  • After a few hours select “Power Off” and restart the Yoga Book.

That’s all!

Autonomous SmartDesk with TiMotion TC15 controller doesn’t move

Sunday, April 19th, 2020

Okay, this will be a short post.  If your adjustable desk won’t move and it has the TiMotion controller, do this:

  1. Unplug the controller until the green LED goes out.
  2. Plug the controller back in.
  3. Hold the up and down buttons on the front panel simultaneously for 3 seconds, or until the motor relocates the base to the bottom and beeps once.

Then your desk will work again!

Here are the specifications and user manual.  For reference, I verified the power supply board provides 32VDC to the controller board, and the controller board provides 5VDC to the motion base motors.

Repairing a completely dead Asus ROG G75VW 17-inch Gaming Laptop

Saturday, December 1st, 2018

This one was fairly uncomplicated:

  • There was a bad 4936N MOSFET near the power jack.  In circuit there was very low resistance between gates, sources, and drains of both MOSFETs. It was not really possible to tell which of the two MOSFETs in that area was bad without removing both the 4936N and the nearby PH5030AL.  After removing both, the 4936N was confirmed bad as it read 15 ohms from gate to drain and 0 ohms from gate to source.
  • Additionally, the Winbond 25Q64FVSIG BIOS chip was visibly fried (cracked package).  You can get a programmed replacement for about USD $20 and I would recommend this unless you are experienced with programming BIOS chips.
  • Using hot air it is easy to remove all of these and install the replacements, but watch the very small capacitor next to the MOSFET and to the left of the JP4601 marking – if you blow it away it’s a headache to get back into place, if you can even find it!  (In this picture it’s next to the 4936N, but on my board the PH5030AL was in that location.)
  • Use a rework flux pen.

You should be good to go for reassembly in half an hour.  To test, just connect the power jack board, the power switch board with the ribbon cable, and a fan, connect power and depress the power switch momentarily and it should spring to life!  Note: If the CPU is not installed and/or the BIOS is inoperative, it is expected behavior that the fan speed will cycle up and down rhythmically.  Once the CPU can execute the correct BIOS code, it will then control the fan speed appropriately.

Reviving a bitrotted OEM Windows Vista installation on your Linux laptop

Sunday, June 24th, 2018

If you’re a normal sort of Linux user, when you buy a laptop you probably keep that Microsoft OS partition around, shrinking it to a minimal size and allowing it to coexist with Linux just in case you need it for firmware updates, special Windows-only tools for special situations, or sometimes just for an A/B comparison if you suspect something might be wrong with the Linux driver for a particular device.

So, after not booting that Windows Vista partition for a few years, and possibly having gone through a few disk upgrades and associated disk imaging in the meantime, you try to boot it up only to find:

  • It doesn’t boot via the automatically populated GRUB entry, hanging at a black screen
  • It doesn’t boot via Hiren’s Boot CD or another tool booting the Vista partition directly, with a winload.exe “missing or corrupt” BSOD
  • Third-party software upgrades don’t work
  • Windows Update doesn’t work
  • Anything you try to install manually doesn’t work


Well, here’s how you should be able to fix that mess (steps tested on Windows Vista Home Premium OEM 32-bit SP1).


Can LiteOn/Slimtype DS8A1H laptop DVD recorder burn dual layer DVDs?

Sunday, April 22nd, 2018

Many mid-2000s Compaq/HP laptops which shipped while DVD media was predominant included this unbranded “Slimtype DVD A DS8A1H” DVD recorder, which is actually a rebadged LiteOn drive.  It’s not that great a drive, but it does work to burn double/dual layer (DL) DVDs for use on a console DVD player.  Here is what you need to know to produce DVDs that work on a console player.


Google Pixel Phones With Android Oreo Repeatedly Disconnect From Wi-Fi

Wednesday, February 28th, 2018

There is a long thread in the Google support forums which links to several other long threads regarding Google Pixel phones with Android Oreo 8.0 or 8.1 repeatedly disconnecting from WiFi access points that work for other users.  There are multiple causes, some of which were fixed in the January security patch, so here’s the TL;DR.  (As you can see, factory resetting should be a last resort rather than a first resort in this case.)

  • Delete Verizon “Security & Privacy” app, or at least turn off WiFi security, on branded phones.
  • Disable all Chromecast devices on the network to prevent a flood condition when the phone first comes online.  This problem was fixed in the January security patch.
  • Disable 5GHz on a dual-band wireless access point.
  • Set a static IP for the phone in the router DHCP configuration.
  • Use WPA to secure your wireless access point instead of the obsolete WEP standard.
  • Turn on Bluetooth.
  • Disable IPv6 in the router configuration.
  • Reboot in ‘safe mode’, then disable and re-enable WiFi and see if it stays connected.  If it does, reboot normally and then:
    • Force-stop the Google Home app, disable and re-enable WiFi.
    • Force-stop the Waze app, disable and re-enable WiFi. (This was the fix for my phone on Oreo 8.1, as improbable as it may be.)


Install Linux on an Android-Based Lenovo Yoga Book (YB1X90F)

Friday, April 28th, 2017

Having a Linux distribution installed on an Android netbook can be the best of both worlds. Leveraging the Linux kernel already running on any Android device, a Linux userspace will be native and fast and come with many tools power users will appreciate. Here are some ways to get the most out of the Linux on Android experience.


APC AP9584 USB Conversion Kit and APC Serial Smart-UPS

Wednesday, April 26th, 2017

The AP9584 serial-to-USB conversion kit for older APC UPS models with a serial host interface is the manufacturer-endorsed solution for interfacing such older UPS units with a USB-based host computer. However, it is specified on the label for “use with APC Back-UPS and Back-UPS Pro only”. Will it work with a Smart-UPS unit?

Initially, it would seem so – all the variables are read properly. However, after a period of 30 days or so, and generally unnoticed to the operator, the “LB” (Low Battery”) status flag is flipped on, while nothing is actually wrong with the battery. This does not cause an immediate problem. However, the next time the UPS does a periodic self-test, the “OB” (“On Battery”) status flag will be temporarily set as is expected during a self-test cycle. However, from the perspective of UPS monitoring software, the combination of LB and OB means “The UPS is nearly dead, so shut down the system cleanly”. As a result, every system listening to the UPS monitoring software would immediately (and cleanly) shut down, and then dutifully wait for a UPS power-cycle that never came!

  • I thought at first this was an anomaly with the particular UPS (Smart-UPS 1500), so I switched to a Smart-UPS 1000. Same result.
  • I thought then that I had just gotten a defective cable, and bought another AP9584 to test. Same result.
  • I then replaced the AP9584 with a good old APC 940-0024C and a Kawamall USB to DB9 (male) serial converter. After months, the problem never happened again!

The Kawamall USB to serial converter has USB vendor:device 1a86:7523 corresponding to a QinHeng Electronics HL-340. Others have noted that Prolific converters also seem to work.

In any case, don’t bother trying to use the APC AP9584 on a Smart-UPS – there seems to be a bug that will cause your systems to be powered off unexpectedly. Just use a normal USB-to-serial converter with the APC 940-0024C or similar smart monitoring cable.

ACPI Warning: SystemIO range X conflicts with OpRegion Y error

Sunday, April 23rd, 2017

On a Linux system, you might be trying to use a utility like decode-dimms to read the SPD EEPROM of your system’s RAM DIMM modules.

But it does not work, and checking the kernel messages, you see:

[    1.457863] i801_smbus 0000:00:1f.3: enabling device (0001 -> 0003)
[    1.457945] ACPI Warning: SystemIO range 0x0000000000000400-0x000000000000041F conflicts with OpRegion 0x0000000000000400-0x000000000000040F (\SMRG) (20160831/utaddress-247)
[    1.458063] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver

In this case, the Intel 82801 SMBus driver is attempting to load, finding that the ACPI SMRG (System Management Region) has already claimed part or all of the SMBus I/O range, and failing due to strict ACPI resource enforcement. (In the general case, this will be true of whatever driver is attempting enablement immediately preceding the ACPI messages.)

To work around this and accept the risk of system instability, add the acpi_enforce_resources=lax parameter to your kernel command line and reboot.

Afterwards you will see two extra lines in the output:

[    1.457863] i801_smbus 0000:00:1f.3: enabling device (0001 -> 0003)
[    1.457945] ACPI Warning: SystemIO range 0x0000000000000400-0x000000000000041F conflicts with OpRegion 0x0000000000000400-0x000000000000040F (\SMRG) (20160831/utaddress-247)
[    1.458031] ACPI: This conflict may cause random problems and system instability
[    1.458063] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    1.458110] i801_smbus 0000:00:1f.3: SMBus using PCI interrupt

The third line is new and appears advisory, but it is actually advising that the device is being enabled despite the risk of instability posed by two kernel drivers owning the same I/O region. The fifth line is from the driver that was attempting to load and its appearance means that it has proceeded to load.

While this parameter might bypass SMBus conflicts in particular, allowing a utility like decode-dimms to offer functionality not offered by the ACPI BIOS that first claimed that I/O region, it will also bypass this conflict for any device affected by ownership by the ACPI BIOS that would prevent a driver from loading.