Category Archives: Hardware

Community Voice Mail

Hmm..if you are ever wondering what to do to with a Trixbox

Community Voice Mail is a service that provides free phone numbers and voice mail boxes to clients without reliable access to a telephone.

Their phone may have been cut off; they may live in a group shelter; they may be fleeing domestic violence. For many poor, homeless, or otherwise needy people, the privacy afforded by a personal voice mailbox is an impossible luxury.

CVM is a hosted service which is run out of their national office in Seattle. They reserve blocks of phone numbers in their host cities. Local programs are hosted by an existing social-service agency or program, who must provide one FTE person as staff.

From the CVM web site:

The CVM Model

Each CVM site around the United States is hosted by one main social or health service agency (“Host Agency”) which is responsible for funding and managing the CVM service for the whole city/community. The host agency gives out the voicemail boxes to other participating agencies who then give them to the end users/clients. The key to the program is the fact that clients receive a local telephone number at which to receive messages from potential employers, landlords and others –and case workers can utilize CVM to stay in contact with their clients, doubling the impact of the service.

Another fine article…hidden behind the “premium” firewall at the Chronicle of Philanthropy.

Disk Partitions

I am reminding myself of how disk partitions work, and how they can be manipulated. The impetus for this is an attempt to load Windows XP Embedded (XPe) on my target machine, an ASUS Pundit. Using Acronis Disk Director Suite, ($49.00) I created a separate small partition for the XPe installation. The problem then was trying to figure out how to boot the extra partition.

Partitions can be marked several ways
a. Active Primary – this is the boot partition. There can only be one of these on a disk.
b. Primary – This can be either a bootable partition, or not.
c. Extended – A physical partition that can be further subdivided into other partitions.
d. Logical – A subdivision of an extended partition.

The upshot for the test machine is that I want to have two partitions; one for the original Windows and software installation, that includes all of the necessary application software and a second testing partition for the Windows XPe image which contains all the applications and drivers already burnt into the XPe image.

Also, I need to be able to designate one partion or the other as the boot partition. This is done by marking the partiion as “Active”, and insuring that the boot drive letter is designated drive C:. The first part, designating the partition as the boot partition, seems to work fine within the Acronis program. Changing the drive letter, on the other hand, does not seem to be so intuitive as it involves a registry edit.

The drive letter desgination is important, because many programs rely on the designated drive letter to find their own executables and data.

To boot the XPe partition, I changed it to the “active” partition, and then renamed the drive letter to C: A final change involved changing the Boot.ini file which is present in the root directory of the partition. This file looks like this:


[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows
XP Embedded" /fastdetect /noexecute=AlwaysOff

and it gets modified to change partition(1) to partition(2) in both instances, so that the boot designated boot partition is indeed the 2nd partition on the drive. I recall from my distant MCP days, that although disk drives are numbered beginning with 0, the partitions are numbered beginning with 1. The diagnostic for this is that if you have already designated the second partition as active, but still boot into the “wrong” partition, it means that the OS files that are loaded are the ones that are pointed to be the boot.ini. To make this even more confusing, there is the notion of the “system” partition and the “boot” partition. This is a distinction which I think is only talked about when dealing with Microsoft operating systems. Perversly, the names seem to be reversed….it is the “system” partition which contains NTLDR and boot.ini. and the “boot” partition which contains \Windows, and \Windows\System32, and all the operating system binary files.

In 99% of the cases, of course these files are are all on the same partition and in most cases there is a single partition on a drive anyway.

Microsoft Action Pack Update for July

One reason why I like the Microsoft Action Pack is that it gently feeds you a trickle of the tsunami of new Microsoft products, betas, Community Technology Previews (CTPs), samples, trials, and templates. This months quarterly update is no different and includes a couple of interesting products:

  • The 64 bit version of Vista Business
  • Beta 3 of Windows Server 2008 Enterprise in both 32 bit and 64 bit versions.
  • System Center Essentials 2007
  • Office Live Communications Server 2005 Enterprise Edition
  • Windows Server 2003 R2 32 and 64 bit

I’ve been running Windows BackOffice 2003 on my server for what I think is at least two or three years, so I’m contemplating installing one of the straight Windows Servers as a replacement. BackOffice is fine if you want to run Microsoft Exchange, and you want to have some beefed up management tools, but I’ve never been convinced of its utility over the regular Windows Server product. Exchange is a whole trip in itself, (can you say backup and spam control?) and in small offices that would otherwise be the typical customer for BackOffice, I would normally recommend just going with mailboxes from your internet service provider.

Live Communications Server is the Microsoft VoIP back-end product…something I’m interested in looking at; but was unable to install on my Win 2003 BackOffice server.

The Action Pack is a quarterly shipment to Microsoft Partner subscribers, and is suited for small consultancies or businesses with ten or fewer desktops. You get the full office suite with all the goodies like Visio and MapPoint, as well as all the server operating systems. No development tools–that is for the Microsoft Developers Network Subscription, but so many of those are available as trials and free versions that you can get pretty far without spending a lot in that area.

New Dell Lines

Comrades!

Dell’s new “services and systems for small business” adds a new line called “Vostro”. Maybe it is because I just enjoyed “The Hunt for Red October” on DVD with Sean Connery and Sam Neill, but the the name sounds like shades of the 1950’s and the cold war. Dell was never one for particularly attractive designs, the units even look a little bit like something designed in the former Soviet block, relentlessly unadorned and practical..and actually more attractive than the standard designs for desktops a few years back. Still, I wish they’d hire the Apple designers.

Apparently the features of units for small business include:
1. Tech support delivered from the U.S.
2. Elimination of all the shovel-ware that they used to put on the hard drive.
3. Software to allow Dell technicians to log into the machine remotely.

And yet, Latitude and Optiplex live on. So does this mean the death of the Dimension? and the end of the Dell Precision?

Building a Windows XPe Test Environment

Back in May I worked through a Microsoft Virtual Lab online that created a test target environment for a Windows XPe device.
Today, I’m attempting to build my own version of a target device using Microsoft Virtual PC, following instructions from MSDN, How to Demonstrate Windows XP Embedded.

Continuing with the “virtual” theme, I was pleased to see instruction for creating an image on a Microsoft Virtual PC.
If you have never used this, it is available now as a free download, and it is great for trying things out without trying to scrounge another PC someplace. An essential developer’s tool, Virtual PC can be used to try different operating systems, (including non-Microsoft O/S’s), program builds, simulated client environments, virtual networks with multiple workstations, you name it.

But back to Windows XPe. I’m a newbie, so there were several non-obvious issues that I noted in the MSDN instructions.

The procedure describes using the Windows Preinstallation Environment. This is the equivalent of a DOS boot disk with a bunch of command-line utilities that you can use to prepare disk drives, copy drivers, and so forth. Windows PE has been around awhile, it appears to have been initially designed for use by “white box” computer system builders who wanted to configure hardware before installing Windows. So, essentially what you are doing to prepare the virtual PC is the following:

1. Create a new virtual PC and virtual hard drive for the embedded XP application.
Be sure the networking setting is set for “shared networking”.

2. Boot this new virtual PC using the first CD from the Windows XPe Evaluation Kit. This CD 1 contains the boot image for Windows PE. It will boot up the virtual PC and come to a command line with X: as the drive letter. The X:, in this case refers to the CD drive NOT the disk drive that you created for the virtual PC. This is because…you have to partition and format the virtual drive, per the instructions above in the MSDN article.

3. The article then describes the process of running TAP, the “Target Analyzer Tool” which captures the configuraton of the hardware that you are running on. This creates a file called devices.pmq

4. You need to get the devices.pmq to your host machine, either by running TAP with the output switch or copying the file to a share. This is a little confusing in the instructions; here is how I interpreted it.

a. Create a folder on the host machine called C:\Windows Embedded Images”

MD "C:\Windows Embedded Images"

b. Share this folder with a name XPe

NET SHARE XPe="C:\Windows Embedded Images"

c. On the virtual machine, Map the Z: drive to the shared folder using the IP address of the host machine as the server name.

NET USE Z: \\192.168.0.102\XPe

You may have to supply a name and password for this, (actually, this is a good thing..); I had to use my admin name and password to get in.

d. On the virtual machine drive C:, copy the devices.pmq to the shared folder

COPY  C:\ devices.pmq Z:

After completing this portion of the instructions, I continued on with the discussion of the compnent designer. This is one of the tools included in the Microsoft Windows Embedded Studio

1. Go to File Import, and choose the devices.pmq


The import function takes a few minutes to run. (10 or more). Once it is completed and you close the import dialog, you’ll get a first look at the component tree with the imported devices shown on the right.

Photo: c:\componentdesigner.png

2. Ok, moving right along the next step is to “finalize” the component.


This screen shot matches the one in the MSDN article.

3. Saving this file (from File|Save) creates an sld file.

4. Now the sld file needs to be imported into the Windows XPe component database using the Component Database Manager. This step is described in the MSDN document.

Finally, you get to build the Windows XP image using the Target Designer. This is where the components are chosen for the Windows image. Of course, the componet that you’ve just created needs to be added, as it contains all of the information about the target hardware.

The instructions say you should update the User Interface Core Component, but as this wasn’t added yet, I first added this manually. My guess is this would get added if you updated the dependencies before this step. By changing these, you have the opportunity to manipulate the user environment, similarly to the way you can set options using group policies.

Then, when you do the Dependency check, hundreds of components will be added. This step takes several minutes. When it completed, it showed that there were 10430 components included.


When all dependencies are resolved, you then build the run-time image. This took about 3 minutes, resulting with an image of 129.0 mb compressed, and an estimated uncompressed size of 179 megs. Not something that will fit on a floppy disk!

Doesn’t this look familiar?

As part of the process of installing this on to the virtual machine, the instructions call for using the Microsoft Resource Kit utility RoboCopy. This is XCOPY on steroids. Not only does it copy files and directories, but it preserves any attributes and settings on the files and directories. I did the copy. Occasionally it would stop because it claimed the network connection was down. I don’t think think so….as it copied from the the same physical machine. But in the end it looked OK.

This shows the result of the copy operation, and the root directory of the target machine. Recall that this is a command window within the Windows PE Environment (the graphic backround image), appearing in a virtual PC (the title bar and toolbar). Let’s see if the XPe image will boot!

The first boot agent starts. This writes the registry, installs system security, registers components, registers class installers, installs hardware devices, in short, completes the process of installation. Once configured, it forces a reboot again, and Voila! We’re into a session of XP embedded.

Unreview: HP OfficeJet K5400


After working with a crippled HP c2000 OfficeJet printer for almost a year, I finally gave up, and purchased an HP OfficeJet K5400. I still have a LaserJet 2420 for black and white, but I found I was missing having color. So far the color inkjets surpass the laser versions, at least in my price range.

The K5400 was selling at Staples for about $175.00. I was so tickled that they would recycle the old printers for $10.00 each, that I went right ahead and followed the salesperson’s recommendation for the replacement. At the same time they attempted to sell me a separate warranty, a USB cable, and extra ink cartridges. Had I bought all those, I’m sure I would have spent over $300.00.

This is a “conventional” (i.e. not photo) printer, with 4 ink cartridges. Still, the photo printing is acceptable. The version I bought, which may acount for the difference in price between Amazon and Staples, includes a duplexer and a network interface. I plugged the printer into my hub, and it went out and got a network address from DHCP.

One thing I wasn’t used to: the printer actually takes almost 20 minutes to set itself up to align the print heads. I guess hardware is getting dumber, and software is getting smarter.

It is amazing all the disposible junk that comes with the printer, by the time you’ve unwrapped the ink cartridges and the printer heads.

The sticker on the printer advertises that it is “cheaper than a laser”. We’ll see.

Dell: Read the Fine Print

Got a new Dell “home” catalog today… Its as random as ever… a dozen laptops, a dozen desktops. No coherency among product lines. Reading some of the fine print:

Dell’s Return Policy: If you cancel your purchase for any reason within 21 days, we’ll refund your purchase price minus shipping and handling and applicable restocking charges. You are responsible for the cost of shipping your system back to us.

Warranties: You can get a copy of our limited warranties and guarantees by writing Dell USA L.P., Att: Warranties, One Dell Way Round Rock TX 78762. To purchase warranty only or for more information on other service options, please call 1-800-915-3355 or visit dell4me.com/termsandconditions

And I thought this was an interesting technical note:

Shared Memory on Select Dell Dimension, Inspiron and XPS systems:
Up to 512MB of system memory may be alocated to support integrated graphics, depending on the system memory size and other factors (Dim. C521 and E521, up to 512MB, Dim E520, XPS, M1210 and 210, Insp. E1405, E1505, and E1705, up to 224MB, Insp. 1501, up to 256MB)

To paraphrase a well-known technical curmudgeon “we read the fine print so you don’t have to”.

1. Dell used to have a 30-day no questions asked return policy. Clearly this has now been reduced to 21 days, and you may end up paying an applicable restocking charge of how much? If you return a machine, I’d be surprised if the return shipping, fees and restocking are less than $100US.

2. They don’t publish their warranties in the catalog, because they are mostly legalize designed to protect the company and the customer be damned.

3. If you think you have 2 gigs of memory in your machine, you may only have 1.5 gigs of “useful” memory, as a chunk of it is going to the video board.

Note that these gems appear on two full pages, A14 and A15 of similar legal ass-covering.

Martin Geddes: Cold on VoIP? Exactly

Martin Geddes is sceptical.

I ought to explain why I’ve suddenly gone cold on VoIP.

It’s just I’ve watched my own behaviour. I’ve grown tired of the inconsistency of PC VoIP calls, and instead I’ve reverted to using landlines, mobiles and Jajah (for callback). But I’m still using IM to set up many of those calls!

The problem isn’t unique to any one client — they’re all proving unsuitable for business use with clients (which is most of my telephony needs covered).

The worst of all seems to be Skype conference calling. We probably would rate the quality as “unacceptable” for 50% of the attempts. When it’s good, it’s great. But that isn’t what I’m after.

He goes on to talk about how softphones don’t work very well.

Another problem with PCs is they’re just lousy telephones. When you hibernate Windows XP on my HP laptop, all kinds of audio settings seem to go wrong and the volume buttons stop working. Bluetooth is hopelessly unreliable, and who wants another wireless headset device to remember to charge up (and bring the charger when you travel)? Or to have to rush to fish out a headset and plug it in when a call arrives?

Before I get accused of plagiarizing the whole piece, you can read the full post.

There are a couple of issues here:

VoIP qua VoIP is really a very broad spectrum of technologies, encompassing softphones, free calling, replacing million dollar hardware PBX switches with open source software switches, and new applications. Martin’s definition for purposes of his discussion, if I read his article correctly cites two problematic applications; softphones on PCs, and conference calling on Skype.

I agree with his scepticism. My own interest in more in Asterisk/Trixbox and replacing the traditional circuit switched phone line infrastructure with packet switched calls over the internet. While I have made a couple of calls from my laptop, it seems a little bit silly to do so when I’ve got my $15.00/month cell-phone handy. So if softphones don’t work I’m personally not going to slit my throat.

But, the internet calls thing, is more problematic. Clearly, we are at the mercy of the internet when placing such calls… once your packets get outside your own local area network, they are flung out on the storm-tossed seas of the public internet. And, as we all are getting what we wished for with network neutrality, our packets are being treated like everyone else’s packets. So, your 911 call’s packets might be held up by an image of Johnny Depp, or even the whole movie.

One solution of this so far, as been “quality of service”, which is a euphemism for “prioritizing packets”. If people played nice, then, every router on the net would be smart enough to know that some packets are more equal than others, and voice and media packets in particular need to be forwarded before eMail and ftp packets. And indeed, if I’m making VoIP calls from my Trixbox while downloading those bloody updates for Windows, call quality goes down the tubes, (and this is with me, placing a single call, and downloading from a single workstation on my LAN).

The second solution, and really the only one at this point, has been to provide enough bandwidth so that whatever the exigencies of packet transfer there is enough slack in the network so that most of the voice packets will arrive, in the correct order. In buildings that use VoIP phones, the best practice is to run a separate set of 10BaseT cabling for the softphones. Mind you, this is a separate subnet from the data network that is currently in place. (Note: Someone will argue that this already in place, because we’ve got the existing two or four pair wiring in place for the telphone…)

So, is it responsible of us to suggest for a non-profit that they should:
1. Invest in new desk phones at $125.00 for each desktop location
2. Double their cable infrastructure
3. Purchase a quality of service router that at least will prioritize packets moving in and out of their own location
4. Purchase a dedicated server, with attendant UPS backup and management
5. Figure out how all this goes together.

when it may not work. Specifically, that you won’t be able to rely on 99.99% availability when placing internet calls, and you won’t be able to ensure that 99.99% of inbound calls to your internet-brokered phone lines will reach you.

when you can go to Best Buy or Amazon and get a Panasonic key phone system with six phones for $2500 or so, which you can forget about once it is installed.

I’m just asking.