I encountered an unfortunate problem today while servicing a clients network. I use an old Dell Latitude D630 laptop. when I’m on the road servicing clients networks. At some point I had ran windows 10 updates and during the updates Windows 10 updated the driver (or the existing driver become no longer compatible with the new Windows 10 updates). Either way the Gigabit ethernet quit working, which prior to one of the udpates it had been working

The ethernet card is a Broadcom NetXtreme 57xx. It’s old. The laptop and the ethernet controller are no longer supported by Dell. I tried going to Broadcom’s website and downloading the latest driver (version as of this writing). No luck, it still didn’t work.

Doing some research on Google indicated that an older Windows 7 driver would work, Broadcom NetXtreme 57xx driver version Dell didn’t have this driver, but the HP site did! I took a chance and installed the HP driver, and sure enough the Ethernet controller started working. My system is on WIndows 10 64bit, I’m sure the 32 bit driver will fix the problems on 32 bit machines as well.

Here is the link to the Broadcom NetXtreme 57xx driver version 14.2.05 on HP’s website (as of 1/7/2016, the link goes to the 64 bit driver)

If for some reason that link is no longer good in the future, you may have to do a google search for it. Other 14.x versions may work, I have no idea. And hopefully some day Broadcom will update the latest driver to work.

The JVC KD-HDR70 Car Stereo Installed in my Chevrolet C10

The JVC KD-HDR70 Car Stereo Installed in my Chevrolet C10

A few months ago, I removed my old Chevrolet Inline 6 cylinder motor, and installed a Chevy 350 V8 into my 1963 Chevrolet C10. Immediately after installing the 350, I noticed my aftermarket JVC head unit would not work properly. When ever the motor was running, the sound would cut in and out, making the stereo virtually impossible to listen to. Some people describe this noise as a ‘popping’ noise, but my experience was that the sound was just going in and out.

After hours of research, most people said to check my grounds for the stereo, battery, and motor. I cleaned up all my grounds, and the problem still persisted. Further research hinted that I might be getting interference from the HEI distributor. RadioShack sells Ferrite Core Filters, that snap over the power wires which are affected by the EMF. Honestly, I don’t fully understand how they work, but they some how clean up the EMF interference in electrical current. I went to RadioShack, and found part number 273-0067 which contains 2 Ferrite Filters.  I purchased two of them (for a total of four filters). I installed 2 filters on each power wire on the stereo. When you do this make sure you install the filters as close to the stereo connector as possible. There should be one power wire which is constantly hot (usually red), and a second power wire which is only hot when key is turned to the accessory position or the engine is running (on my JVC this wire was Yellow). Installing these filters helped a little, though it didn’t completely solve the problem. It did however confirm that the problem was probably coming from EMF interference from the distributor.

Discovering this, I decided to trace my distributor wiring, and discovered both the Tach and  Power wire ran from the HEI Distributor, through the firewall and under the dash …. RIGHT ABOVE THE STEREO. I knew I was on to something. I disconnected the wire to the tach from the distributor, and the problem virtually went away. The Tach wire was causing some kind of interference. I also suspected the power wire my be contributing to the problem as well.

Due to lack of time and motiviation, instead of rerouting the wires away from the stereo, I decided to come up with a temporary solution and wrap the wires in aluminum foil to see if it would shield the EMF coming from the HEI Tach and Power wires and clean up the sound on the stereo. After wrapping the wires in foil, and then wrapping that up with electrical tape to hold it all together, combined with the Ferrite Filters the choppy sound from the stereo was about 99% gone.

The correct way to fix this would be to re-route the wiring so it does not come near the stereo, and continue to use the Ferrite Filters on the stereo power wires, but for the time being this solution is working. I hope this helps anyone else who is experiencing this problem. Searching on Google results in tons of these reported problems, but few answers.

Here are a few pictures to detail what I did:

Radioshack Ferrite Core EMF Noise Filter 273-0067

Radioshack Ferrite Core EMF Noise Filter 273-0067. Unfortunately I forgot to take a picture before opening the packages, so this one has been torn open.

Ferrite Core EMF Noise Filter

Ferrite Core EMF Noise Filter. Here is the Radioshack Ferrite Core Choke Filter opened. As you can see it simply clamps over the power wire.

Ferrite Core Noise Filter Installed on Stereo

The Ferrite Core Noise Filters installed on the stereo power wires. I installed 2 filters on each power wire. The red power wire is the constant hot, and the yellow power wire is only hot when the car is on. Both wires needed the filters, however it made only a small difference.

I tried using Aluminum Foil as EMF Shielding over the the HEI Distributor power wire and the tachomoeter wire. Surprising this actually worked. After this photo was taken, I wrapped electrical tape around the foild too, to hold everhything together. At some point in the future I will remove all this, and simply reroute the distrubtor wires away from the stereo.

