HP LaserJet 3005 Series Nightmares!

If you haven’t had the pleasure of working with HP’s LaserJet P3005 series of printers, do yourself a favor and never go near them. I have a customer in the banking industry that has an office full of these, and each one is more fun than the next. The issues range from overall system performance degradation during printing, to long pauses between pages. For the most part reinstalling the original software makes little or no difference. So far I have seen the majority of issues come from printers attached to systems via USB, but please note that I have seen issues on network and parallel models as well. Regardless of how you connect to your printer the following steps should get you headed in the right direction.Step 1: Remove current drivers

This step is pretty self explanatory, unplug the USB cable and then go into Add/Remove Programs and uninstall all software related to your printer. Once this is completed reboot your system and make sure that the printer is no longer listed in Printers & Faxes.

Note: Sometimes all issues are resolved in step 2 so uninstalling is just a precautionary step. In some cases I would recommend performing step 2 prior to step 1.

Step 2: Update the printers firmware

Most if not all of the issues with these printers are caused by their earlier firmware revisions. Go to the product page for the P3005 series printers here and get the latest firmware for your respective printer model. Extract the download and read over the instructions provided. There are several different ways to transfer the firmware to your device depending on the model:

Method 1: If your printer has a network jack, you can FTP to the device’s IP address and use the Put command to transfer the firmware file to the device. Once the transfer is complete the printer will restart and eventually display Ready on the display.

Method 2: Another way to send the firmware update is to open up your browser and enter in the device’s IP address. From the main screen click on the print option in the lower left hand corner. This should take you to a page that is normally used to upload print jobs directly to the printer. Click on browse and choose the firmware file and start the upload. Once again the printer should restart after several seconds and go to the Ready status.

Method 3: If your best or only choice is to use your parallel port don’t fret, it is quite simple. Copy the firmware to the root of your C:\ drive. Open up the command prompt and use the CD \ command to traverse to the root of the drive. Use the following command to transfer the firmware to your printer:

copy /b yourfirmwarehere.fru lpt1 and press enter.

Step 3: Reinstall Drivers / Software

Download the latest drivers for your printer here and then begin the install. Choose the basic install and then accept all of the default setup prompts. After the install has completed, restart the computer and test the printer.

Special Note: While upgrading a P3005dn using the file upload method, the printer froze, gave some random error code and restarted. After power cycling the device numerous times, I kept getting an error stating that I should download the firmware to the printer again. The difficulty in this situation was that the unit had two interfaces: USB and Ethernet. The Ethernet interface was not loading due to the corrupt firmware load and doing the firmware update via USB was not detailed anywhere that I could find. In this scenario the printer was not uninstalled prior to attempting the upgrade. Share your printer if it isn’t already, write down your computer name and the printer share name. From this point forward just use a slightly different command similar to the lpt1 method mentioned in step 3 by running this from the command line:

copy /b yourfirmwarehere.fru \\computername\printersharename

This should take care of re-sending the firmware to the printer.


Exchange Outbound SMTP Smart Hosting

There are countless situations in which you might not want to send email via SMTP directly from your site. Maybe you aren’t familiar with PTR’s and A records, or maybe your IP has been blocked / banned via your ISP or some external RBL. If your mail host allows you to use their server as a smart host, you can avoid most of these worries. Up until recently most mail traveled to and from servers and clients using the SMTP protocol which runs on 25 (TCP). Several mail hosts and ISP’s are now requesting or flat out requiring that the mail be submitted to their servers using the more modern mail submission port which is 587 (TCP). For more information on this please see this link. In order to successfully complete this how-to, you must get in touch with your mail host and see which port they want mail submitted on.

I will use port 587 in this example since this is what my mail hosting company requires.

Step 1: Configure Exchange to use the desired port

Open up the Exchange System Manager and expand Servers, Your Server, Protocols, SMTP. Expand SMTP and right click / properties on the Default SMTP Server. Go to the Delivery tab and then click on Outbound Connections. The last box is the port that Exchange is currently configured to send mail on. Once again, for my mail host port 587 is required. Click OK until you get back to main window of Exchange System Manager.

