Execution of RT driver VIs in custom device

Hi All
I am building a custom device wherein I am expecting some user input.( user provides input on the main page of the custom device).
Once the input is provided , based on it i am reading specific data from file and creating channels and section.
Previously creation of channels and section i was doing in initailiazation code.  But now As i am expecting user input i cannot create those channels in initialization(reason is before getting input channels will be created which i dont want. My channel creation depends on the user input ).
So this channel creation logic I am now writing in RT driver VI along with my main logic of reading and writing of channels. For this I just want to know when does exactly RT driver VI starts its execution ?
If the RT driver Vi starts execution after adding custom deivce in veristand and after giving the user input then my purpose will be solved.
I hope i have explained my question correctly.
Solved!
Go to Solution.

The driver starts after the system definition is deployed.  I don't think you can add channels in the driver VI.  Nor do I think you want to, because you won't have an interface to them in the system definition.  Without an interface to the channels, i.e. mapping, how will you get data into and out of them?  I think your plan to create channels based on user input and config data is fine.  I suggest you implement in the main page or in custom pages under the main page.
-Steve K

Similar Messages

  • Adapting custom driver for a robotic device that is interfacin​g with an FPGA

    Hi,
    I have a custom driver for a robotic device that I'd like to interface with an FPGA that is reading the digital encoder signals. I am a novice at programing driver files so any help would be much appreciated.
    Thanks!

    Hey Xaq,
    Well we had some other side projects to work on, and I'm no back working with the Windows/FPGA interface. I have one VI that is able to determine the relative position of the PHANTOM device. We're doing this by using 3 loops (one for each motor), running in parallel. So from LabView I have the x,y,z location of the device. As a first pass I want to build a dll that allows my C program to query to position at any time.
    A couple problems here:
    We probably need to break up the vi into several sub vi's, but I'm not sure where to start. Should the contents of each loop be placed into its own file?
    Also we've just upgraded to 8.2, and I'm noticing the method for building dll's has changed significantly. I was not involved with the conversion process, and I'm a bit confused about the tree structure. Under My Computer we have the FPGA target (this comes from our original *.lep project). If I go to Build Specifications here, the only option is to create a new Source Distribution. If I go back up a level to My Computer, the Build Specifications allows me to build a shared library, but now I can't find the vi listed for the FPGA target.
    Please let me know what I should do next. Thanks!
    --Neel

  • Create custom device driver package

    Hello,
    I'm working with LabVIEW 2014 + RT and FPGA addons.
    I have to provide a real-time application to many customers.
    This application is created and can be installed using MAX as User Component to run at startup. I created a CDF file to do this.
    Our customer don't need to use LabVIEW. They just need the device drivers linked to our application.
    Is it possible to create a custom device driver package in order to provide only needed device drivers ?
    I would like to do something like the device drivers installer but only with a litle part of it in order to install automatically everything needed and not more to deploy my application using MAX.
    Best Regards,
    CFOE

    Perhaps you could use the RAD tool (or a modified version of it - it's open source)? See here: http://www.ni.com/example/30986/en/ 
    You can use it to create an 'image' of your RT controller which you can then use the tool to restore the image onto the device. There are also a lot of utilities in the System Configuration palette to help you do this.
    Certified LabVIEW Architect, Certified TestStand Developer
    NI Days (and A&DF): 2010, 2011, 2013, 2014
    NI Week: 2012, 2014
    Knowledgeable in all things Giant Tetris and WebSockets

  • More questions on asynchronous custom device

    I am trying to create an asynchronous custom device for VeriStand and have the following questions:
    a) At what rate is input channel being scanned and data pushed into the input FIFO of the custom device? Is the scan rate affected by whether the input channel is mapped to a Workspace control object or whether it is mapped to a simulation model (.dll file)  output?
    b) At what rate is the asynchronous custome device real-time VI being executed? Is it at the same rate as the primary control loop rate? Can I change the execution rate of a custom device and how?
    c) I have a quad-core PXI real-time platform. How can I assign the custom device to a specific processor, like what you do with a simulation model (.dll file) in the system definition file?
    Thank you in advance.
    Solved!
    Go to Solution.

    Data FIFO
    The rate at which data is pumped to your Custom Device is static, and has nothing to do with whether the Workspace is connected, or whether a model is mapped to any of your channels. By default, data is pushed into your Custom Device's input FIFO every iteration of the Primary Control Loop. If the FIFO is full, the oldest data packet will be overwritten. Also, by default your outputs FIFO is checked ever iteration of the Primary Control Loop. You can, however, use the function NI VeriStand - Set Custom Device Decimation to tag a property on your custom device that will indicate to the system its expected decimation. If you set a decimation of 10, for example, the Primary Control Loop will only send new data every 10 iterations and only check for new data from your outputs FIFO every 10 iterations. This can help reduce the CPU load of your system if you don't need updates that often.
    Similarly, you can use the function NI VeriStand - Set FIFO Depth to control the FIFO depths of your inputs and outputs FIFO respectively. By default both have depth 1.
    Execution Rate
    The rate at which your Custom Device executes depends entirely on how you set it up. You can, for instance, have your asynchronous Custom Device use its own timing and run at a completely independent rate from the system. Your VI could have a regular while loop with a 10ms timer in it, for instance, or it could be based off some hardware device timing.
    You can also choose to tightly synchronize yourself with the Primary Control Loop. You do this by registering using a property that your Custom Device has a Timed Loop that will use the Device Clock. The Device Clock is a timing source that is ticked every iteration of the Primary Control Loop after Custom Device FIFOs have been updated. You register for this simply by calling the property NI VeriStand - Set Loop Type and specifying Timed Loop for loop type and Use Device Clock to be True. Then, as the template VI does, just wire the Device Clock into your timing source input for the Timed Loop. If you have specified a decimation factor, as mentioned above, you should probably also use this factor as your dt. This means if you have a decimation of 10, you should only execute your Timed Loop every 10 ticks of the Device Clock timing source.
    Another easy way to synchronize yourself tightly with the Primary Control Loop with little hassle is to simply base your timing off the availability of new data in your Inputs or Outputs FIFO. To do this, you could just use a regular while loop, and then just wire -1 to the FIFO timeouts. Then your Custom Device will run as fast as data is being produced and consumed by the system.
    Specifying a Processor
    There is no built-in property for processor assignment, but it will be very easy for you to implement this yourself. You can specify the Processor to execute on in System Explorer by creating a custom property using NI VeriStand - Set Item Property. For instance, you could set an I32 property called "Processor", with -2 meaning auto-assign, and any non-negative value indicating a specific processor index. Set this property in one of your Custom Device configuration pages in System Explorer and then read the property in the Driver VI in the engine using NI VeriStand - Get Item Property. Then just wire the property value to the processor affinity input on your Timed Loop. You should, however, always check that that processor exists on the target. Otherwise the Timed Loop will report an error and abort. This is exactly what we do for models internally.
    Jarrod S.
    National Instruments

  • Running unit tests on inline hardware custom device

    How to do unit tests for Inline Hardware Custom Devices?
    I get this error after creating a unit test.
    Possible reason(s):
    Cannot connect to the target. Please ensure that the VI Server setting is enabled and deployed to the target. Also, make sure that the port number is correct and that this machine is allowed to connect through VI Server.

    wegunterjrASI, 
    I have a few follow up questions for you to gain a better understanding of your application: 
    1). What are you using to do the unit test (NI’s unit test framework or VI tester from JKI)?
    2). What are you conducting the unit test on (RT Driver or something on the host machine)? 
    3). Are the unit test VIs under the target in the LabVIEW project? 
    4). Are you able to run a simple unit test? 
    Screenshots are always appreciated. 
    Regards, 
     

  • It seems like outputs don't respond to inputs / cRIO-9024, custom device, NI VeriStand, ControlDesk of dSPACE

    Hello
    I am now working on running a labview controller on VxWorks RTOS, and then this labview controller is integrated with a vehicle plant model in ControlDesk of dSPACE through CAN (cRIO-9113). 
    I have two models as below:
    1. vehicle cruise controller written in labview using the Control and Simulation loop of labview
    2. custom device project
       : LabVIEW model is not supported for VxWorks RTOS, so it is necessary to interface between labview model and compactRIO. 
       This custom device project is set to Asynchronous execution mode and labview model was integrated into <custom device name> RT Driver VI.vi. 
    Anyway, I successfully built a custom device project and deployed to the target, and seems like there is no problem to integrate with a plant model in ControlDesk of dSPACE. (I can see the green light blinking on CRIO-9113, CAN module)
    The problem is that signals from input are not delivered to ouput. 
    As seen below, I just put a laview model into <custom device name> RT Driver VI.
    In order to synchronize time between Timed loop and Control and Simulation loop, Device Clock is connected to two loops.
    Besides, local variables are used to share inputs and outputs. 
    Inputs were not delivered to outputs even when labview controller was an empty loop as below.
    When I manipulated signals at ControlDesk of dSPACE, I saw values in input channels of workspace of veristand changing as I expected, but output didn't change. 
    How can I solve this? shoudl I add some functions into labview code? 
    Besides, when Device Clock is connected to the Control and Simulation loop, should I place a checkmark to 'Synchronize loop to Timing source?
    Thank you 

    Hi Joe,
    You are correct I would definitely begin by looking at the custom device template and the current custom devices (you can download them and open the source code to see a good starting point for how to start)
    However it may be easier to just make a model that has a configurable trigger lines that controls the DAQ device and then use the Stimulus Profile to log the data whenever you want.
    If you decide to go the custom device way here are some good starting points:
    http://www.ni.com/white-paper/9348/en
    http://www.ni.com/white-paper/13604/en
    http://www.ni.com/white-paper/9349/en
    https://decibel.ni.com/content/docs/DOC-9891
    Sam S
    Applications Engineer
    National Instruments

  • Using Set Cursor Busy in Veristand Custom Device Page

    I am writing a Custom Device in Veristand and tried using the Set Busy vi to disable the cursor while I am doing some tasks on a System Explorer page.  It seems like the Set and Unset Busy vi do not work inside of the System Explorer environment.  I see that NI provides a way to release the cursor with the Veristand API but I do not see a way to set it busy with in the API.
    Am I correct in saying these cursor VIs don't work the way they would in a normal application? Or is there a work around here that I am missing?
    Thanks.
    Rob
    Solved!
    Go to Solution.

    Hello,
    The idea is good, it works for me if you open a reference to System Explorer.lvlibystem Explorer.vi (VeriStand 2012) :
    Best regards,
    .mrLeft{float:left} .mrInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898}
    Mathieu R.  
      CTD - Certified TestStand Developer / Développeur TestStand Certifié  
      CLAD - Certified LabVIEW Associate Developer  

  • Driver development for custom PCI card

    Hi friends,
    I've a PCI card developed in-house. How to prepare a driver for the same in LabVIEW? Can I develop drivers in VISA? I don't have a manufacture id. Is there any other method to develop a driver for PCI card? Once developed, can I use them for other platforms like VC++? My OS is Windows 9X/NT & 2000. I need a driver to use for all these. Lot of querries! hope I made it clear.

    THE ANSWER IS THAT YES YOU CAN DO THIS IN NI-VISA!
    Some have said that you need a kernel driver. This is partially true in that a PXI or PCI card (they are the same as viewed by the OS) must have a kernel driver. NI-VISA provides one for you.
    You said that you do not have a manufacturer ID. This is a requirement of all PCI cards and no kind of driver will work until the card has one. Once you have this ID, run the VISA PXI Driver Development Wizard and it will generate an INF for you for all supported NI-VISA environments that support PXI/PCI. Read the instructions in the appropriate INF file for how to install it into the system so that the OS will attach NI-VISA to your device. It's really simple. NI-VISA supports PXI/PCI on Windows 95, 98, ME, NT
    4, 2000, XP, and LabVIEW RT.
    Some have said that MAX will just show you all PXI/PCI devices in your system. Your device will not show up until NI-VISA can see it, and that won't happen until you generate an INF as described above.
    Since the INF file associates NI-VISA itself to your card, the ADE you use does not matter. NI-VISA supports PXI/PCI in LabVIEW, CVI, MSVC, Visual Basic, or any other ADE that normally works with VISA.
    NI-VISA works well even with more advanced devices because we support all types of register accesses (config, I/O, memory) as well as interrupt handling. Just look at the visa.h that NI ships in the VXIpnp directory. If you are using C/C++, make sure you define NIVISA_PXI before including visa.h. If you use LabVIEW, you need to use the address space numbers as defined in visa.h.
    Good luck.
    Dan Mondrik
    Senior Software Engineer, NI-VISA
    National Instruments

  • Calling Main and Extra Pages of Custom Device(s) from LabVIEW

    Hi,
    I am currently evaluating VeriStand (VeriStand 2011) and its control from LabVIEW using .NET APIs.
    I am trying to use LabVIEW to add and configure custom devices for a given system definition file.
    For that I am using a subpanel, the same way it is done in the System Explorer.
    It is almost working.
    I only get errors from VIs that are dynamically called from the Custom Devices API. These VI's are part of an lvlib which is called "Custom Devices Storage.lvlib".
    I can't find this lvlib on my Computer. So, I guess, this error is normal. The only way to get rid of this error would be to load this lvlib in memory, but how ?
    An example of a dynamically loaded VI from the Custom Device API :
    If I can't configure a Custom Device inside my own Human Man Interface, there is no way I use VeriStand in the future. I don't wan't an operator or an administrator to open the System Explorer and change anything else than Custom Devices that may change in several of our test benches.
    Is there a way to do that or should I throw VeriStand to the trashcan ?
    Thanks in advance for your answer(s).
    Regards,
     

    Hi DaHelmut,
    First of all, I apologize for the lack of applicable replies. What you're attempting isn't something we usually encounter so our team didn't quite understand.
    I'll restate what you want to make sure its clear: You want to make your own version of system explorer fir your team to edit system definitions with. You also want it to support configuring custom devices. Therefore, you need custom devices to work inside your system explorer just like they do inside the shipping system explorer.
    This is technically possible, and I will help you accomplish this with some advice, however I have never seen this done before so it might take us a while to figure out all the issues. Typically people developing a custom GUI for a test bench just use the system definition API directly instead of using custom device's as-is... which is more difficult, and I agree your approach is better if it works. However, most test benches have a known set of custom devices (maybe just XCP/CCP and scan engine) so they only need to use the system definition API for maybe a few custom devices... not any device.
    First things I should mention:
    Editing a system definition, either through your custom gui and therefore through the system definition API, or through the system explorer... always requires a PC or Full development license. An operator licenses will never be able to edit system definitions no matter what.
    There is a set of VIs provided by the ECUMC toolkit to add/remove/edit system definitions with the XCP/CCP custom device. You would have to put your own GUI on top, but the VIs are installed here: <\LabVIEW>\vi.lib\ECUMC\NIVS
    I have an unreleased set of VIs that do the same thing for the scan engine and ethercat custom device I can provide
    If you still want to create your own system explorer thats capable of loading and configuring any custom device, here are some suggestions:
    Custom devices are built into LLBs that include all of their dependencies, so they can be loaded by the LabVIEW run time engine. If you create a VI that loads custom device's, you should be careful to avoid cross linking corrupting your development system or your custom device's. For example your system explorer might use "Get File Extension.vi" from vi.lib, but the custom device you're loading might also use this VI and therefore its linked to a copy inside its LLB. You will know when cross linking happens when the LabVIEW load warning dialog appears saying "vi X loaded vi Y from Z instead of A". If that happens, do not save. To avoid this entirely, it might be easiest to test your system explorer only as a compiled exe.
    As you saw, some custom device API VIs used by custom device developers make dynamic VI calls to an in-memory library named "Custom Device Storage.lvlib". Since this library is part of the shipping system explorer.exe source, these dynamic calls will error when not run inside the shipping system explorer.exe. There are two types that must be handled separately.
    Some custom device APIs like "NI VeriStand - Signal When Ready for Shutdown.vi" just make this dynamic call, and will simply return an error. These are mostly system explorer GUI specific custom device APIs. To avoid this error, you must create and bring this VI into memory yourself. So create that library and the stub VIs you need, then place static VI references to those stub VIs on your custom system explorer's block diagram. That will bring them into memory so when the custom device VIs try to dynamically call them, it will not error.
    Most custom device APIs like "NI VeriStand - Get Item Description.vi" make the dynamic call and instead of simply erroring, they will instead catch the error and switch to using a .NET implementation of the API call. I advise looking at the block diagram of this VI and then the corresponding offline API VIs to better understand this redirect system. Unfortunately, this redirection gets the offline API VI path relative to vi.lib which doesn't exist for exe's. So when you build your custom system explorer into an exe, you will need to place the "NI VeriStand\Custom Device Offline API" folder adjacent to the exe with these VIs for them to be found because the "vi library" primitive returns the exe's directory when inside an exe
    Let me know if that helps or if you have questions.
     

  • Why does my custom device break only when VeriStand tries to run it?

    Hello,
    I have a custom device, it's been working for awhile now, today I made some changes to add some more functionality and now VeriStand tells me the RT driver is no longer executable.
    I didn't change my build configuration or add any functionas that might bring in some external DLL or something that might be linking incorrectly.  
    Any thoughts to how I might go about narrowing this down.  The problem is only at runtime in VeriStand.  The built LLB has no issues, the development source has no issues, it's only when VeriStand tries to deploy that there is an issue so there has to be something that's not linked properly yes?
    The system is not RT, it's just deploying on Windows using a PXIe.
    Post CLD and when I'm a CLA when someone asks who I am, I can spin around in my chair and say "I am... the architect."
    Solved!
    Go to Solution.

    I don't know for sure the exact cause, but I ended up just eliminating portions of the driver code piece by piece to narrow down what was causing the issue. It turned out to be a debug VI that I've used many times before in various projects, but which contains the "Call Chain" LabVIEW primitive, but aside from that, it's just some simple string manipulation.  So I don't know if it was just some random edge case that only occurred when executing under VeriStand's own underlying LabVIEW code but for whatever reason, it was breaking the driver VI.
    So, solved the problem, but the cause, I can't quite say.
    Post CLD and when I'm a CLA when someone asks who I am, I can spin around in my chair and say "I am... the architect."

  • Custom device FIFO questions

    Question again about custom device.
    If there are 200 output channels but every 100ms only 40 of them get updated by the driver.
    Is it possible to write only those 40 channel data to the device output FIFO at a time?
    What is the RT FIFO write speed when writing 200 channel data at a time?
    Thanks.
    Solved!
    Go to Solution.

    If your custom device is an inline custom device you may update only dedicated channels per iteration.
    In case of a asynchronous (parallel) custom device, you are forced to write always the entire stack of channels no matter what happend to the values. (if none of the values have changed, then it is ok to not call the FIFO Write function).
    The FIFO Write doesn't cause a huge overhead.
    You can easily benchmark that yourself though.
    Tom
    http://www.newgistics.com

  • Accessing custom device FIFO array element by name

    Hi,
    Some of my custom devices have a large number if I/Os. Because the FIFOs are arrays, my custom device RT driver VI has been referencing them by indexing the arrays. Is there a recommended method to reference FIFO I/Os by name, and preferably the same name as the channel names that are created by the initialization VI? Referencing array elements by index can get very confusing and not very flexible if I need to add or remove custom device I/Os. Thanks.

    You could use an enum diagram constant to wire to the index terminal of index array. Make the item name correspond to the element name.
    LabVIEW Champion . Do more with less code and in less time .

  • Custom device / I am trying to use a vehicle controller model developed in LabVIEW with compactRIO (cRIO-9024)

    Now I have developed a vehile controller model with LabVIEW so as to run on VxWorks operating system. ( compactRIO cRIO-9024)
    And I converted a controller model of labview into *.lvmodel in order to use it as I did with simulink models. 
    However, converted *.lvmodel was not supported for VxWorks operating system. so after searching for this, I found out that I have to use a custom device. 
    I am now studying the custom device, but it looks diffcult because I dont have much experience in real-time system.
    Here are my questions.
    1. Simulation model in VeriStand
    Should I convert a labview controller model into *.lvmodel even if I use the custom device in order to run on VxWorks operating system? 
    If not, what should I do after building a controller model with labview?
    2. Operating system
    It is silly question. anyway, as long as I run a controller model on compactRIO cRIO-9024, the operating system always has to be set to VxWorks. Is it right?
    3. Custom device
    This is the most difficult thing. I dont know even what to do. What functions should be inside a custom device template tool? The controller model send output signals to a vehicle model, and receive input signals from a vehicle model.
    Thank you in advance. 
    Hognjun

    Hi,
    You should post this on the Veristand Forum.
    http://forums.ni.com/t5/NI-VeriStand/bd-p/440
    Ravi

  • There must be a real solution to "Windows found driver software for your device but encountered an error installing"

    "Windows found driver software for your device but encountered an error installing"
    I've spent hours researching this error - Seems like many people have the same issue although there is no difinitive fix or known cause.
    I'm hoping someone here has an answer.
    Windows 7 Home Premium x64 OEM (HP)
    This is not an upgraded Vista system.
    It's not a specific driver related issue as it's the same response/effect be it graphics/chip set/usb/printer drivers.
    Please dont suggest to flatten and re-install or run a repair install - It's not an option, I only have remote access to the unit
    as it's currently in field use.
    This is a machine specific issue - identical machine purchased at the same time and configured the same has no issue.
    So the story.
    User has been fine for weeks - no hardware of software changes except Windows Updates.
    A Camera/USB connection that was working no longer does.
    Tried in all USB ports
    Plug in - windows announces found new hardware, tries to install drivers then fails
    with "Windows found software for your device but encountered an error installing ...."
    Device manager finds and identifies device although it is in the 'Unknown Device" category.
    Manually updating drivers via search/internet or point directly at a driver has exactly the same effect.
    Thinking this was just the camera drivers - I researched and downloaded new drivers from camera manufacturers sites
    Fuji and Canon.
    Same effect.
    Deleted/uninstalled drivers completely, deleted/uninstalled all USB root hub and USB devices (hidden and visible)
    SFC /Scannow finds no error
    Cold boot finds USB and chipset(?) devices on boot attempts to reinstall then we get
     "Windows found driver software for your device but encountered an error installing"
    So now I have no usb devices at all - memory stick/card reader/printer...... nada.
    in fact if I try to update any device driver I get the same message generated.
    Restore point does not help either. 
    After much trawling I found reference to a permisions issue and stale driver cache data.
    (This is using an administrator account - not user with admin permissions?)
    I'm willing to try anything at this time
    I deleted the infcache.1 and other .dat files under c:\windows\system32\driverstore
    Copied the usb  .inf and .pnf from the appropriate FileRepository directory into c:\windows\inf
    Uninstalled all the usb/unkown devices from device manager again.
    Rebooted
    Takes a little longer to boot as I take it it's rebuilding the driver cache then
    a very short hurrah!!!
    I can now use usb memory card and pen drives - no issue
    Plug in a camera or printer...
    "Windows found driver software for your device but encountered an error installing"
    Several attempt at this trying different driver versions.
    It should not be vendor specific, the other field machine that works is using Microsoft drivers for these devices.
    I even copied the drivers from one machine to the other - repeated everything above...
    "Windows found driver software for your device but encountered an error installing"
    And then the nail in my sanity
    Try windows update....
    Reboot
    "Windows found driver software for your device but encountered an error installing"
    but this time its different.
    The device it thinks it cannot install is the generic MTP-PTP drivers  (Photo Transfer Protocol -so am I getting somewhere)
    so it still finds but cannot install.
    The cameras are always found but appear as 'unknown devices' and cannot be accessed
    Uninstall all USB/unkown again - reboot..
    Same message and this time I've lost all the USB again.
    Restore point to before Win Update gets me USB back again although I still have no cameras  - so theres an update issue as well.
    This has to be tied down to a file access/ registry problem although I'm loath to go cutting about without some guidance.
    I'm no great believer in 'registry cleaners' unless anyone can point to a definitive/no ad's/sales version that really works.
    As I said above, flattening/rebuild at this time is not an option - the user is not best pleased and I'm completley stumped.
    If anyone has experienced(manu of you have) and fixed(still to find one) this issue please let me know how as soon as possible.
    Chris 

    I know I am replying to an old thread - but I have the answer and resolved this error, and since this message comes up first in search results, and part of my answer came from this thread, I wanted to help someone else as this took an extra
    12 hours and a lot of technical insight to resolve. See below for detailed explanation that others ask for above.
    My original issue was that iTunes didnt reinstall. generating this error that said I am trying to access an unavailable network resource and to browse to find itunes64setup (again). This may partly have been due to me deleting old install version folders.
    Research led me to completely uninstall apple products and reinstall per their instruction and fixed the issue with iTunes. see
    Remove and reinstall iTunes and related software components for Windows Vista, Windows 7, or Windows 8 - Apple Support
    The SAME error I had while updating itunes recurred while uninstalling it from my Windows 7 SP1 system...so I went to microsoft Fixit and attempted to correct and it properly uninstalled iTunes for me, which allowed the reinstall.
    What didnt work was my USB web root/ root hub, which partly involved my older system and USB 1.0, and the delete/reinstall existing drivers with the c:\windows\winsxs folder as source of drivers (thank you Magon Liu!!!) which I had to figure out what/why
    and how.
    Then I had an intel chipset issue...my new Iphone wasn't recognizing in plug and play, and there was an error with installing the device drivers for my new iphone 6. Manual applications didn't work, even though a generic device showed in control panel -
    device manager with a yellow !
    Per above blog answer - I tried to remove and reinstall my USB controller or update the drivers (I have an Alienware M15 laptop - a few years old.) I discovered that the USB host controller - an Intel(R) 5 Series / 3400 Series Chipset family USB Enhanced
    Host controller - (port) was not covered by current Intel chipset programs which are Series 6 and later, but did have an update (8/20/2009 v9.1.1.1020)  that supported USB 2.0 (and therefore 3.0 backwards compatibility which as an issue with my new iPhone
    and some USB thumb drives.) To find this I had to look at the Support - Downloads and Drivers - browse for drivers and somewhere found an option to look for older no longer supported drivers. I found infinst_autol.exe for my case.
    Once downloaded I tried to install and failed. Found the log in C:\Intel\Logs and contains:
    [InstallDev]
              [Device]
                Driver = C:\Users\DAVIDS~1\AppData\Local\Temp\IPMx7\WIN7\ibexusb.inf
                INF = C:\Users\DAVIDS~1\AppData\Local\Temp\IPMx7\WIN7\ibexusb.inf
                Installed INF =
                Previous driver package =
    !           Warning 0xE0000235: DriverPackageGetPath failed.
                Difx = 64 bit
    Execute command: C:\Users\DAVIDS~1\AppData\Local\Temp\IPMx7\x64\Difx64.exe -DriverInf "C:\Users\DAVIDS~1\AppData\Local\Temp\IPMx7\WIN7\ibexusb.inf" -Flags 20 -KeyPath "Software\Intel\Difx64"
                Using RegDeleteKeyEx
    !!!         ERROR 0xE0000246: DriverPackageInstall generated an unexpected error
     HERE'S THE ADDED EXPLANATION TO BRIAN'S POST THAT EXPLAINS THE SECURITY ISSUE:
    This turned out to be an error for two reasons. First, after manually running the command in an "run as administrator" window (same error result), thinking it related to my anti-virus (turned that off/disabled firewall and A/V), and from this thread
    granting my user administrative rights to files in an install folder and trying to reinstall inf files and drivers from C:\Windows\winsxs vs my copied infinst_autol.exe expansion (as found from log in C:\Users\David Samuels\AppData\Local\Temp\IPMx7\WIN7 folder).....that
    there was an easier solution as the reason this error actually happens is a permissions problem.
    To access the proper windows system folders - you have to be the TrustedInstaller service - not just in the administrator group...or you have to be the actual "Administrator" account. To become actual administrator on
    your own laptop, Open a command window "run CMD.exe as administrator", then execute command
    > net user administrator /active:yes
    This creates a local PC Administrator account with no password. Coincidentally it has proper permissions to windows directories for installing drivers. Log in as this user, go to device manager and update the USB hub and any other drivers. if updating the
    USB root - it doesn't replace it right away as the system cant disable the currently resident in memory "running" driver  - you have to update, then restart the system, log in as administrator and repeat at the next lower layer that has issues.
    Once completed - log in as yourself again and disable the administrator account in a command window with > net user administrator /active:no
    This in my case enabled all my USB 2.0 and 3.0 devices on my originally only USB 1.0 laptop and everything else works properly again - I hope this helps many of you to resolve your own issues that were difficult to find and resolve and that got as far as
    this thread. Good luck!
     Regards,
     Dave Samuels

  • Unable to copy hard drive on to external device from Disk Utility. Getting error message "cannot allocate memory".

    I am trying to retrieve the information on my hard drive after I spilled liquid on my keyboard . I can get to Disk Utility by using the boot up disk but when I try and copy the hard drive to an external device using "New Image" it tells me it is unable to create a copy because it "cannot allocate memory".

    Were you able to get any help with this problem? My MacBook Pro out of the blue wouldn't boot up all the way and now I'm trying to get a copy of everything onto the new external drive using disc utility but am having the same errors as you! Thank you for sharing any tips!! -Norah

Maybe you are looking for