I tried using Aluminum Foil as EMF Shielding over the the HEI Distributor power wire and the tachometer wire. Surprising this actually worked. After this photo was taken, I wrapped electrical tape around the foild too, to hold everything together. At some point in the future I will remove all this, and simply reroute the distributor wires away from the stereo.


GM's replacement PCV valve for low manifold vacuum 12572717 is also made by other companies such as BWD

GM’s replacement PCV valve for low manifold vacuum part number 12572717 is also made by other companies such as BWD

Recently I replaced my tired old Inline 6 cylinder in my 1963 C10 with a used 350 crate motor. The previous owner has put a fairly ‘large’ cam in it, and it has that aggresive ‘lopy’ idle that we all want. While it sounds great, cams like this create very low vacuum at idle, which introduce other problems.

Chances are that if you are reading this post, it is because you are having a hard time finding a PCV valve that will operate correctly with low manifold vacuum. Try using a standard PCV valve with low vacuum, and you can hear an annoying clicking or ticking noise. This is caused by the valve not fully opening as there is not enough vacuum to do so. This may create other problems as you may not be extracting all the crank case gasses building up in the engine, which the PCV was designed to do. While there are a few options out there to solve this problem, I was surprised I was never able to find a specific ‘high performance’ or aftermarket PCV valve for low manifold vacuum motors. Most people recommend getting a PCV valve from an early to mid 60’s high performance car, such as the corvette which came from the factory with low manifold vacuum.

Upon further research, I discovered that not many years ago, GM released a PCV valve … which isn’t really really a valve at all. It’s just the PCV housing, with all the guts removed and is hollow in side. The bottom side has a pin hole, much smaller than standard PCV valves. The GM part number for this PCV is 12572717, and you’ve probably seen this referenced all over the internet while doing your search. I went to my local Advanced Auto Parts store, and while they didn’t have the GM brand, they did have the exact same part made by a company called BWD, and it is part number PCV484. It cost me just under $8, and made a huge difference in my motor. Because the inlet hole is so small, it actually helped bump up my manifold vacuum, and now I feel safe that the crank case gas build up is being removed safely with out me having to worry about. It fits right into my Chevy Small Block 350 as any PCV would do.

Here are a couple more photos of this PCV valve

BWD PCV484 is a replacement for GM 12572717 and is available at Advanced Auto

BWD PCV484 is a replacement for GM 12572717 and is available at Advanced Auto

As you can see, the inside is completely hollow. The valve part of the PCV has been removed, and air flow is restricted by the pin hole inlet at the bottom

As you can see, the inside is completely hollow. The valve part of the PCV has been removed, and air flow is restricted by the pin hole inlet at the bottom

Here you can see how small the PCV inlet hole is. This restricts the air flow, helping boost your manifold vacuum, but still allowing the intake vacuum to suck up crank case gasses.

Here you can see how small the PCV inlet hole is. This restricts the air flow, helping boost your manifold vacuum, but still allowing the intake vacuum to suck up crank case gasses.


1998 Dodge Viper Turn Signal & Hazard Flasher Module

The OEM Chrysler Turn Signal & Hazard Flasher Module

The turn signals and hazard lights quit working on my 1998 Dodge Viper recently. Following the directions in the service manual to diagnose the problem, I discovered it was the Turn Signal / Hazard Flasher module located where the fuse box is under the steering wheel. Unfortunately, you have to pull the whole dash panel off under the steering wheel to get to this module as it is not accessible from just removing the fuse box panel cover. Thankfully it’s only about 5 or 6 screws you have to remove and the whole dash panel comes off.

I looked around for a replacement Turn Signal  / Hazard Flasher module, and all I could find were very expensive MOPAR / Chrysler replacements. The part number of the Chrysler Flasher Module is 56007098 and they range anywhere from $30 – $45 on eBay and other online sites. I figured there had to be a cheaper module available that was a reproduction brand from another company, after all I was certain this Flasher module would be used in other Chrysler & Dodge cars as well.

Sure enough after some searching by a determined employee at Advanced Auto Parts, we found a replacement module made by Novita (Part number EP27), and cost only $15.99. It is a 5 terminal, 11-15v DC flasher module. I just installed it an my turn signals are working once again on my Dodge Viper.

While finishing the CAST-128 cipher for phpCrypt, I think I discovered a bug in mcrypt’s CAST-128 implementation. When testing mCrypt CAST-128 implementation against the CAST-128 test vectors at http://tools.ietf.org/html/rfc2144, I noticed that when using 40 and 80 bit keys, the cipher text does not match the test vectors. 128 bit keys seem to work fine, unless the key is null padded to 128 bits, in which case it isn’t working. I took a little look into the mCrypt CAST-128 source, and I think it may be coming from _mcrypt_set_key() in cast-128.c. In any case I’m too busy to really track it down. I thought I’d just post that as maybe someone else will read this and take the time to look into it.

