HP Laptop Audio Hack Part 1

So I’ve had my friend’s laptop for some time and now that I’m through with school I can finally make good on my promise to attempt to finally solve his long standing audio problems. On his HP dv2500 laptop, the sound only works intermittently.  We’ve tried all manner of driver fixes to no avail. Finally, one day I half joking suggested we just bypass the entire on-board audio. My idea at first was actually to make use of the on-board power amplifier and just ignore the audio codec IC.  Ultimately I thought it wiser to just take everything on-board out of the equation and come up with a solution where I wire up the built-in speakers to a little audio amplifier board which is fed by a USB sound card.

TS2012 Audo Amplifier

Adafruit TS2012 Audo Amplifier

The USB sound card I opted for is a small guy from Sabrent. They have since updated it, but that’s par for the course — these kind of products are always being revised.

Sabrent USB-SBCV USB Adapter

Sabrent USB-SBCV Sound Adapter

When I got the adapter I promptly removed the case to see just how much size I would be attempting to stuff into the cavity of a laptop. Basically what I am looking to do is remove the USB A connector and solder it directly to one of the ports on the motherboard.  We could have elected to get a USB hub so he doesn’t lose a USB port but my customer said he didn’t really care about the lost port, more about having functional audio.

One issue I have certainly faced before is extending USB cables. You can read up a on USB cabling and signaling at Wikipedia though what you won’t really come away with from that article  is the fact that USB is not really tolerant of hacky wiring jobs — it’s a sophisticated differential signaling scheme. Some care and dare I say engineering might be involved in this project.

Despite being a tight fit, the WIFI area looks like the best location to stick the USB Sound Adapter, its roughly 100mm/4inch’s away from the nearest USB port and basically as close as I can get. Well, if we ditched the optical drive and stuck it in there that would be even closer but I doubt he’d want that! The added benefit of putting it here is the opposite side only has one USB port; hijacking that port would be inconvenient since only one side of the laptop would then have an available USB port.

Dismantled Sabrent Sound Adapter

Dismantled Sabrent Sound Adapter

One of the interesting issues I’m going to have is what to do about the buttons. I wonder if taking them off the board and replacing them with leads to buttons attached to the laptop chassis somewhere will introduce noise?

Here is what the laptop looks like, half dismantled:

HP dv2500 Laptop

HP dv2500 Laptop

I was thinking to put my ‘added components’ in either the bluetooth area (empty except for the CMOS battery), RAM area, or Wifi area.  Here is the underside:

HP dv2500 underside

HP dv2500 underside

Fitting the sound adapter

Fitting the sound adapter

If I do put the USB sound adapter in here, I’m going to have to get creative with the capacitors, LEDs, and 1/8th inch stereo jacks. There is not much room here.

For now, I am waiting on the Adafruit TS2012 audio amp to come in. I ordered two in the event that I nuke one in this project.  I doubt I will though, so I’m planning on making a my own little cell-phone amp/speaker device out of the spare in the future.

, , , ,

Virtualization issues with Old Hardware

Today I was working to create a Virtual Machine using Oracle VM VirtualBox so I could test a Windows 8.1 64 bit ISO. I have it installed on my Sony Vaio that is running an Intel Core 2 Duo T6600 Processor. Previously I had installed the 64 bit version of Windows 8.1 on this laptop so it does support a 64 bit operating system but I still could not create a 64 bit Virtual Machine. After some basic research on Google about the T6600 Processor and about Virtual Machines and how virtualization plays a role in them I found that this processor does not support virtualization and with out that support you can not create 64 bit Virtual Machines. Likewise if you are running Windows 8 you will not be able to enable Hyper-V (which comes installed with windows 8 and 8.1) because the processor lacks the support for virtualization.  Carl also had trouble with VMs on old hardware.

So that was Dan’s experience, I had problems too but I was trying something a little different.  I have an old AMD 64 3000+ based system on which I was hoping to set up a bare-metal hypervisor, mainly because I had never done so and thought it would be cool to learn for my own purposes and potentially beneficial for the new job I just started as a System Administrator.  Anyway, the hypervisors I am aware of are Microsoft’s Hyper-V (both as a role in Server and as a standalone), VMware’s vSphere, and the Linux based solutions KVM and Xen. My main issue was the ASRock 939Dual-SATA2 motherboard which uses a ULI chipset which in the Windows world only ever had drivers for XP and Vista.  Server 2012 wouldn’t even attempt to install, and after a few hours of monkeying around in the bios settings, actually flashing a new verison of the bios, I finally gave in and installed Server 2008 Core install.  Well it installed, but I had no networking! Presumably the ULI chipset having no drivers is probably why the onboard as well as PCI network cards are unrecognized by windows.   Confronted with a windows command shell and no networking and the grim prosepect of learning how to install Windows drivers at the command shell, I threw in the towel and moved on.  Next I tried vSphere … same thing! OK so why didn’t I try Linux from the get go? I don’t know.

XenServer LogoFinally I elected to get XenServer. Of course, again probably due to using archaic hardware, it would not install.  It did however get to the point where it was searching for installation media and could not find the local source, so it offered the option to install via FTP/HTTP/NFS. I elected to quickly set up a FTP server on my desktop and try it that way.  I did so on Ubuntu by installing vsftpd. All I needed to do was to modify a line in it’s config file /etc/vsftpd.conf :

# Let local users login
# If you connect from the internet with local users, you should enable TLS/SSL/FTPS

After which I was able to point my XenServer installer to where I extracted the XenServer ISO under my user’s home and give it my normal login credentials. Worked like a charm!  After which I just removed the FTP server.  Next time we’re going to actually set up some VMs in XenServer.

, , , , , ,