Here is a copy of the top portion of my /etc/dhcpd.conf file. Using this configuration you should be able to setup any TFTP bootable device to look to your TFTP server for configuration files. For example Cisco 79xx series phones, or SPA5xx series phones.
Configure TFTP Option 66 and Option 150 with dhcpd
November 6th, 2009Invalid Cisco SmartNET Serial Number?
November 4th, 2009We can help! We have specific experience in this problem and we know all the hoops necessary to get your device re-added to the Cisco eligibility list! Fill out the below form, and attach proof of your Serial Number, in the form of a photo of the Serial Number on the device, or a screenshot of the CLI or device information page showing the Serial Number. All phone contracts cost 20USD for the Basic One Year SmartNET agreement. We will get back to you with a price on any non-phone agreements you may want. All payments are processed via Google Checkout which means we never see your credit card information.
You’re information will not be reused or sold. All personal information and device information will be kept strictly confidential.

Cisco SmartNET Contract for Cisco 7940, 7941, 7960, 7961, 7970, 7971
November 4th, 2009
We now provide expedited SmartNET agreements for all Cisco Devices! Your quoted price will be for the Basic One-Year SmartNET agreement unless you specify a different service level in the notes section. All payments are processed via Google Checkout which means we never see your credit card information. If you have had problems in the past with your device having an “invalid serial number” according to cisco use this form here. These agreements are necessary to obtain the firmware for Cisco 79xx series phones.
You’re information will not be reused or sold. All personal information and device information will be kept strictly confidential.
When we say all fields are required, we mean it, Cisco needs them all.

Prolific PL-2303 driver Device Cannot Start Windows Vista 64bit and Windows 7
October 7th, 2009I’ve had this problem a couple times and the solution seems to be slightly different each time. The problem presents itself as a Device in Device Manager showing “”The Device Cannot Start (Code 10)” after you’ve installed the Prolific PL-2303 Drivers from the Prolific website. Which are available here: http://www.prolific.com.tw/eng/downloads.asp?ID=31
The solution is to use a similar driver set floating around on the internet here: http://www.usglobalsat.com/download/546/win_drivers.zip
Unzip the file and install the executable within. That fix solved the problem for me instantly. To make sure that the new driver take priority over the other one in Windows 7 right click on the device and go to Unistall and check “Delete the driver software for this device”. I found this solution on the microsoft social forums here.
Howto BLF (Busy Lamp Field), SLA (Shared Line Appearance), on the Linksys SPA942, SPA962 and Cisco SPA525G
September 30th, 2009I’m sure by now you’ve read a few articles saying that you CANNOT do BLF on the SPA942, SPA962 or SPA525G, this is in fact false. BLF works JUST fine on these phones. In fact I have a wall behind me with all three models connected together with Asterisk (elastix) merrily reading each others line states. The red lights are extensions demonstrate extensions in use.
For those of you who do not know what BLF is. BLF or Busy Lamp Field allows you to see which extensions are currently on the phone, or being called. It also allows you to pickup a ringing phone for someone else.
By placing these same configuration details into the SPA932 screen you could also use these instructions to programme a Linksys SPA932 Sidecar.

See, it works!
I’m sure by now you’re jealous of all my little red lights blinking away. Well, fortunately for you the next part of this guide is how you can do it on your own phones. I’m going to break this down into four sections: Configuration in common to all three models, and then three separate sections for configuration elements unique to each phone.
Before Using this Guide Make sure you have the Latest Firmware from Linksys / Cisco
This is NECESSARY
General:
First things first, here is what is more or less common to every model. To do anything you need to log into the phone. To do this you need to get the IP Address of the phone. You can either get it from your endpoint manager or by hitting the settings button, then pressing 9.
Once you’re logged into the phone, we need to log in and switched to advanced.

Admin Login BEFORE you Clicked Advanced
On the right hand side you’ll see “Admin Login”, once you’ve done that and it’s switched to “User Login”. Go ahead and hit “Advanced”. Do it in that order else it’ll go ahead and switch back to basic mode and you won’t see the options we need. The SPA525G has a slightly differently looking screen but it’s phrased identically.
Next we’re going to setup the actual BLF and shortcut lines. This step is identical on all the phones so we’ll do it first.

