2

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

user1725145
  • 3,993
  • 2
  • 37
  • 58
Nick
  • 23
  • 1
  • 5

1 Answers1

1

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.

ctacke
  • 66,480
  • 18
  • 94
  • 155
  • Thanks for your answer Chris, SW provides a CAB file which contains the following when viewed by 7zip. WAVECO~1.000 setupdll.999 00cdcusb.002 00serusb.001 _setup.xml You can download the file if you want [http://www.adrive.com/public/K9vtMw/Sierra%20Wireless%20USB%20driver%20for%20Windows%20CE6%20ARM920.CAB]. I had a look at the _setup.xml file and my understanding is that the 00serusb.001 and 00cdcusb.002 need to be extracted and also all the Registry keys and values to be created. Am I correct in thinking that? Is it a simple rename enough to convert the files? – Nick Feb 06 '13 at 14:40
  • The setup.xml file tells you what the actual file names are and the registry entries. So yes, just extract the files and rename them manually, then add the registry entries manually. – ctacke Feb 06 '13 at 14:54
  • Thanks again Chris, I managed to get the modem working. I will be testing it in order to make sure that the driver works and its stable. If its ok I'll post an answer on what needs to be done to get the modem working, so it can be used for future reference by others that might be interested. – Nick Feb 07 '13 at 15:21