USB drivers - surely there is a better way

Dear Sierra Wireless, this is a bit of a complaint and a request for more information and a better driver and installer.

We have developed a system around the FXT009 modem that we are about to start selling to end users. As part of the process of installing the system, the user needs to connect to the modem (using the USB cable) and configure some settings (APN, SIM PIN etc). To do that they need to install the USB drivers. This is where it all goes wrong.

  1. Can we get just the drivers so that we can integrate them with our own setup process? Decompressing “USBDriverInstallerV3841.exe” gets us part of the way there, but it is a mindfield. For 32bit OS it seems we need to run “InfInstaller.exe”, but what are the parameters we need to pass to it?. For 64bit OS we can just run “DPInst.exe” for USBCOM.

2a) The reason we need to do 1 above is because “USBDriverInstallerV3841.exe” is error prone and does not check for or install required libraries. i.e. JRE or “Visual C++ 2005 Runtime”. Also re-installing over an existing install throw’s up various error.
2b) Additionally there is no way of running a silent install and you require the user to register information to you, which nobody wants to do.
2c) All of this gives a very bad experience to a non-technical user that just want to click install and not worry.

All I want is an EASY way to install a USB COM port driver for the modem. No registration, no funny installer requirements and something that is lightweight and just works.

  1. Additionally there seems to be a newer version of the driver available (it asked to download the newer driver when installing) but it is no-where to download from in a file form. So any of my users that are going to run this, are going to be asked to download another package, making the one I provide redundant except to kick start the process of downloading the newer but otherwise unavailable driver.

PLEA FOR HELP>

Can anyone provide more insight into how I can get step 1 to work?

Sierra Wireless, please provide for end-user friendly drivers!

Thanks,

Karl

1 Like

You’re not the first to complain about the absolutely horrible install experience for those drivers.

I usually have to tell our customers that need to install this driver set that when the notice comes up that a newer driver is available, they answer NO.
This is from way too many reports from them that if they answer YES to download the newest drivers from the Internet, it simply won’t work.

Uninstalling the drivers can also be a pain, as you usually first have to run PhiMdmCleaner.exe to unregister all virtual com ports that have been created (one for each unique module that’s been connected to the computer).
Uninstalling/Reinstalling the drivers can become necessary if you fill up all available com port numbers (up to 255 or 256 on a standard Windows machine). (This has happened a few times for some of my customers)

What is needed is easier install/uninstall procedures that does not in any way rely on a java runtime being available, with tools like PhiMdmCleaner available separately.
One thing that would be preferred in addition is if it would be possible to not get a new com port assignment for each unique module when you remove one and insert another using the same USB port.

1 Like

Hi Tobias, thanks for your reply. I agree fully with your comments. It is really disappointing to have a great product like the FXT009 but then have to give the user a “really horrible install experience”. Their first impression of a new product.

Is there anyway to lean on Sierra Wireless to get them to re look at this. I have asked my distributor to take this up with them, but not sure how much that will achieve…

Requiring Java for this install is really painful…

Thanks,

Karl

+1 for both things.
Sierra! USB drivers are nearly useless for years now! Where is any attempts to give us a working product?

CALLING ALL SiWi developers!

Can I get an indication how many of you are frustrated with the current USB drivers. Can you please add your comments here (kind of like a petition) especially the regular users of the forum (the ones SiWi will recognise)…

If there are enough of you, then I will contact Sierra Wireless directly and point out that there are many of us developers that need better USB drivers. Hope this will then add some wait and help prioritise them doing something about it.

Thanks,

Karl

This is a Windows thing, nothing to do with the Sierra driver. Windows assigns new a COM port number whenever it sees a device of the same type with a different serial number. You can disable this:

ftdichip.com/Support/Knowled … number.htm

We use IgnoreHWSerNum114f1000 with FXT009 modems.

More problems with the USB drivers…

Have been trying to help a customer install them, but whenever a unit is plugged in over USB, the only thing that shows up is USB MODEM, a Windows Update search and then “can’t find any driver”… That is of course after installing the driver set and not getting any installation errors.
Same problem regardless if I let it install newer drivers from internet or not.

Same unit, same cable, etc. on another computer, everything works fine without any problem at all.

When can we expect to get something that actually works? That customers can actually use on their own?

This is really very painful and disappointing. We are now actually changing our product, so that the user does not need to install the drivers. It is just too painful to ship something so sub-standard. Next time I select a modem for doing this sort of thing, I will definitely be looking for something that has considered the end user and their experience when installing the software.