Line Keys Configured for BLF on Sipura Phones
Click on the “Phone Tab” on the menu bar up top. Double check that you’re in Advanced Mode and you should see the Line Keys. I typically leave Line Key 1 configured as a normal extension. This means that the phone will be able to handle two simultaneous calls. If you need four simultaneous calls assign Line Key 2 as well to Extension 1.
For the lines that will require BLF Switch the Extension to Disabled, switch the Share Call Appearance to shared. Enter a short name for the line, this is the name that will show up on the button on the screen.
Once you have that you’ll need to enter the following into the extended function section:
fnc=blf+sd+cp;sub=EXT#@ASTERISKIP;nme=SHORTNAMEHERE
Replace EXT# with the Extension number of the phone you would like to monitor, ASTERISKIP with the IP of the Asterisk server that both phones are connected to and SHORTNAMEHERE with the shortname entered above.
You may fill out as many lines as necessary using this same command. The same syntax is used on the SPA942, SPA962 and SPA525G.
There is one additional step necessary to get BLF working. You must now tell the phone that you want it to use Asterisk style BLF.
Save your settings and move on to the next phone-specific section.
SPA942 Specific Instructions:
While you’re on the Phone Tab, You need to scroll down directly below the last Line Key (should be Line Key 4). You’ll see Line Key Extended Function.

Directly Below the Line Keys on the Phone Tab
Here you must switch the Server Type: to Asterisk, and changed the SPA932 Call Pickup Code to *8 to match the Asterisk call pickup code.
That’s it, save your settings and you’re done.
SPA962 Specific Instructions:
On the SPA962 the setting is located under the SPA932 tab (that’s the model name of the sidecar for the SPA962 and SPA525G).

Click on the SPA932 Tab
Once you’ve clicked on the SPA932 tab you should get this:

Changing the BLF Settings on the SPA932 Tab
If you don’t see this, make sure you’re in advanced mode and logged in as admin (Admin Login button). If you do see this, switch Server Type to Asterisk and SPA932 Call Pickup Code to *8.
Save you’re settings and you’re done!
SPA525G Specific Instructions:
On the SPA962 the setting is located under the Att Console tab (this tab is intended to work with the SPA932 which is the Sidecar for the SPA962 and SPA525G).

Click on the SPA932 Tab
If you don’t see this, make sure you’re logged in as admin and in advanced mode. Once you see the below dialog we’re ready to change a couple settings for Asterisk:

