Archive for the ‘Hardware’ Category
So last Friday (May 1st, 2009) I was asked at work to upgrade the hard drive in the CEOs laptop. Alright no problem, we go to the closest store and pick up a new two hundred and fifty gigabyte hard drive to put in the laptop. I get the new drive and decide to make sure the old drive has no errors before I image the disk over.
I run the usual Windows `chkdsk` commands and it finds some stuff and fixes it quickly. I put the new drive on a small external USB adapter and throw in the TRK Rescue disc to run a `dd` on the drive. The program completes, and I put the new drive into the system. The new drive boots up and all is fine. I can resize the partition later when I have more time.
A little later I get a phone call saying that there are no folders in the CEOs Outlook Pane. “Alright.” So I walk up and take a look, sure enough no folders under the six PST files that were mounted from the local hard disk. I close the Personal Folders and then remount then in Outlook. Nothing. “Alright…”
So I browse to the My Documents folder where the files are kept and I search around. I find the six PST files. Looking over them, file size: 0 bytes. Yeah, zero bytes. Three of these files were over two gigabytes (2GB) and the other three were in the range of eight hundred megabytes (800MB). Now, we have a problem.
I come to find out that the `chkdsk` run found something wrong with these large files and marked them as zero bytes in the file table on the drive.
So I quickly take the original hard disk down to my system here and throw it on the USB adapter and start running a simple undelete utility on the files. It finds them, but still as zero bytes, and only restores a zero byte file. Now we have a larger problem. So I start searching around the Internet for some utilities that will scan the disk and reconstruct the damaged or missing PST files.
I come to find a program called Office Recovery by DiskInternals. The program installed, and I had it scan the disk. This took forever on my little machine but after many hours found the parts and displayed them to me. I was able to save the mail to a PST file on my primary hard disk. But still a problem, all of the new messages had their times erased and most of the messages have the `From:` field replaced with their Exchange counterparts /O= and /OU= stuff.
I need to recover the files themselves, not the contents. So a little more searching and reading up and I find out that a program I found a long time back can help. So I installed X-Ways Forensics, and had it scan the external disk. Following some bits and pieces of information around the Internet I was able to do a File Recovery by Type. This scans the entire disk for any files with the particular header, looking for PST files you need to search for the header: `!BDN` in hex of course. It found the files, so I told it to grab four gigabytes (4GB) of data starting from the beginning of each PST file. This of course pulls tons of useless data with it, but does get the information that we need.
I then had six four gigabyte PST files sitting on my primary disk. Alright, lets try this. I loaded Outlook and File -> Open -> Personal Folder, I selected the first of the PST files and clicked OK. Nope! Outlook threw out some horrible errors and told me to fix the corrupt file. But for once… Just once, it told me how to do this. I then located `scanpst.exe` which comes with Office and using the utility chose to fix one file at a time. This reduced the file size to an acceptable level and I was able to import them into Outlook successfully. Once in Outlook, I created a new Personal Folder and moved the contents into the new folders so I was sure they would not be corrupt. After working on this for eight hours, I decided that was probably the best I was going to do, and the most data I was going to be able to recover.
This morning I put them back on to the CEOs laptop and for now she is happy. But this entire problem would not have been so huge if we were allowed to make backups. We have on many occasions, multiple times a month gone up with external drives and blank DVD’s to help back stuff up, and we are never given time to do so. She does not want her data stored on the multi-thousand dollar SAN we have setup for such things.
How do you tell the CEO to use the technology we have for the company to store data, that is protected for her access only and strictly monitored? You want data protection and backups and security, yet will not allow us to back it up, blow off I.T when we want to help you back up from your local machine.
Either way, this could have had a much worse outcome, I think she will let us take backups and give I.T the time it needs to do so as well.
I suppose we can start out the new month with a informative post today. At work some friends were setting up some Windows XP machines and wanted to image the disk so that the process for setting up all eight machines went faster. Having no access to disk imaging software at the moment I suggested that they just use `dd` in Linux to do the image. None of them had really heard of this program, so I explained to them how to use it.
A easy way for anyone to do this is to grab a boot-able Linux CD, we used TRK, and grab a external USB hard disk.
Boot from the CD, and choose the first boot option. Mount your USB disk somewhere easily accessible. We did ours as such: `mount /dev/sdb1 /mnt0`then we created an image of the first computer (the one we are currently on, and has Windows XP installed on it already and configured): `dd bs=16384 if=/dev/sda of=/mnt0/image.img`.
Once the process is complete power off the machine and take the USB hard drive and CD to the next, boot from the CD and mount the hard disk. Issue the command: `dd bs=16384 if=/mnt0/image.img of=/dev/sda`.
As you can see, `if=` is the Input File for dd, and `of=` is the Output File. `bs=` is the block size to copy between the disks, you can increase this if you wish to see better performance in faster machines.
This is my 2004 Grand Prix GTP; it is also the victim of my carputer install. I will start with some information about the car, and then work into the basics of the car computer, and then photos and all that good stuff. So here we go…