It does not matter how cool OpenAT is (and it is), it all falls down if the user can’t install the drivers required to configure the modem.

Please Sierra… DO SOMETHING! We seriously need a no brainer installer, that users don’t need to think about. Even better something that can be run as a silent install and one that does not run all the dev + debug stuff. Perhaps you need to create a “Driver for end-users” and a “Driver for developers”?

Thanks.

I agree with you all. We are about to release a new product. Our customers are not tecnicians and most of them do not have good IT skills. I´m a little bit frustrated with that horrible Driver installation.
I thought there was an alternative silent way to install the driver.

I hope Sierra gives us a solution

The 64bit USB driver for the LS300 is not signed which means it wont install under win7/8 at all. This is an issue as we cannot setup a modem even at this point. Why are the drivers not even signed?

It is possible to disable the insistence on driver signing:

howtogeek.com/167723/how-to- … d-drivers/

You can now!
8)

Presumably, because it is a non-trivial exercise? Probably also not free?

This is a big problem - not just for SiWi! :open_mouth:

A customer of us cannot install Sierra Wireless’ USB driver. What is the reason?

Error log:

!SESSION 2014-07-02 13:54:43.522 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0_55
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Framework arguments:  
Command-line arguments:  -os win32 -ws win32 -arch x86 

!ENTRY org.eclipse.equinox.ds 4 0 2014-07-02 13:54:44.289
!MESSAGE 
!STACK 0
org.osgi.framework.BundleException: The bundle "org.eclipse.equinox.ds_1.2.1.R36x_v20100803 [1]" could not be resolved. Reason: Missing Constraint: Import-Package: org.eclipse.equinox.internal.util.event; version="1.0.0"
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1317)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolutionFailureException(AbstractBundle.java:1301)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:319)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
	at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

!ENTRY com.wavecom.spm.core 2 0 2014-07-02 13:54:47.596
!MESSAGE Unable to find reconciler.dropins bundle

!ENTRY com.wavecom.spm.core 1 0 2014-07-02 13:54:47.782
!MESSAGE Refreshing installed packages

!ENTRY com.wavecom.spm.utils 2 0 2014-07-02 13:54:48.051
!MESSAGE Unable to locate images/arm946.png entry in com.wavecom.spm.model bundle

!ENTRY com.wavecom.spm.utils 2 0 2014-07-02 13:54:48.052
!MESSAGE Unable to locate images/arm7.png entry in com.wavecom.spm.model bundle

!ENTRY com.wavecom.openat.ide.installer 1 0 2014-07-02 13:54:56.291
!MESSAGE Refresh Update site repository:Sierra Wireless Software Suite

!ENTRY com.anwrt.p2.installer 1 0 2014-07-02 13:55:28.374
!MESSAGE Preparing repository for Drivers

!ENTRY com.anwrt.p2.installer 1 0 2014-07-02 13:55:28.574
!MESSAGE Local install Drivers to C:\Program Files (x86)\Sierra Wireless\Drivers

!ENTRY com.wavecom.spm.core 1 0 2014-07-02 13:55:28.591
!MESSAGE DirectorApplication Args:[-r, jar:file:/C:/Users/servicent/AppData/Local/Temp/sfx23415172.tmp/repositories/Drivers.zip!/, -installIU, com.wavecom.drivers.usb.feature.group/3.8.6.0-201307191237, -destination, C:\Program Files (x86)\Sierra Wireless\Drivers, -profile, DriversProfile, -profileProperties, org.eclipse.update.install.features=true, -roaming, -flavor, tooling, -p2.os, win32, -p2.ws, win32, -p2.arch, x86_64]
!SESSION 2014-07-02 13:55:28.717 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0_55
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Framework arguments:  -application com.wavecom.spm.core.director -r jar:file:/C:/Users/servicent/AppData/Local/Temp/sfx23415172.tmp/repositories/Drivers.zip!/ -installIU com.wavecom.drivers.usb.feature.group/3.8.6.0-201307191237 -destination C:\Program Files (x86)\Sierra Wireless\Drivers -profile DriversProfile -profileProperties org.eclipse.update.install.features=true -roaming -flavor tooling -p2.os win32 -p2.ws win32 -p2.arch x86_64
Command-line arguments:  -os win32 -ws win32 -arch x86 -application com.wavecom.spm.core.director -r jar:file:/C:/Users/servicent/AppData/Local/Temp/sfx23415172.tmp/repositories/Drivers.zip!/ -installIU com.wavecom.drivers.usb.feature.group/3.8.6.0-201307191237 -destination C:\Program Files (x86)\Sierra Wireless\Drivers -profile DriversProfile -profileProperties org.eclipse.update.install.features=true -roaming -flavor tooling -p2.os win32 -p2.ws win32 -p2.arch x86_64

