Remko Weijnen's Blog (Remko's Blog)

About Virtualization, VDI, SBC, Application Compatibility and anything else I feel like

Archive for May, 2011

Installing Dell Wireless 5530 HSPA Mini PCI

EDIT: See my followup article to learn how to reverse driver_auth.exe, decrypt and encrypt dell_wwan_sysID.dat.

I bought a Dell Wireless 5530 HSPA Mini PCI card for my Dell Precision M4500 laptop.

This is a small expansion card that works together with the built in SIM card slot that is present in most Dell (Business) laptops.

-) 016

This SIM card slot is usually located near the battery compartment:


The card was installed in a few minutes since the antenna cables were present already and on my laptop I only needed to remove the backcover with just one screw.

Then I wanted to install the required software but this card is not officially supported in the M4500 (I bought this card because it was much cheaper on ebay).

So I took the driver from the M4400/Latitude E range, labeled R251153 but I got this error message when installing:

Internal error 23000. Authentification failed. The Dell Wireless 5540 HSPA Mobile Broadband Mini-Card cannot be installed on this computer



Determining stack size

I just read an answer on StackOverflow with this code:

Unfortunately it lacked explanation, so what does this code do?

It reads offset $4 from the Thread Information Block (the top of stack) into eax and then offset $8 (stack base) into ebx.

Then it substracts the two and moves that into variable eu, that’s all!

RNS 510 Checksum Calculator

About a year ago I wrote a checksum calculator for the Volkswagen RNS 510 navigation unit.

The checksum is a variant on Crc16 and is present either at the end of certain files (eg #CRC16:db1d) or as a special file with the name CRC.16.

The tool is a little exe that takes the filename as the only parameter.


Have fun with it!

RNS 510 Checksum Calculator (4232 downloads)
  • Filed under: Embedded
  • Renaming and hiding object in PowerPoint

    I was working on a PowerPoint presentation that included screenshots that were using the Appear animation. I use it to only show a particular screenshot when I am actually talking about it.

    However when editing the slide, the screenshots hide the slide text which makes it difficult to edit it.

    And in the Animation Pane the pictures are shown as Picture1, Picture2 etc.


    So I wanted two things;

    1. Rename the object to a more meaningfull name in the Animation Pane
    2. Hide the screenshots when I want to edit the text in the slide.



  • Filed under: General
  • I started using the i-Clickr PowerPoint Remote iPhone App for my presentations recently. I like this app as it shows me the current (or next slide), annations and previous/next buttons:




  • Filed under: iPhone
  • How Outlook and Exchange handle Timezones

    Again an old war story, this time about timezone handling in Outlook/Exchange.

    I am not sure which year it was but I had just started to work for a new company and inherited an Exchange 5.5 Server.

    The mail had been migrated from an earlier version and calendar data was migrated from Schedule+.

    On the first change to Daylight Savings (DTS) all recurring appointments where shown one hour later (or earlier can’t remember) in Outlook. A manual change was not an option: there were over 2000 mailboxes each with a lot of appointments.

    We first tried a workaround by disabling DTS on the the workstations and then manually change the time when changing from and to DTS. 

    But this influenced the timestamps on externals mails and of course appointments with external parties.

    After a lot of (and I really mean a lot) of researching I found that Outlook stores all times in an appointment as relative (UTC) time.

    Upon display it uses an undocumented TimeZone descriptor field to convert to Local Time.



    Stuff from an ancient past

    I just found a very old backup file containing old source code for a few tools I wrote ages ago.

    This was in 1997 on my first job for a company called PTT Telecom (the Dutch Telecoms) and I wrote some tools to make life easier.

    They were all written in Turbo Pascal and supported Long Filenames when running under Windows ’95 (there was a trick to do that under DOS).

    The first tool was called Retreive Tool, it parsed a backup file from a private branch exchange (PBX) and could make reports about Licensing, the hardware in the PBX, Extension numbers and their hardware positions and so on.




  • 1 Comment
  • Filed under: Programming
  • If you want to check if you are running on a Server Core edition of Windows you can use the GetProductInfo API.

    GetProductInfo takes 4 input parameters that can be obtained using GetVersionEx and the OSVERSIONINFOEX structure:

    No we call GetProductInfo:




    VW RNS 510 Navigation Startup Pictures

    A while ago I started exploring the firmware of an RNS510 Navigation unit. The RNS510 is an OEM navigation system, manufactured by Continental Automotive and is used in several models of Volkswagen, Seat and Skoda Cars

    When the units is booting it shows a startup logo and I wanted to replace this logo with my own picture.



  • Filed under: General
  • Deleting scheduled Altiris tasks from SQL

    I needed to delete around 50 scheduled tasks from several machines in Altiris because something went wrong in on of the first jobs.

    It would have better if the jobs were configured to fail on error and not continue but they weren’t.

    Deleting the jobs from the Altiris console is very, very, slow. First the console asks for confirmation (after showing the hourglass for a long time):


    Then the actual delete can take a few minutes and then the next server and so on.

    I decided to delete the tasks directly from SQL.

    I know this is not preferred but I think in the end it’s safe enough because I found a stored procedure called del_event_schedule which looks like this:

    So al it does is a (transacted) delete from the table.



  • 1 Comment
  • Filed under: SQL Server, VMWare
  • Blogroll