Vehicle
Make: (GM) Pontiac
Year: 2004
Model: Grand Prix
Sub-Model: GTP
Engine: GM 3.8L Supercharged (M90) V6
Stock HP: 260
Current HP: ~290 (I have no access to a dyno, but with mods and a strict guess.)
Current Mods: DHP 1.0 ECU (Engine Computer), 3.4 Supercharger Pulley (Stock is 3.8), Boost Bypass Mod, Shift Kit, K&N AirCharger, Replacement Down Pipe, 180° TStat
Future Mods: Received my HP Tuner. Seems like I have a problem though, it does not scan my car correctly, contacted support, need to dump ecu to file and send them logs.
I picked up this car at the Orlando Auto Auction with the help of my neighbor who can get in with dealer access. I first saw the body style in 2004 when the first models came out and fell in love with the body style. I love this vehicles curves.
After I got home the same day of purchase, I started to pull all of the components out of my 2000 Chevy Malibu LS for the carputer that I had installed. Now was the time to recreate everything, clean it up more, and put more time and effort into the install while nothing had been done yet, anything was possible.
Current Carputer Setup
Motherboard: VIA M10000
Memory: Generic Low Profile 512MB DDR
Boot Drive: 512MB Sandisk Compact Flash
USB Drive: 13GB Trash Hard Drive in a USB 2.0 Caddy. (Stores the Music, and Interface Stuff)
Power Supply: Opus 120W
Touch Screen: Lilliput (Older Style)
OS: Windows XP Pro (Trimmed)
OBDII Interface: BR-3 OBD Diagnostics Unit
At the moment, the carputer is hidden away in the trunk, in a small cubby that probably use to hold jumper cables from the factory, or something like that. When I got the car, it was empty, prime location for the motherboard and other system components. Power cables from the battery feed into the trunk for the carputer, amplifiers, and inverter. The inverter does not power any part of the carputer setup, it’s there for emergency situations that I need AC power.
The external drive is placed under the front passenger seat, for easy accessibility if necessary to remove and add music, or update any software on it. I have had this drive under the seat since I placed the carputer in the original car. I have gone over railroad tracks and other rough terrain and have yet to have a problem with this drive. I have planned for this drive to go bad, thats why it’s a ‘trash’ drive. I have tons of these drives lying around, so it can be replaced with anything.
The operating system, Windows XP Pro, sits on the 512MB compact flash card for booting the system, and setting up all that is needed for the system to run. Windows XP takes up approximately 300MB of the 512MB available. All other programs are installed on the external drive. A write filter is loaded at boot to prevent the system from writing to the compact flash, unless I explicitly tell it to do so. This prevents corrupt files from powering off incorrectly, or anything else that might happen… Flash burnout to be exact. My boot times with everything in place, is around 35 to 40 seconds. This time includes the boot process, Windows XP loading, and launching my interface program.
My interface program which I custom made for the CarputerGTP is a simple application made in VB6 (Will explain later) that allows me to touch buttons and have the computer load objects, change song, and all that good stuff. It also drives my external 16 character 2 line LCD module display. Showing the song playing, the play list it’s on and the time remaining and total for the current song. Along with that, the interface program also talks to my OBDII controller and the car itself, reading engine stats and then if I tell the program to do so, display those stats on the external LCD screen. Currently monitored on the small LCD are: Boost, RPM, Engine Load, and Throttle Position. Also, the interface has the popular software MapMonkey embedded, which talks to the GPS unit, providing navigation and such. My program also interfaces with MapMonkey as to take a sample of my current speed, location, and GPS coords and save them to the external drive in a database every 500ms. “Do you know how fast you where going Sir?”, “Yes, Officer. Exactly 45MPH!”.
Little note on the VB6. People always try and say VB6 is horrible and I should use .NET or something like that. Well, yes, I could have. But you know what, I fucking hate installing the .NET framework to run a program that I can create in VB6 and have no extra libraries to install, using up valuable space on the 512MB compact flash card. Yes, .NET is a HUGE framework when it comes to those limited space conditions. Also, I have spent a few hundred hours working on my interface, tweaking memory usage, string handling, garbage stuffs, cpu usage, and IO processes. I know what I’m doing. When doing its’ entire job, the computer uses approximately 45% of the CPU and only 48MB of Memory (According to Task Manager). If you were not following here is a complete list of what the interface does:
1) Touch screen interface to carputer.
2) Controls external Winamp Process. (Pause, Play, Next, Prev)
3) Controls Winamp to load different Play lists.
4) Controls COM1 for Serial Attached 2 Line, 16 Character LCD providing real-time winamp song information.
5) Controls COM2 for OBDII data viewing, data mining, display and record.
6) Combines the above two to show OBDII information on the LCD.
7) MapMonkey integration which along with Destinator allows voice guided navigation.
8) Logging of current location every 500ms to a database on the external drive.
9) Interface has no flashy crap. Just a progress bar for the song position, title playing, OBDII information, and Location information.
This is not an article on how to hack into this unit remotely. This will probably void any warranty, or contracts that you hold with Barracuda. The unit I worked on was dead, not physically, but the software on the drive was shot, even the recovery partition loaded from Barracuda would not boot correctly.