!ENTRY com.wavecom.spm.core 2 0 2014-07-02 13:55:29.420
!MESSAGE Unable to find reconciler.dropins bundle

!ENTRY org.eclipse.equinox.p2.engine 4 4 2014-07-02 13:55:42.189
!MESSAGE An error occurred while installing the items
!SUBENTRY 1 org.eclipse.equinox.p2.engine 4 0 2014-07-02 13:55:42.189
!MESSAGE session context was:(profile=DriversProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null --> [R]com.wavecom.drivers.usb.win64 3.8.6.0-201307191237, action=com.wavecom.spm.utils.p2actions.AdvancedCopyAction).
!SUBENTRY 1 org.eclipse.equinox.p2.touchpoint.natives 4 0 2014-07-02 13:55:42.189
!MESSAGE I/O Error while copying C:\Program Files (x86)\Sierra Wireless\Drivers\plugins\com.wavecom.drivers.usb.win64_3.8.6.0-201307191237\resources\difxapi.dll - see details.
!STACK 0
java.io.IOException: Error while copying:C:\Program Files (x86)\Sierra Wireless\Drivers\plugins\com.wavecom.drivers.usb.win64_3.8.6.0-201307191237\resources\difxapi.dll
	at org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CopyAction.xcopy(CopyAction.java:150)
	at org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CopyAction.mergeCopy(CopyAction.java:104)
	at org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CopyAction.copy(CopyAction.java:77)
	at org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CopyAction.execute(CopyAction.java:39)
	at com.wavecom.spm.utils.p2actions.AdvancedCopyAction.execute(AdvancedCopyAction.java:25)
	at org.eclipse.equinox.internal.p2.engine.ParameterizedProvisioningAction.execute(ParameterizedProvisioningAction.java:35)
	at org.eclipse.equinox.internal.p2.engine.Phase.mainPerform(Phase.java:149)
	at org.eclipse.equinox.internal.p2.engine.Phase.perform(Phase.java:78)
	at org.eclipse.equinox.internal.p2.engine.PhaseSet.perform(PhaseSet.java:44)
	at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:73)
	at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:44)
	at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:41)
	at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:23)
	at com.wavecom.spm.core.director.TrustedDirectorApplication.executePlan(TrustedDirectorApplication.java:621)
	at com.wavecom.spm.core.director.TrustedDirectorApplication.planAndExecute(TrustedDirectorApplication.java:615)
	at com.wavecom.spm.core.director.TrustedDirectorApplication.performProvisioningActions(TrustedDirectorApplication.java:602)
	at com.wavecom.spm.core.director.TrustedDirectorApplication.run(TrustedDirectorApplication.java:846)
	at com.wavecom.spm.core.director.TrustedDirectorApplication.start(TrustedDirectorApplication.java:1000)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)

!ENTRY com.anwrt.p2.installer 4 0 2014-07-02 13:55:43.005
!MESSAGE Error while installing packages.
!STACK 0
com.wavecom.spm.pluginmanager.InstallException: Error while installing packages.
	at com.wavecom.spm.pluginmanager.DirectorAppUtil.invokeDirectorApplication(DirectorAppUtil.java:599)
	at com.wavecom.spm.pluginmanager.DirectorAppUtil.installIUIdInProfile(DirectorAppUtil.java:257)
	at com.wavecom.spm.pluginmanager.DirectorAppUtil.installIUInProfile(DirectorAppUtil.java:203)
	at com.wavecom.openat.ide.installer.config.CustomInstallProcess.install(CustomInstallProcess.java:50)
	at com.anwrt.p2.installer.install.InstallableElement.install(InstallableElement.java:441)
	at com.anwrt.p2.installer.install.InstallableElementManager.installElements(InstallableElementManager.java:89)
	at com.anwrt.p2.installer.wizard.AbstractInstallPage$1$1.run(AbstractInstallPage.java:92)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.Exception: Director application has failed.

Output:
Installing com.wavecom.drivers.usb.feature.group 3.8.6.0-201307191237.
Installation failed.


