Question

I've been involved with a project where I have to install and use a USB GPRS modem on an ARM board (RSC-W910) with Windows CE 6.0 installed. The modem is the Sierra Wireless product GL6110 (GL61x0) and I need to use it only for data, making HttpWebRequests (TCP) send/receive XML data. Prefered development tool is C# and .Net Framework 3.5.

When the modem is connected via USB to the board, the error message that appears is saying "Unidentified USB Device" which I believe its normal.

Siera Wireless(SW) provides a driver for ARM920, but it failed to install using 'wceload.exe'. The error was "Setup Failed" that I could see on the small LCD screen attached to the board. To install the driver I connect to the board via Telenet and CAB file is stored on SD card. Am I right to think that the failure to install the driver could be related to the fact that the Win CE image has RAM-based Registry?

If SW does not provide a driver for the modem, could this mean that I have to develop my own driver? or is there a generic driver that I can use instead?

Will I have to create a new Win CE image for the board to support the modem, or is it possible to use code within the C# application to access it?

Any help will be very much appreciated!

Thanks,

Nick

Was it helpful?

Solution

There's no generic driver, no. Sierra modems generally have CE support (I'm not checked this model, but it's likely to work). What you need is:

  1. A Driver DLL, build for ARM and for CE 6.0 or 7.0 (the CE 5.0 driver model differs, so a CE 5.0 driver probably won't work)
  2. The registry entries the device.exe looks for when the device is enumerated

These sometime come in a CAB, sometimes not. Generally I prefer it when they don't but either will work.

If the CAB file fails to install, it's probably because it's marked for some other platform. I'd use something like WinZip or WinRAR to pull it apart, rename the DLL and extract the necessary reg entries (depends on the CAB format how easy/hard this will be).

Generally, though, you need to copy the driver DLL to the \Windows Folder, then apply the registry entries. Then when the device is plugged in, it will read the registry, which will point it to the DLL, which is then loaded. "Unidentified USB device" typically means the registry entries were not found.

This can all be done without rolling a new OS image, though sometimes a new image is simpler than doing the necessary copying at startup, especially if the device is plugged in at boot.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top