Alienware 5620P Laptop

Posted: March 26th, 2011 | Author: | Filed under: Tech | Tags: , , , , , , , , , , | No Comments »

I received my first “fast” computer in 2002 as a high school graduation gift. It was amazing for about 3 years.
The Alienware Area 51-m 5620P was an amazing laptop when it came out in 2002.
-2.4GHz P4
-512MB PC2100 DDR
-40GB 5400 RPM hard drive
-Dual batteries
-ATI Mobility Radeon 7500 64MB

I could really Pwn on Counterstrike with this thing. :)
I hate to let this machine go to waste after 9 years, so I decided to bring it back to life.

Current problems:
-CMOS battery is bad as of about 5 years ago. This means every time it boots, the BIOS is reset, Date, boot settings = annoying.
-CD/DVD Drive no longer reads any media
-Battery no longer holds a charge
-512MB ram = :( …We need at least a gig now
-Power brick is melted from the sheathing wearing away. Almost started a fire.
-No wireless built-in. Definitely need a PCMCIA wireless card.

I ordered:
-Refurbished CD/DVD Drive
-New OEM Battery
-1 GB PC 2100 RAM (512×2)
-New power brick
-802.11g 54mbps PCMCIA Wireless Card

I got the memory from newegg.com for $50, and the rest on Amazon for less than $200.

CMOS BATTERY
I looked around and there aren’t any good guides to show where the CMOS battery is in this thing. I took apart the laptop about 80% of the way to figure everything out.
I had taken it apart about 5 years ago to add artic silver and reseat the heatsink.
If you turn it upside-down, you will see the four compartments. Take out the bottom right one (battery). It should slide out to reveal an adhesive cover.
Peel away the cover, and you have a neatly-wrapped CMOS battery. You can find a cheap replacement at Walgreens are almost anywhere else.

While I had it apart, I snapped a few pics to save other people time:

I should have the rest of the parts by next week. But this post wasn’t about the end-result, it was about saving other people time if they are pulling their hair out trying to locate the CMOS battery, HD, memory, or anything else.


Tomato Router Config – Backup Script

Posted: March 18th, 2011 | Author: | Filed under: Linux, Tech | Tags: , , , , , , , , , , | 1 Comment »

I recently was given the task to automate the backups of several remote routers that we manage that run tomato firmware.
Here is the Tomato developer’s site: www.polarcloud.com/tomato
The main goals were:

  • To use https
  • To be automated (Cron)’d later
  • To scale from 1 to 1XXX routers

I tested it on Tomato Firmware 1.28 using my ASUS RT-N16 router, but it should work for any Tomato-firmware router.
There will be some slight modifications to run in cron, but let me know and I’ll be glad to help.
Download the .zip file here: tomatobackup1405

Extract the file so the full path will be /root/tomatobackup1405
Read the README inside the folder
chmod +x tomatobackup1405.sh
Add your hosts to the tomatobackup1405_hosts.cfg file
Run it!

If successful, you will see a subfolder with the date YYYYMMDD and the file with CoName-tomato_v_.cfg
If there are connection problems, you’ll see an error message.

EDIT: There was a python rewrite by Sam@orgraphone.org
Feel free to check it out here

Let me know if you have any thoughts or suggestions.
-Gregg


Appointment Reminder Calls – With Asterisk VoIP

Posted: July 21st, 2010 | Author: | Filed under: Asterisk VoIP, Linux, Tech | Tags: , , , , , , , , | 5 Comments »

A while back I had a meeting with a friend in Orlando, FL. He came up with the idea to provide an appointment reminder service to companies that would benefit from such a service. Doctor’s offices, Dentists, Mechanics, Repairmen, etc. I drew up the logistics of the program and began working on it in the fall of 2008. Since then we have had customers use the software to easily call their customers and remind them of appointments and also use the software for call blasting. Call blasting is a feature to call an unlimited amount of numbers and playback a message. Since I have experience in the Asterisk VoIP platform I programmed the system to allow for options and the customer to enter in input with their keypad.

www.ontime1405.com

The purpose of this article is to detail the logistics and share it with the Asterisk community.

Basic overview:
There are a few different ways to originate calls with Asterisk.
-From the Asterisk CLI directly with the “originate” command
-From the AMI (Asterisk Manager Interface)
-From .call files placed in /var/spool/asterisk/outgoing

I went with .call files because of a few reasons:
-I can generate all of the call files ahead of time because they are read based on the timestamp of the file (less load)
-It is straightforward and easy to follow, and also leaves behind the .call file that is archived after the call is finished
-Asterisk will parse and execute based on timestamp, so to burst 100 calls would require much less overhead than through AMI/CLI

There are some negative effects to the .call files too:
-Changes made need to remove and add another .call file (If the customer changes their appointment time after the file was generated)
-The lowest interval to generate calls is every minute, so we can burst to 400 calls/minute (also more difficult to throttle calls)

Now you know how the calls are originating on the system, let’s move on to the database and interface.
I hired someone to program the interface in AJAX and PHP. That way it is secure and saved a lot of time if I were to attempt it myself. The interface is very clean and easy to use for customers. They also have the ability to import 1,000 records at a time via CSV files. Feel free to demo the interface via the link on ontime1405.com for “Demo the Interface”.
The interface stores the call data in MySQL which is then scanned hourly to process and create all of the .call files according to their timestamp. We only care about the calls that will be made by the system in the next hour, so those are the only .call files that are generated. The script is a PHP script that connects to the database with the query of calls to be made, strips them down, then does a loop to create the .call file, set the timestamp based on the variable, then move the .call file to /var/spool/asterisk/outgoing.

The .call files include 1 custom variable that is comma-delimited so we can parse out the appointment time, AM/PM, and any other custom variables.
The other important lines in the .call file point to the context in the Asterisk dialplan that the customer’s announcement and options are defined.

Now you may ask yourself, It will be a pain to manually add customer’s options and dialplan for every sign up, right? It was at first, but I created several automated scripts to generate the dialplan for the customer and “dialplan reload” when complete.

The rest of the accounting/etc is accomplished via bash cleanup scripts that write to the database and provide reporting/etc.
The same system can be used for call-blasting to a large group of number for a survey, snow day announcement, marketing message.

Please let me know if you have any questions or advice/constructive-criticism for me regarding the program.
And feel free to try out the demo interface and hear a reminder call!

Cheers,
Gregg


Create free ringtones for the iPhone – Using iTunes

Posted: July 21st, 2010 | Author: | Filed under: Mac, Tech | Tags: , , , , , , | No Comments »

I haven’t seen any “clean” write-ups for creating free ringtones for your iPhone yet, so here goes.
Note: This is done on my Mac, if you notice any differences please let me know and I can make an updated PC-guide.

-Open up iTunes on the Mac/PC that you use to sync with your iPhone.
-Make sure that AAC is the import format. If not, change it by: iTunes, Preferences, Import Settings, Import using: AAC Encoder, Setting: iTunes Plus, then click OK.

You should notice that if you right-click on any song in your library, it will have a “create AAC version” option.
It is a good practice to make your ringtones 30 seconds in duration.

-Locate the song you wish to make in to a ringtone.
-Preview and note the point in the song that you want the ringtone to start
-Right-click on the song, Get Info
-Go to the options tab, put in your start time and end time for the song, click OK

-Double-click the song to play the 30-second clip you just set, adjust start and end time if necessary
-Once you have the 30 seconds of ringtone goodness, right-click on the song and create AAC version

After the song is converted you should see a duplicate song below the original with a duration of 30 seconds. Left-click and drag this new song to your desktop. The ringtone will be copied to your desktop as a .m4a file. Left-click and rename to .m4r extension. You will get a prompt that says, “Are you sure you want to change the extension from “.m4a” to “.m4r”? Choose “Use .m4r”

Left-click the ringtones folder in iTunes and drag your new .m4r file to it, you now have your new ringtone! Make sure it will be copied by editing your sync settings to copy all ringtones! Voila!

Note: Make sure to cleanup and remove the start and end times from your songs that you made ringtones. It will be annoying whenever you play them and they will only play for 30 seconds.


Playstation 3 – 3.21 Firmware broke my Ps3

Posted: April 14th, 2010 | Author: | Filed under: Tech | Tags: , , , , , , , , , , , | 1 Comment »

I’ve had my PS3 for about 7 months and everything has worked without a hitch. Last week I even got around to playing Final Fantasy 13 for a few sessions. Well, last Friday I decided to have some friends over for a Band Hero rock-session before going out. Upon firing up my PS3 I see that there is a new firmware update available. Now being that I haven’t ever modified or planned on doing anything cool with my PS3, I blindly said “update now” and told my friends it would be a minute. After the firmware update completed the system rebooted, and all looked normal. I put in Band Hero and realized that it isn’t reading the disc, I put in 2 other games…no luck. I put in a DVD, then a Blu-Ray….NOTHING! When inserting any disc the system would make the standard noise, accept the disc, then make a click sound (like its re-arranging the disc) for a second. I did some research and many other people are having the same issue.

One thing that does grind my gears. I called the support line and the lady clearly told me that this was a “coincidence”. Even though there are two different internal readers for DVD and Blu-Ray discs. I’m in the troubleshooting field, its my career. One, if she automatically comes up with this response, then she knows about the issue already and it clearly is a known issue. Two, the firmware controls how the hardware functions, so being that there are many different systems and configurations, it is very possible that the update caused my disc-read-click behavior.

I’m upset about this. Sony should know better. I would be very upset if my PS3 wasn’t under the 1 year warranty, but the whole point of bringing this up is to work together as a community and figure out WHY.

Some things I tried:
-Insert DVD/Blu-Ray/Game, when it is accepted…quickly power off before the clicking occurs.
(No luck, because when the PS3 is powered on it will do the click sound EVERY time).

-Reset to defaults:
(First thing support recommended, didn’t affect anything beside resetting all my settings…same behavior).

-Restore PS3:
I just did this today (20100415) and it formatted the hard drive. Apparently this doesn’t make any difference on the behavior because it was still on firmware 3.21 after the format.


Remote Access to Linux without forwarding ports

Posted: January 10th, 2010 | Author: | Filed under: Linux, Tech | Tags: , , , , , , | 2 Comments »

There have been many situations that I would like to have remote access to a Linux server, but I don’t have administration rights to the network the server resides on.
A few situations I’ve run in to:
1. A friend has a server and wants you to take a quick look (but no ports forwarded)
2. Customer has a server that you need to look at, but no remote access
3. You are working locally on a server but need to leave and access it later from another location

Requirements:
1. You need to have a publicly accessible Linux server with an SSH account (please don’t use root for this!)
2. Add a dumb user that has shell access but nothing else, don’t run any applications as this user (used for SSH only)

So in the case where you are physically at the server and need to get to it later, type:
ssh -N -f -R 19999:localhost:22 sshuser@4.4.4.4

The options make it so after you authenticate with the password the shell goes to the background.

4.4.4.4 needs to be replaced with your IP/Domain of the server you control
sshuser needs to be replaced with the dumb SSH user you setup earlier

Now when you get home, ssh to your 4.4.4.4 server. Then use the Remote forwarding to get back to the original server:
ssh -p19999 sshuser@127.0.0.1
You should now be on your remote server.
If you want to kill the connection, on your public server type:
ps -ef | grep ssh

Then you can:
kill -9

Remember when I said that you must create a dumb user earlier? This is in case you are in the situation where you must give the command to someone over email and have them execute it for you. That way you aren’t handing over root-level access to your server…ever.