[Error stream]:
java.io.FileNotFoundException: C:\Windows\system32\difxapi.dll (Zugriff verweigert)
	at java.io.FileOutputStream.open(Native Method)
	at java.io.FileOutputStream.<init>(Unknown Source)
	at java.io.FileOutputStream.<init>(Unknown Source)
	at org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CopyAction.xcopy(CopyAction.java:146)
	at org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CopyAction.mergeCopy(CopyAction.java:104)
	at org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CopyAction.copy(CopyAction.java:77)
	at org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CopyAction.execute(CopyAction.java:39)
	at com.wavecom.spm.utils.p2actions.AdvancedCopyAction.execute(AdvancedCopyAction.java:25)
	at org.eclipse.equinox.internal.p2.engine.ParameterizedProvisioningAction.execute(ParameterizedProvisioningAction.java:35)
	at org.eclipse.equinox.internal.p2.engine.Phase.mainPerform(Phase.java:149)
	at org.eclipse.equinox.internal.p2.engine.Phase.perform(Phase.java:78)
	at org.eclipse.equinox.internal.p2.engine.PhaseSet.perform(PhaseSet.java:44)
	at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:73)
	at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:44)
	at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:41)
	at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:23)
	at com.wavecom.spm.core.director.TrustedDirectorApplication.executePlan(TrustedDirectorApplication.java:621)
	at com.wavecom.spm.core.director.TrustedDirectorApplication.planAndExecute(TrustedDirectorApplication.java:615)
	at com.wavecom.spm.core.director.TrustedDirectorApplication.performProvisioningActions(TrustedDirectorApplication.java:602)
	at com.wavecom.spm.core.director.TrustedDirectorApplication.run(TrustedDirectorApplication.java:846)
	at com.wavecom.spm.core.director.TrustedDirectorApplication.start(TrustedDirectorApplication.java:1000)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
An error occurred while installing the items
 session context was:(profile=DriversProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null --> [R]com.wavecom.drivers.usb.win64 3.8.6.0-201307191237, action=com.wavecom.spm.utils.p2actions.AdvancedCopyAction).
 I/O Error while copying C:\Program Files (x86)\Sierra Wireless\Drivers\plugins\com.wavecom.drivers.usb.win64_3.8.6.0-201307191237\resources\difxapi.dll - see details.
Caused by:  java.io.IOException: Error while copying:C:\Program Files (x86)\Sierra Wireless\Drivers\plugins\com.wavecom.drivers.usb.win64_3.8.6.0-201307191237\resources\difxapi.dll
Application failed, log file location: C:\Users\servicent\AppData\Local\Temp\sfx23415172.tmp\workspace\.metadata\.log

	at com.wavecom.spm.pluginmanager.DirectorAppUtil.invokeDirectorApplication(DirectorAppUtil.java:584)
	... 7 more

!ENTRY com.anwrt.p2.installer 4 0 2014-07-02 13:55:43.006
!MESSAGE Unknown issue, end in error

All,

This is recognised as a shortfall in what we supply to customers (certainly on the FAE sales manager front). Feedback through the forums is welcome and is taken on board, however, if you push (complain) your commercial channels i.e. distributors, direct SW sales managers, etc then this will be further fed back into product management increasing pressure to have it rectified, particularly if it is shown to have lost SW sales as this thread has done.

This thread has been pointed out to the relevant PM.

Regards

Matt

Hi Matt, thank you for your reply. It is good to understand the process. I have, as I believe have others, mentioned this to our FAE’s. In my particular case, the below is the response I got.

And since this was just not good enough, I thought I would try and bring this to SW attention through this post.

PS I never got a response. Following up now…

Thanks,

Karl

Hi Karl,

Surely, there can be a better way.
I have taken this request cum proposition to SWI and will definitely get back to you.
Thanks for pointing out the details.

Thanks
Moderator

Thanks, that is great. I look forward to your response.

Karl

Hi Moderator… have you had any feedback/luck with SiWi?

Thanks,

Karl

Karl,

Stuff is happening but it is slow because of the summer holiday period. I will push the product manager again and the engineer who has been asked about this to see where we are with it

Regards

Matt

Ahhh, whats happened to this page… Is it just me, or has the HTML formatting gone bad?

Hi Matt,

do you have any news?

Thanks,

Karl

P.S. Sorry for continuously asking…

Karl,

Pushed PM and we are on the verge of releasing the new drivers, alot of work has been going on in the background (which I did not see), they are just checking to see if we are ready to go prior to the launch of rev 2 of the dev zone (not too sure myself what this is) but we should be there shortly. We are beyond the end of August (some what) that I previously mentioned and I apologise for that.

Regards

Matt