Archive for the ‘PC Hardware/Consumer Electronics’ Category

Notes on repairing a blown OCZ ModXStream Pro PC power supply

Saturday, July 2nd, 2016

A little while ago, this power supply that I purchased in 2011 blew up and in doing so, tripped the building breaker it was connected to through the APC Smart-UPS 1000 it was connected to.  With a little work, I was able to repair it.

There were some mistakes in the design, resulting in what appears to be planned obsolescence judging from the recent barrage of customer reviews complaining about failures, but this series of OCZ power supplies (including 500W, 600W and 700W units) are of reasonable quality (using presumably authentic Teapo capacitors, with the exception of the questionable main filter capacitor) and should last quite a few more years.

This repair diary including partial schematic and this message board thread give the basic background on the failure mode and repair.  If your model is one which has an internal fuse like mine, you are probably in luck as the blown fuse prevented further damage.  Otherwise, you have more components to check and likely more work to do.

(more…)

Help! My pre-UVC USB webcam doesn’t actually work on the Web!

Saturday, April 23rd, 2016

I encountered a bit of trouble using an old Creative Webcam 3 USB with a website that wanted to capture video from it.  This camera uses an OmniVision OV511+ controller and had never been any trouble to use even with Linux.  However, attempting to use it via the browser produced a message that access to the camera was denied.

The first thing to check was permissions on the /dev/video0 device. I found that the user was not in the video group that was required to access the device by default. However, granting this permission and restarting the login session was still not enough.

It turns out that a characteristic of the USB Video Class (UVC) standard is that only video frames with certain pixel encodings can be generated by compliant devices. Whether due to this narrow scope or for other reasons, the WebRTC standard, which provides access to cameras via HTML5-compliant web browsers, only incorporated support for a relatively small number of pixel encodings, and browsers using the WebRTC library therefore only implement support for, at most, that subset of possible pixel encodings.

For example, Chrome (and any other browser which uses the WebRTC library) only supports decoding just a handful of the dozens of raw pixel formats, many vendor-specific, that are supported by the Video4Linux2 API.

Unfortunately, one of those vendor-specific pixel formats that is not supported by the WebRTC layer is the O511 pixel format generated by the OV511+ chip in the Creative Webcam 3 USB. This can be confirmed like so:


$ lsusb
Bus 001 Device 010: ID 05a9:a511 OmniVision Technologies, Inc. OV511+ Webcam
$ v4l2-ctl --all -d /dev/video0
[..]
Format Video Capture:
   Width/Height  : 640/480
   Pixel Format  : 'O511'

Okay, so what can be done? Fortunately, V4L2 developers provided a compatibility wrapper that will convert frames from esoteric pixel formats on-the-fly to the much more widely supported BGR42/YUV420 pixel formats. The wrapper is loaded using LD_PRELOAD before the browser is launched, e.g:

$ LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so firefox
$ LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so chromium-browser

If your distribution is multiarch, the library will be under /usr/lib/x86_64-linux-gnu or similar.

My Nexus 5 has an erratic touch screen that jumps all over the place

Sunday, January 17th, 2016

Symptom: The Nexus 5 Android smartphone occasionally registers touchscreen clicks in the wrong place or when a click was not requested.  Turning the screen off and back on in a normal touchscreen recalibration maneuver does not prevent it from recurring.

Solution: Unplug the Nexus 5 from the USB charging cable while using it, or use a ferrite core USB charger cable (the kind with a round “wart” on the cable). Don’t replace your touch screen, as some users have mistakenly done!

Long answer: An erratic touchpad that seems to jump all over the screen is a problem with electromagnetic interference when the Nexus 5 is connected to a USB charger. There is a long Google bug thread here. The problem will not be fixed.

Just Your Average Linux WiFi Adventure

Sunday, February 1st, 2015

The goal seemed simple enough.  An existing Linux router with a 2.4GHz TP-Link TL-WN822N v2.0 802.11N USB dongle in AP mode was serving a home network consisting of a mix of devices capable of 2.4GHz and 5GHz operation.  Almost two dozen reachable 2.4GHz networks were nearby, a situation that took the blame for a great deal of wireless dropouts and sluggish performance.  Since by comparison only a few 5GHz networks were penetrating the apartment, adding a USB Edimax EW-7822UAC was the goal, to add 5GHz 802.11AC capability to the router in a bridged configuration with the existing connection.  Well, things always sound simple in concept… (more…)

Setup Chromecast With Transcoding UPnP Media Server Located On A Different Network

Saturday, August 30th, 2014

Here are some notes on my configuration that allows the following:

  • Chromecast on wireless subnet to play video
  • Smartphone(s) on wireless subnet using Avia/BubbleUPnP to select video and control Chromecast
  • Mediatomb Linux server, on a different network segment, transcoding any video format to Chromecast format in realtime
  • Linux router at the center with wired and wireless connections

(more…)

Why does USB lock up my system with the Intel Providence PR440FX motherboard?

Tuesday, December 10th, 2013

In short it’s because the BIOS routes IRQ lines incorrectly in IO-APIC mode.  Disable IO-APIC mode if you want to use the onboard USB on a PR440FX motherboard.

See the following links.

(more…)

Matrox G200 (SE) in SR2600 server fails to start X server on CentOS 5

Tuesday, December 10th, 2013

On CentOS 5 (and possibly the corresponding RHEL), the Matrox G200 driver fails when using an embedded G200SE on a SR2600 server.  If you run the X server under gdb or look at the last lines of the Xorg.0.log output, you can see that the X server stopped loading due to the mga_drv.so driver module producing a segmentation fault.  The segmentation fault is due to incorrect probing of the available memory size.

(more…)

Using cgminer’s OpenCL interface with ATI HD 4850 video card

Wednesday, November 6th, 2013

The problem:  Older versions of AMD’s APP (Accelerated Parallel Processing) OpenCL SDK are recommended for use with older Radeon chipsets, but produce segmentation faults in string handling code or other inoperability when used with newer Linux distributions.  Version 2.4 through 2.6 exhibit the problem.  However, version 2.8 does not support, probably among others, the RV770 chipset used in the HD 4850.

The solution:  Use version 2.7 of AMD’s APP when using cgminer with an ATI HD 4850 video card on current Linux distributions.

Upgrade Cisco Aironet 340/350 16-bit PCMCIA Card WPA Firmware For Linux

Friday, March 29th, 2013

To get an Aironet 16-bit PCMCIA card working with the WPA-supported drivers, the firmware must be upgraded.

I found it was difficult to do this, so I put together a live CD that accomplishes it.  It has a few bugs but will work.  You will need a Windows 98 Second Edition CD handy in order to supply files that are not in the live CD image.  The firmware will be version 5.30.17 which is not the latest but is good enough to support WPA with the Linux driver.  (With an XP live CD you could install the latest 5.60.22 firmware, if XP will run on your laptop you are using this old 16-bit card on, and if you have some other media on which to access the drivers while the BartPE or other XP livecd is inserted.)

(more…)

HP Pavilion dv2700 (dv2910us) Laptop Repair/Upgrade Guide

Tuesday, January 1st, 2013

I have been using a HP Pavilion dv2910us (dv2700 series) notebook computer for the last four years and wanted to share some repair and upgrade tips.
(more…)