Unit: Barracuda Spyware Firewall 210
Hack Type: BIOS Password
Results: Success
Password: 322232 (If that does not work try, 000100 or 32020000 or 3321)
Hope it helps others attempting this.
After Hack: I have successfully installed Archlinux on this 1U server. I do not like the fact of having two Ethernet ports on the front of the server, and one in the back. But I will only use the rear port anyway.
Ethernet Front: eth0 and eth1
Ethernet Rear: eth2
Most of the setup is similar to the Watchguard Firebox II except some hardware differences. The PCI slot is on its side, you will have to raise the board out of the case to perform this, if your video card is too large. I used the same video card as the Firebox II, an S3.
Also the keyboard header has changed, after some playing around, here is the pinout!
WG Keyboard Pin 1: PS/2 Header Data
WG Keyboard Pin 2: PS/2 Ground
WG Keyboard Pin 3: PS/2 Header +5v (VCC)
WG Keyboard Pin 4: PS/2 Clock Pin
The rest worked like the previous Watchguard, enjoy.
I was setting up the OBD2 reader on my Carputer and when I attached the serial header to the motherboard to make COM2 (Second Serial Port) that is internal active, I could not send any data or receive data… I had everything enabled, and there are many posts on the VIA forums about this problem.
Well it’s not really a problem, more like a different specification of pin ordering. Depending on where you got your serial header, it may, or may not work correctly with the serial header on the VPA EPIA motherboards.
All you have to do it rewire the pins going to your header device, or to the serial device you are trying to use. I rigged together a small box that moves around the ports off my ‘incorrect’ serial header into a correct serial port for the device I was using.
If you look into the PDF manual for the motherboard, it will give you a chart with the exact pinout of the serial header. Use this, along with the pinout on a 9 pin D sub serial port to find the correct pins that you need to move.
I have acquired an Wyse 9150SE Windows XPe (Embedded) Thin Client device, and we all know that XPe is poopy and disgusting. So we are going to try and put our own OS on this thing… Specs are as follows:

Processor: AMD Geode GX
Network: 10/100 TX Ethernet
Memory: 256MB DDR SDRAM
Sound: Stereo 48 kHz
Video: 4MB to 16MB Shared, Adjustable through BIOS
USB: 4 USB 2.0 Ports
Ports: 1 Parallel & 1 Serial & 2 PS/2 Ports (Mouse/Keyboard)
Flash: 512MB Memory
I have opened this unit, and the flash is a special board (I need to post photos, maybe somebody can identify it for me, and provide a link to a [Connector -> IDE or Connector -> Compact Flash] etc.).
Pretty simple inside, and it has an external power adapter.
As stated, this unit comes with a pre-installed version of Windows XPe.
Currently I have gained access to the BIOS to change the boot order, and changed it to PXE, USB, IDE. So I can install an OS via PXE or USB Floppy/CD-ROM.
I have tried booting from a Toshiba USB CD-ROM drive, but the thin client does not recognize the drive. It will however recognize an USB Floppy drive, so I am that far at the moment. I am going to try and get a small Linux floppy with CD-ROM support and see about loading an Linux OS on this device. If that turns out negative, I will try my slimmed down version of Windows XP Pro that I also use on the carputer system.
I will continue to update this page as information comes to me.
Update: The flash memory is a 512MB storage device. I have been able to get to a point where I can install a modified version of Windows XP Professional that has been trimmed down. Same version that I use in the carputer setup. We will see where this takes us…
You can see the storage connector near the CPU. It is a socket type, 40 pins. I would say it is IDE but I cannot find anything about it. Anyone know of a 40 pin, socket type connector, about an inch long?
At work today, I got my hands on a old Watchguard Firebox II firewall device. I have always hated the Windows program needed to configure the boxes, and even how they run. I found this site a while back, and decided to do the obvious. Make the device better then it was intended to be…

Here is the walk through he created: http://www.ls-net.com/m0n0wall-watchguard/ most of his writings worked great for me. Except a few, which I will list here in case you have the same problems.
I did not use a flash, or a special cable to setup this system. The only cable I had was an 40 pin IDE cable, and a 40 to 44 pin converter. This converter is meant to run laptop drives in a desktop system, I just reversed it in this case.
The graphics card was a slight problem for me, I tried 3 different PCI video cards with no luck. I happened to find a S3 Virge/DX 2MB Video card, and this seemed to work, as seen in the walk through photos, he also had an S3 video card.
I never touched an Flash Eraser Jumper. The only jumper on mine was near the battery, and it seemed to cause the onboard flash disk of 8MB in size to switch from Master to Slave. I set it opposite from the default, and put my drive as master.
On my hard drive that I used in the beginning, I did the physdiskwrite program to put m0n0wall on the drive, then near the end did the command to tell the next upgrade to install to the flash.
After the booting process, first time setup of m0n0wall, the Auto-Detection, DOES NOT WORK for me. I had to manually assign the interface names to the interface types. Lucky me, I got them correct the first time, they just go in order: dc0 = WAN, dc1 = LAN, dc2 = OPT1 and there you go.
The command used was the same: echo ad1 > /var/etc/cfdevice then perform an Firmware Update from the web interface.
These were the problems I had, but in the end, it’s a great hack, and I love the red box now running a much better software package.