Changing the BLF Settings on the Att Console Tab
Switch the Server Type: to Asterisk and change the Attendant Console Call Pickup Code to *8.
Save your settings and you’re done.
None of my NICs work in ESXi 4.x!
September 29th, 2009I’ve been driving myself nuts for the last couple of days trying to figure out why none of the NICs that I had previously used in ESXi 3.0 and 3.5 aren’t working on my latest ESXi 4.0 installs. I checked the HCL to find that nearly all of the 10/100 chipsets have been removed from the VMware ESX HCL. Bummer. Realistically, there was is no good reason to use a 10/100/1000 card for a WAN port.
I’m sure there is a way to reload the kernel modules for the card I need but it seems like a lot of work to do that every time I need to setup an ESXi server.
So, exasperated I went to the VMware HCL to find another card that does work. This normally would not be such a big deal if the VMware ESX HCL wasn’t notoriously difficult to make any sense of.
After a few hours of trying to find an affordable PCI-E NIC on the HCL I found this site:
http://www.vm-help.com/esx40i/Hardware_support.php
It arranges everything nice and clearly. I ended up buying some bulk Broadcom NetXtreme PCI-E cards, and we’ll see how well they work in ESX 4.0.
Cisco 7961 and 7941 SIP Configuration SEPMAC.cnf.xml
September 9th, 2009We now sell the SmartNET Service Agreements for these phones! (Necessary to get Firmware)
Use our web form to transmit your device information.
Here is a basic cleansed Cisco 7941/7961 Configuration file. This file was provided by Henry over at Axxtel, LLC in Lawrenceville, Georgia. He was kind enough to provide us his basic configuration file with comments provided.
You will need to make certain that your phone has been reflashed to the SIP firmware. Most phones come with the SCCP firmware on them. To learn more about this procedure check our out article on reflashing Cisco 7940 and 7960 phones over here: Cisco 7940 and 7960 guide. Once you’ve done that you can use this configuration file to register your phone to your Asterisk or other SIP based PBX.
Go ahead and replace the relevant fields with information related to your phone and PBX. You can download that file here. Make sure you right click and go to save target as. This is very important as most modern browsers will attempt to parse the XML file.
Here’s the file copy and pasted, I do not recommend you use more than one line from this file, downloading the XML file will typically work much better. I would recommend editing this file in Notepad++.
<device xsi:type=”axl:XIPPhone” ctiid=”[Employe phone number ex 6785551212]“>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>[SSH User]</sshUserId>
<sshPassword>[SSH Password]</sshPassword>
<devicePool>
<dateTimeSetting>
<dateTemplate>M/D/Ya</dateTemplate>
<timeZone>Eastern Standard/Daylight Time</timeZone>
<ntps>
<ntp>
<name>192.43.244.18</name>
<ntpMode>directedbroadcast</ntpMode>
</ntp>
</ntps>
</dateTimeSetting>
<callManagerGroup>
<members>
<member priority=”0″>
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
</ports>
<processNodeName>[Asterisk IP Address]</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<sipProfile>
<sipProxies>
<backupProxy></backupProxy>
<backupProxyPort></backupProxyPort>
<emergencyProxy></emergencyProxy>
<emergencyProxyPort></emergencyProxyPort>
<outboundProxy></outboundProxy>
<outboundProxyPort></outboundProxyPort>
<registerWithProxy>true</registerWithProxy>
</sipProxies>
<sipCallFeatures>
<cnfJoinEnabled>true</cnfJoinEnabled>
<callForwardURI>x–serviceuri-cfwdall</callForwardURI>
<callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
<callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
<callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
<meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
<abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
<rfc2543Hold>false</rfc2543Hold>
<callHoldRingback>2</callHoldRingback>
<localCfwdEnable>true</localCfwdEnable>
<semiAttendedTransfer>true</semiAttendedTransfer>
<anonymousCallBlock>2</anonymousCallBlock>
<callerIdBlocking>2</callerIdBlocking>
<dndControl>0</dndControl>
<remoteCcEnable>true</remoteCcEnable>
</sipCallFeatures>
<sipStack>
<sipInviteRetx>6</sipInviteRetx>
<sipRetx>10</sipRetx>
<timerInviteExpires>180</timerInviteExpires>
<timerRegisterExpires>3600</timerRegisterExpires>
<timerRegisterDelta>5</timerRegisterDelta>
<timerKeepAliveExpires>120</timerKeepAliveExpires>
<timerSubscribeExpires>120</timerSubscribeExpires>
<timerSubscribeDelta>5</timerSubscribeDelta>
<timerT1>500</timerT1>
<timerT2>4000</timerT2>
<maxRedirects>70</maxRedirects>
<remotePartyID>false</remotePartyID>
<userInfo>None</userInfo>
</sipStack>
<autoAnswerTimer>1</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>false</transferOnhookEnabled>
<enableVad>false</enableVad>
<preferredCodec>g711ulaw</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
<kpml>3</kpml>
<natEnabled>false</natEnabled>
<natAddress></natAddress>
<phoneLabel>[Employee Name(do not exceed 11 charaters)]</phoneLabel>
<stutterMsgWaiting>1</stutterMsgWaiting>
<callStats>true</callStats>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
<startMediaPort>16384</startMediaPort>
<stopMediaPort>32766</stopMediaPort>
<sipLines>
<line button=”1″>
<featureID>9</featureID>
<featureLabel>[Employee phone number ex. 678.555.1212]</featureLabel>
<proxy>[Asterisk IP Address]</proxy>
<port>5060</port>
<name>[Employee Extension]</name>
<displayName>[Employee Name]</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>[Employee Extension]</authName>
<authPassword>[SIP Password]</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>1</messageWaitingLampPolicy>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>[Employee phone number]</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
<line button=”2″>
<featureID>9</featureID>
<featureLabel>Intercom</featureLabel>
<speedDialNumber>[paging group]</speedDialNumber>
<proxy>[Asterisk IP Address]</proxy>
<port>5060</port>
<name>[1 then Employee extension]</name>
<displayName>[Employee Name]</displayName>
<autoAnswer>
<autoAnswerEnabled>1</autoAnswerEnabled>
<autoAnswerMode>Auto Answer with Speakerphone</autoAnswerMode>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>[1 then Employee extension]</authName>
<authPassword>[SIP Password]</authPassword>
<sharedLine>true</sharedLine>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>[1 then Employee extension]</contact>
</line>
</sipLines>
<voipControlPort>5060</voipControlPort>
<dscpForAudio>184</dscpForAudio>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<dialTemplate>dialplan.xml</dialTemplate>
<softKeyFile>softkeys.xml</softKeyFile>
</sipProfile>
<commonProfile>
<phonePassword>[Phone Password]/phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<loadInformation309>SIP41.8-5-2S</loadInformation309>
<loadInformation115>SIP41.8-5-2S</loadInformation115>
<vendorConfig>
<disableSpeaker>false</disableSpeaker>
<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
<pcPort>1</pcPort>
<settingsAccess>1</settingsAccess>
<garp>0</garp>
<voiceVlanAccess>1</voiceVlanAccess>
<videoCapability>0</videoCapability>
<autoSelectLineEnable>0</autoSelectLineEnable>
<webAccess>1</webAccess>
<spanToPCPort>0</spanToPCPort>
<loggingDisplay>1</loggingDisplay>
<loadServer></loadServer>
</vendorConfig>
<versionStamp></versionStamp>
<userLocale>
<name>English_United_States</name>
<uid>1</uid>
<langCode>en_US</langCode>
<version>1.0.0.0-1</version>
<winCharSet>iso-8859-1</winCharSet>
</userLocale>
<networkLocale>United_States</networkLocale>
<networkLocaleInfo>
<name>United_States</name>
<uid>64</uid>
<version>1.0.0.0-1</version>
</networkLocaleInfo>
<deviceSecurityMode>1</deviceSecurityMode>
<authenticationURL></authenticationURL>
<directoryURL></directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<servicesURL></servicesURL>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
<transportLayerProtocol>4</transportLayerProtocol>
<capfAuthMode>0</capfAuthMode>
<capfList>
<capf>
<phonePort>3804</phonePort>
</capf>
</capfList>
<certHash></certHash>
<encrConfig>false</encrConfig>
</device>
Testing the ‘Hard drive in the Freezer’ Trick
July 15th, 2009I have a customer with a dead drive. Although occasionally it seems like it will work for a few minutes. It’ll be the intent of this article to test the hard-drive in freezer trick for this clicking and decrepit drive. Let’s see if it works!
Update 1:
It’s in a zip-back in the freezer! Let’s see what happens!
Update 2:
Pulled out of freezer, plugged in and…. WORKS! Holy hell it actually…oh wait it stopped working.
Conclusion:
I was going to write a complete right up about this, before I tested it and more or less got disappointed results. I was amazed that I was almost to boot windows before the drive fell back into senility. So there is definitely some truth to this but your mileage is definitely going to vary.
This guy here wrote a really snazzy write up: http://geeksaresexy.blogspot.com/2006/01/freeze-your-hard-drive-to-recover-data.html
Complete Guide to Install Windows 7 on the eee PC 1000 series (Drivers, ACPI and All)
June 16th, 2009I saw a few incomplete guides out there, including the one that I used to install Windows 7 on my eee PC 1000. I figured this would be a good time to make a guide specifically for you in the same situation as I was. This guide will tell you how to acquire Windows 7, prepare a flash drive to install Windows 7, and to acquire the neccessary drivers after installation is finished.
Step 1. Acquire Windows 7.
Your Free for One Year Windows 7 Key and Release Client DVD-ISO can be downloaded from here:
http://www.microsoft.com/windows/windows-7/download.aspx
The N270 ATOM processor does not support x86_64 (amd64) extensions, so you’re going to want to grab the 32bit version.
Step 2. Prepare your Flash Drive.
I would recommend a 4GB drive, as the Windows DVD ISO is 2.35GB
First we’re going to open up diskpart to prepare the Flash Disk.
- Open command prompt. (Start > Run > cmd)
- At command prompt open diskpart (type diskpart then press enter)
- Next run the “list disk” command to get a view of the available devices connected to the machine.
- Now run select disk # where # is the number associated with your flash drive.
- Type “clean” to wipe the partition table
- Now type “create partition primary”, which will create a new partition
- Then type “active”, this will mark the partition bootable
- Next we will format the drive with the command “FORMAT fs=ntfs” you could also use FAT32 but I prefer NTFS. You can also add “quick” after NTFS to perform a quick format.
- Finally type “assign” to have windows assign the drive a mount point.
- Type “quit” to leave bootpart.
- You should now be back at command prompt.
- We now need to insert or mount the Windows 7 drive. Either burn the image to a disk or use a ISO mounting tool to mount the disk image. Once you have the image loaded in one way or another we’re going to run a file on the disk.
- Type the drive letter of the drive i.e. “i:” or “d:”
- Then type “cd boot”
- Bow run “bootsect /nt60 driveletterhere” wheras driveletterhere is the drive letter of your flash drive.
- Now your flash drive is prepared for the Windows 7 files. Copy the entire contents of the Windows 7 disk to the flash drive.
Step 3: Install Windows 7
The installation is actually remarkably straight forward. A lot of guides will tell you you have to run compact on the drive. Fortunately, most eee PC users have a 8GB OS drive and another drive for files. The end installation will leave you with around 1GB of free space on the OS SSD. So running compact is not neccesary if you do not want to.
- Make sure all of your files are backed up
- Reboot the eee PC
- Insert the Flash Drive
- While the POST screen is showing tap the ESC key
- From the boot menu select your USB Flash Drive
- Windows 7 installation should now start as normal.
- You should format the 8GB OS SSD during the installation, this way it does not install Windows 7 and leave your existing files alone. On the eee PCs with hard drives that may be fine but on the standard eee PC that would result in barely any free space.
Step 4: Drivers and Optimisation
Drivers
Windows 7 actually detects more hardware directly after install than Windows XP does. All of the hardware detects normally except the ASUS ACPI driver. It will detect in Device Manager as an “Unknown Device”. The Device ID is ACPI\ASUS010. This device also controls the eee PC specific hotkeys. For example the ability to turn off the Bluetooth and WiFi radios from within windows.
The ACPI Drivers and other Drivers are available on the ASUS Support website. Select your eee PC from the list, then download the ACPI drivers from underneath the “ATK” category.
You’ll get occasional popups saying that certain keys have been disabled from the utility. You can End the Process to end these messages, but you’ll also loose access to some function keys.
I’ve so far been able to get the the ACPI utility to stop complaining about the Intel Utility. I did this by downloading the Windows Vista 32bit Driver from the Intel Website. It’s the Intel 945GM Chipset that the eee PC 1000 uses. You’ll have to use the “Have Disk” method of overriding Windows 7. Since technically the Win7 driver is newer you’ll have to insist on using the older Windows Vista driver. Once the driver installs, for me I got a blank screen and I had to hard reboot. Once the computer rebooted I got one less annoying error from the ACPI utility. I believe you could use a similar process with the other drivers to satify the ASUS utility. I’ll update as I learn more.
Optimisation
I recommend you enable the “Windows Classic” theme, and go through the Windows Services panel to disable whatever Services you may not need.
I also recommend you right click on the Taskbar and use the properties section to shrink the toolbar. Although it might be perfect for a modern Hi-Res screen the New Windows 7 toolbar is a bit big for an eee PC.
Step 5: Update your Firmware on your eee PC 1000 (Optional)
Download the “ASUS Update Utility” under the Utilities Section on the ASUS Website. Extract it and install it. Use the MSI installer instead of the EXE, because the EXE will give you an error message about the version of windows not being correct. Once installed the ASUS Update Utility will download and install the latest Firmware version for your eeePC BIOS.
0 Removed from Cisco Firmware Naming P0S3-08-11-00 becomes P0S3-8-12-00?
June 10th, 2009This problem had me going nuts for about 30 minutes. Typically when an update comes out, I just edit all of my configuration files by changing the subversion up by one number. This time around I was having problems with the phones unable to find the firmware on the TFTP Server. My aha moment came when I ran the following commands:
root@pbx:/tftpboot $ ls *08-11*
P003-08-11-00.bin P003-08-11-00.sbn P0S3-08-11-00.loads P0S3-08-11-00.sb2
root@pbx:/tftpboot $ ls *08-12*
ls: *08-12*: No such file or directory
Cisco has changed the syntax ever so slightly from 08-* to 8-*. Hope that helps someone!