Now the good news! Because phpCrypt does not rely on mCrypt or any other PHP extensions, this is not an issue with phpCrypt. I finished CAST-128 for phpCrypt and pushed the latest changes to the phpCrypt GitHub repository. The CAST-128 implementation in phpCrypt returns the proper cipher text for all the test vectors and will be included in the next version 0.5.

phpCrypt version 0.4 was released late last night. It includes support for the 3-Way cipher. Another big addition is support for secure random number generation on Windows using the Microsoft’s CAPICOM SDK. This will create Initialization Vectors which are more secure than in previous releases on the Windows platform. Prior to version 0.4 Windows users had to rely on PHP’s mt_rand() function for random numbers. View the README file included with phpCrypt for more information.

In addition, several bug fixes and minor speed improvements were made to the library. This version is still considered ‘experimental’ and is not ready for production.

I’m considering freezing this version for a while, and let feedback roll in so I can address issues and implement feature requests.

Chances are that you stumbled onto this page because Linux is freezing, crashing, and randomly rebooting on you, and you can’t figure out why. There is a strong chance that the reason this is happening is because the ACPI (Advanced Configuration and Power Interface) and APIC (Advanced Programmable Interrupt Controller) implementation on your motherboard is buggy, and Linux can not properly communicate with them. On any modern PC, ACPI and APIC are standard, and most have no way to shut them off in the BIOS. To make matters worse, many implementations of these by BIOS manufacturers are buggy and do not meet the specifications properly.

What is ACPI and APIC?

Most of my readers who have found this page already know what these are and what they do, they just want a solution to fixing the problem. I won’t write a detailed explanation about what ACPI and APIC do, rather I will point you to some resources for you to get a better explanation:

http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface – An explanation of ACPI

http://en.wikipedia.org/wiki/Advanced_Programmable_Interrupt_Controller – An Explanation of APIC

http://support.novell.com/techcenter/sdb/en/2002/10/81_acpi.html – Linux Kernel boot parameters for ACPI and APIC

The Cause

If your Linux box is freezing, crashing, or rebooting because of ACPI or APIC, this isn’t the fault of Linux. As far as I can tell from my research Linux properly implements ACPI and APIC, and the implementation on your BIOS is buggy. Of course, in Windows these buggy implementations are often accounted for, leaving the BIOS manufacturers with little reason to correct their errors. This is where we run into problem in Linux

So how can you fix the problem?

The first thing you should do to correct the problem is to check the maker of your PC or Laptop and see if there is a BIOS update. If there is an updated BIOS try this first and see if it fixes your problem. I have read where this helped some people. Personally though I have never been this lucky

A BIOS update did not work, now what?

If you have the latest BIOS, or the BIOS update did not fix the problem, your only other option is to  disable ACPI and APIC from loading during the Linux boot. This is not the ideal as APIC and APIC, when working, are very beneficial to your computer. However using a computer that freezes, reboots, and crashes is even worse.

What you have to do to turn off ACPI and APIC in Linux is pass kernel boot parameters to the Kernel at boot time. This is done by modifing your boot loader GRUB or LILO. This article will not get into detail on how to modify your GRUB or LILO configuration, however I will explain which parameters to pass to your Linux kernel.

The four Kernel parameter options you will be concerned with are:

  • noapic – Turn of the System APIC
  • lapic – Turn on Local APIC
  • nolapic – Turn off Local APIC
  • acpi=[off | ht ] – Turn off ACPI completely by using acpi=off, or partially shut off ACPI leaving on your processors Hyperthreading on by using acpi=ht

On single processor machines you can fully disable ACPI and APIC by passing kernel boot parameters:

  • noapic nolapic acpi=ht

The above parameters tell Linux to not load the APIC and Local APIC kernel modules, and only load ACPI so that it enables the Hyperthreading on your processor

On a dual core, quad core, or multiprocessor machine, you want to make sure you enable Local APIC. Local APIC has some kind of control over your Multiprocessor machine. If you shut off Local APIC on an multi-core or multiprocessor machine, you will only see one processor available.  Use the following Kernel parameters:

  • noapic lapic acpi=ht

Well that’s about the best I can explain it. Hopefully this helps you, or at the very least gets you some starting point to fixing your Linux problems.


