Archive for the ‘Hardware adventures’ Category.

Sansa e250 database rebuild

For some reason, my Sandisk Sansa e250 MP3 player was stubbornly refusing to acknowledge the music that I was copying to it. I tried just about everything I could think of short of formatting the device to get it to see my folders in the Music folder. My device has the latest version 1 firmware upgrade, and I have tried to use both MSC and MTP mode to copy folders to the device, all to no avail.

Finally, I found out that I could force the device to do a database rebuild by doing the following steps, which should work on any Sansa e200 series MP3 player with the version 1 firmware:  (WARNING:  Please do not do this if you are worried about making your device inoperable.  There is always a risk that this will happen when you start futzing with the system files.)

  • Go into the Settings screen and scroll to USB mode, and set it to MSC
  • Connect the device to the computer
  • Once the device mounts as a drive on your computer, browse to the device, look for the System folder, and the Data folder in that folder
  • Delete the file called PP5000.DAT
  • Disconnect the device

Once you disconnect, the device will restart, and it should refresh the database. If you prefer MTP mode, make sure to go back into the settings to change it back.

Some people use QWERTY, some Dvorak, but I use TVQUIZ

Are you looking for something silly and not too sinister to pull on a coworker who takes a week’s vacation on the beach while you are stuck in the office dealing with customers having issues with the vacationer’s product? And did I mention the week in question is one of the busiest weeks of the year for our company?

Here’s what I did to his keyboard:

0828091358

He had to rearrange a few of the keys to make it workable again, as this Dell keyboard has different shapes of the keycaps for the different rows of the keyboard. This took me about 10 minutes, and was much cheaper and quicker than wrapping everything in his office in aluminum foil.

System.MissingMethodException error in System.Data.SqlServerCe

After getting the new development machine up and running for the most part, I started once again to work on the web and client projects that we are going balls to the wall to get finished.

And of course, a roadblock was hit. On the Windows Mobile client, I got through most of the requisite re-referencing and compile errors that inevitably pop up when doing something like this. This client uses the Microsoft Synchronization Services to sync it’s local SQL Server Compact Edition database to our central SQL Server database.

When trying to create a new ServerSyncProviderProxy, the following error is being thrown:

System.MissingMethodException: File or assembly name 'System.Data.SqlServerCe,
Version=3.5.1.0, Culture=neutral, PublicKeyToken=3BE235DF1C8D2AD3', or one of
its dependencies, was not found.

After much headbanging, trial and error on both the 5.0 and 6.0 emulator and on an actual device, Google and Server Overflow searching, and staring at the code, we finally figured out what the problem was. As it turns out, I must have installed the SQL Server Compact Edition Service Pack 1 on my previous machine, and those references were saved and somehow survived in the project. On my new machine, there was a version of SQL Server Compact Edition that was installed by some component (Visual Studio 2008, Windows Mobile SDK, etc.), so to me everything looked OK. However, after installing the SQL Server Compact Edition SP1 on the computer, the error magically went away on the emulator.

As an aside, I tried to put the code on the handheld that it had not worked on previously, and it still did not work. After inspecting the error output, which was different, I found that I needed to redeploy the new SQL Server Compact Edition SP1 Windows Mobile sqlce.ppc.wce5.armv4i.CAB file on the device, unpack it (which overwrote the previous SQL Server CE files on the device), and then all was well.

Setting up a new development machine

When you are forced to set up a new dev box, it can be a big hassle. (Especially if you, like myself, are a jack of all trades developer and master of none.)

It has taken the better part of a few days for me to overcome all of the problems (too many to list here) in trying to resurrect my old machine and get the new one built and up to speed, but I seem to be able to do actual work now. There are still some tools that I have not installed yet, mainly because I will need to dig around and find the original install CDs, and some less used data and files that I have not got into place on the new box just yet.

The new dev box has a Core 2 Quad chip, 8 GB of RAM, and a 1.5 TB hard drive. It seems to sizzle through the routine tasks much better than the trusty old 2 GHz P4 Precision 380 that I was using. (Although TortoiseSVN still crawls at times, anyone have any suggestions???)

Thanks to my company president Chris, he came through for me on this one in a big way, as per usual.

Can you recognize me now? Good.

OK, so a coworker and I are getting ready to hit the road and head down to Knoxville, Tennessee, for CodeStock 2009. Our company has two Verizon Wireless broadband USB cards that we use for presentations and such, so I procured one as I have done in the past to use in Mac and Boot Camp Windows mode on my MacBook Pro. Little did I know the trouble I was headed into getting it all to work on both the Windows half of my MacBook Pro and on my coworker’s Dell Vista notebook.

I had Verizon Wireless Access Manager (cleverly acronymed to VWAM) version 5.8.2 on my MacBook from my previous experience with a Pantech CDMA UM150 card from Verizon. I fired up the software, tried to use the card I was given (a Novatel Wireless EXPD EV720), and it was not recognized. Here is what happened next:

  • Uninstalled VWAM 5.8.2
  • Downloaded VWAM 6.10.2 from Verizon’s web site
  • Installed said software
  • Tried to run VWAM, connected device, no-go

At this point, I decided to try and get a bit creative, think outside the box as it were:

  • Tried to run the NvtlDriverCDFilter_V2.02.07.002.exe application, which I found in the folder C:\Program Files\Verizon Wireless\VZAccess Manager\Drivers\Novatel
  • This component must have already been installed (perhaps by the VWAM 6.10.2 installer), but I went ahead and did the removal
  • Automatic restart
  • Tried to run VWAM, connected device, no-go
  • Ran the NvtlDriverCDFilter_V2.02.07.002.exe application
  • Tried to run VWAM, connected device, no-go

OK, so now I am getting a little perturbed. Time to break out the big guns:

  • Launched Device Manager
  • A yellow exclamation point is showing next to a Data Interface (a-ha!!!)
  • Right click on Data Interface, select Update Driver, and let Windows handle the driver update automatically, at which point the yellow exclamation point disappears
  • Tried to run VWAM, connected device, hardware reported as ready to use and the Next > button lit up.

And it is now working fine on the Windows half of my MacBook Pro.

Armed with this knowledge, I went to my coworker and had him do roughly the same thing. He had an additional snafu on his machine, however. Toward the end of the NvtlDriverCDFilter_V2.02.07.002.exe installation procedure, it came up with an error:

Error 2738. Could not access VBScript run time for custom action.

We did some investigation and found a posting in the support database for NitroPDF that seemed to address this error:

Q10106 – ERRMSG: Error 2738. Could not access VBScript run time for custom action.

After registering the VB Script DLL, and running the installer again, and running the VWAM on his Dell, the card seems to be recognized and connects fine to the Verizon network. Celebrate good times, come on!

By the way, I hate to make this sound like one of those “Hello, I’m a Mac/And I’m a PC” commercials, but the card ran smooth as a baby’s bottom on the Mac OS X half of my MacBook Pro. No software updates or driver snafus whatsoever.