Step 2: Create an SMTP Connector to route mail

Right click on the Connectors folder and choose New -> SMTP Connector. Name the new connector and then choose the option to “Forward all mail through this connector to the following smart hosts.” Now enter in the hostname provided to you by your hosting company. This is usually the same as the outbound mail server that you would configure in your mail client. Under local bridgeheads click add. Select your Exchange server and click OK. Next, select the Address Space tab and click add. Choose SMTP and click OK. Leaving the default email domain of * and the default cost of 1 should be sufficient depending on your Exchange configuration. Click OK after confirming these defaults.

From here we need to configure outbound authentication. Select the advanced tab and click on Outbound Security. Click on “Basic authentication password is sent in clear text” and then click Modify. Enter in the username and password that was given to you by your mail host. Hit OK until you are back down to the main Exchange System Manager window.

Step 3: Verify the configuration

Start by going to start run and typing in services.msc. Locate the Simple Mail Transfer Protocol server and restart it. Now open up Exchange System Manager again and expand Servers, Your server name, Queues. Send a few test email messages from a client machine and watch the queues. If you see domains that were recently sent to showing a ready state all should be well. If you see domains that have a retry status and messages piling up there is an issue somewhere. Go back through all of the settings mentioned above and look for typo’s, misspellings, and other possible obvious points of failure in the configuration. Double check with your mail host and be sure that you are using the correct information.

NOTE: After correcting any issues found, right click on the failed queues and try forcing the connection. It is sometimes necessary to right click each domain and find messages and then delete them.


Terminal Services Audio Mapping

I am often asked how to enable audio mapping (audio redirection) for Terminal Services users. Configuring audio mapping is quite simple. A small configuration on the server and client is all that is necessary.

Step 1: Enable Audio Mapping on the Terminal Server

On the terminal server go to Start -> Administrative Tools -> Terminal Services Configuration. Select Connections on the left pane and then right click and get properties on the RDP-Tcp connection within the right pane. Click on the client settings tab and under Disable the following, uncheck audio mapping. Hit OK and then close the Terminal Services Configuration windows. Important note, these changes will only take effect for RDP sessions created after the configuration changes are applied.

Step 2: Verify client settings

On the client PC open the remote desktop connection. Click on Options and then select the Local Resources tab. Make sure that the Remote Computer Sound option is set to “Bring to this computer”.

Sounds produced on the terminal server should now be redirected to the client PC.


Command Line Scheduling

I am going to go over some of the basic at command usage and some real world examples of its usage.

at – Run without any switches the program will display scheduled items or inform you that there aren’t any scheduled jobs.
at /delete – Using the /delete switch will make the command prompt you to delete all current entries.
at ID /delete – Using the job ID and the delete switch, the program will clear the specified ID/entry without prompting.
at time command – This is the most common way schedule a single task which will run once.
at time /every:X command – Same as above plus a recurring job based on X, which can indicate a day of the week or month.

I use the at command every day since it is a very simple and effective tool. Below are some common scenarios where you might use at

I often perform maintenance such as Windows Updates which require a reboot but I cannot reboot the server to apply the updates. In this fairly common scenario the solution is very easy, a scheduled reboot. To perform a reboot from the command line of a Windows 2003 server you would run “shutdown -r” and press enter. If you wanted to do this at 3:00am you would simply run “at 3:00 shutdown -r“ from the command line. Another one that I use frequently is the scheduled defrag. I use this on all servers and client computers that I come across: “at 3:oo /every:1 defrag c:” which runs a command line defrag of the c: partition at 3:00am on the 1st of every month. You can substitute the 1 for a day such as M,T,W,Th,F,S,Su or any such combination separated by commas.
There countless useful tools that can be executed from the command line and just about all of them can be ran unattended by using the at command. I highly recommend automating your daily tasks such as defrags, reboots, and system cleanups using this command. It is very important to run the command without any switches after doing any work with the command so you can double check for typos. You can also see your scheduled jobs from the GUI by typing tasks in the run dialog and pressing OK.