After many months (technically years) of working on phpCrypt, I am finally happy to announce a Beta version of phpCrypt is finally ready for the public. phpCrypt is an Open Source PHP Encryption library that does not require or use any external PHP modules. phpCrypt does not use mCrypt or OpenSSL PHP modules. phpCrypt was written from scratch using freely available resources online and in books, to help me better understand and learn encryption. It’s not as fast as the mCrypt module because phpCrypt is written in PHP, however if you are in a situation where you can not use the mCrypt library phpCrypt should be a suitable alternative.

phpCrypt aims to support every major encryption cipher, as well as major encryption modes. Also included are some older, historic encryption ciphers, which I implemented when I was bored.

Please note that this release is a beta release. I have not had the chance to test it thoroughly, so I am hoping others will give phpCrypt a shot, and report back what you think. The project is under active development, and I will respond to bug fixes as soon as possible.

Visit the phpCrypt website for more information, and to download the library

Chances are if you found this page, it’s because you locked yourself out of Windows 7 and forgot the password to log back into your account. There are many ways to reset your password including several software applications that can do the job. However, I have found the easiest way (and free!) is as follows:

  1. Get your Windows 7 installation disk. If you don’t have one, you can download a free copy of the Windows Install disk here and burn it to DVD:
    Windows 7 32-Bit (x86) Direct Download Links
    Windows 7 64-Bit (x64) Direct Download Links
  2. Insert your Windows 7 Install disk in your CD/DVD drive, reboot your computer, and boot off the DVD.
  3. When the Windows 7 install screen comes up, click the link that says ‘Repair Windows‘ near the bottom left hand side.
  4. A new screen appears with several repair options, select the one that says ‘Command Prompt’
  5. When the command prompt opens, you will be in the X:\ drive. This is the Install DVD and not your Windows System. You need to find where your Windows 7 is installed. It may be C:\, however it is not uncommon for the Repair Disk to place it as drive letter D:\ or another drive letter. Search drive letters until you find one that has the Windows directory. For demonstration purpose I will use D:\ in this article. So if D:\ is your Windows installation drive, then you will have the following directory D:\Windows
  6. Now you are going to make a copy of the Sticky Keys application, because we are going to copy over it later. To make a copy of Sticky Keys run the following comand:
    X:\> copy D:\Windows\System32\sethc.exe D:\
  7. Now we are going to copy the Command Prompt cmd.exe over the Sticky Keys appliction. To do this run the following command:
    C:\> copy D:\Windows\System32\cmd.exe D:\Windows\System32\sethc.exe
  8. You’re now done with the Command Prompt and Repair Mode. Reboot your computer and remove the Windows 7 DVD.
  9. When the computer reboots, it will boot back up as normal into your login screen. Now press your shift key 5 times. The Command Prompt will open up.
  10. Run the following command in the Command Prompt:
    C:\> net user [your_login_name] [your_new_password]
    *Please Note that [your_login_name] is the login name you are resetting the passworld for, and [your_new_password] is the password you want to set for the login name.
  11. Close the command prompt, and now login with your new password! Once you are logged into your account, don’t forget to copy the sethc.exe back to it’s original location.
    C:\> copy C:\sethc.exe C:\Windows\System32\sethc.exe

That’s it. You are done! You can now begin logging in with your new password.

If you live in the Northern Virginia area and are not comfortable doing this yourself, I will do it for you. Visit my computer repair website at Nova Computing for more information.

Tonight I wanted to write a quick guide how to figure out how AN hoses and fittings are sized. You’ve probably seen things like “-6 AN hose” and wondered what does that mean?

Well figuring out AN sizes is fairly simple. The AN size number such as -4 AN or -6 AN, etc. relates to 1/16 of an inch, and is measured on fittings and hoses from the I.D. (inside diameter).

Here is a quick reference guide to figure out common AN sizes:

  • -2 AN = 1/8 inch (0.125″)
  • -3 AN = 3/16 inch (0.1875″)
  • -4 AN = 1/4 inch (0.25″)
  • -5 AN = 5/16 inch (0.3125″)
  • -6 AN = 3/8 inch (0.375″)
  • -7 AN = 7/16 inch (0.4375″)
  • -8 AN = 1/2 inch (0.50″)
  • -9 AN = 9/16 inch (0.5625″)
  • -10 AN = 5/8 inch (0.625″)
  • -11 AN = 11/16 inch (0.6875″)
  • -12 AN = 3/4 inch (0.75″)
  • -14 AN = 7/8 inch (0.875″)
  • -16 AN = 1 inch (1.00″)
  • -18 AN = 1-1/8 inch (1.125″)
  • -20 AN = 1-1/4 inch (1.25″)

So to sum it up, simply take the AN number such as -6 AN, and turn it into a fraction of 1/16. In this case -6 AN = 6/16 = 3/8 inch. Basically a -6 AN hose is the same as a 3/8 inch hose.