I'm new to CE programming and I have a Marvel device PXA270 with Windows CE 5.0 installed. The device has one usb port.
I wonder if there's ANYTHING I can try to connect a 3G-HDSPA usb stick to it. When plugged it only recognises its folders as a pendrive would do, but no Internet.
Thx.
Forget it. To make it work you need OS support for it or a dedicated infrastructure that the cellular modem should provide for Windows CE 5.
To have cellular support you need Cellcore included in the OS and Windows CE 5 does not support it.
What you can do is start develop your own infrastructure for the device, but it will take you several months of work and that is if you have the Cellcore code from Windows CE 6 as a reference.
The short answer is that you must have a Windows CE driver for the device. Obviously it's a composite device that enumerates as a storage device and also whatever the radio is. Windows CE understands the storage device part and therefore loads up the driver for that. It has no idea what the radio is.
You would have to either get a driver from the OEM (they probably don't have one, though it's always worth checking) or write your own (you probably don't have enough info on the radio chipset to be able to do that).
Related
I would like to use a windows machine as a USB488/USBTMC device. USB488/USBTMC is a reimplementation of the good old GPIB/IEEE-488 on USB rails. But most articles on the topic refer to a Windows machine as a host/controller. The Windows USB stack is not well suited for USB device/USB OTG modes. However, if you look at some of the high-end gear like oscilloscopes and spectrum/network analyzers, it is well known that they are often Windows machines inside with some additional hardware. So, how it is done?
To some background: it is a project to retrofit a very old SEM microscope with new hardware. The current one is a 68k custom system with a CRT that uses a GPIB interface for comm with a PC. Things like sample spectroscopy are done as a BASIC program running on a pc and communicating through that gpib port. The plan is to replace that 68k junk with a modern day windows pc with an FPGA on a PCIe bus. For compatibility reasons, it would be nice to have a usb488 port in the new PC. Though I have no idea of how to do it properly. The only solution I have so far is to have some cheap USB-capable micro hanging on the SPI bus on the FPGA facing side and a USBTDM class on the USB side. But maybe Im missing something and there is a specific thing or chip that exists that can do it that Im not aware of.
I can only speculate how high-end oscilloscopes achieve it. The most likely option is that they use a dedicated chip like a MAX3420E. It is connected via SPI. Part of the USB protocol is implemented by the chip, part of it will be implemented by the oscilloscope software.
Most USB controllers chips found in PCs can operate as the host only. And even if they could do a role swap, Windows (for Desktop) has not supported device/peripheral mode until recently. It now does. See USB Dual Role Driver Stack Architecture. But I don't fully understand it to tell you what hardware you would need to purchase where this feature is enabled.
Role swapping is very common on smartphones. It is also implemented in Linux (search for "Linux USB gadget"). Many Apple Macs can run in Target Disk Mode, which is a USB device/peripheral mode as well.
I've been asked to work on a project for Windows 8 where I have to detect:
Type of device inserted to USB port (mass storage drive or android phone or windows phone etc.)
Port in which device was inserted. (if I have 4 USB ports in PC then identify which port received new device)
Detect when the device was ejected from the PC
Are there some managed C# API's that can be used to query or if there are some callbacks that can be subscribes to.
Any help or direction will be very useful.
Thanks
You don't specify whether you are writing a desktop app, or a Modern UI app. If it is the latter, I'm afraid you are going to be out of luck as this level of information is simply not passed down to the app's sandbox.
You may have better luck with a desktop app. I don't have any direct experience of doing what you ask for, but I do remember having read that it may be possible through .NET.
Quite a while I am struggling with a problem regarding the installation of certain USB device driver in Windows CE 6.0.
The device is some kind of Digital and Analog IO device that connects to the USB port.
It is the LabJack U3.
I followed all instruction and put the driver (labjackusb.dll) and coresponding registry entries into the Windows CE image but the device is not detected correctly.
On every boot up a small Message box came up with the Title "Unidentified USB Device"
and the message "Enter the name of the driver for this USB device:"
Whatever name I put into it want work. I tried the name of the dll. Some title in from the registry and so on but never succedes.
The driver does not work nor the device.
The customer support can not help me so I am asking here somebody to help me at least
with a steps to follow to try to find a solution.
Why the OS does not matches the USB device with the corresponding driver?
I checked everything one million times and everything is in place.
There are a load of reasons this might fail. First:
Is the driver definitely a Windows CE driver?
Is it built for CE 6.0 (not 5.0 or something else)?
Is it built for the same processor architecture you have?
The way to really debug this is to hook up KITL, put in a debug version of device.exe and see what the device managet is actually doing when you plug in the device. A way better and way more reliable mechanism than just trying to guess.
I'd like to use digital cameras in my application (running on Windows, written in C++) and I came across two libraries that did that - WIA (Windows Image Acquisition) and WPD (Windows Portable Devices). WIA supports digital cameras only for versions of Windows up to XP and for Vista and 7 one should use WPD. The problem is that I ran WPD's sample project from Windows SDK which failed to recognize all devices I tried (But WIA did on a Win XP machine) apart from a flash memory and an mp3 player. I don't think the other devices were too old to have a WPD driver, so my question is: What devices does WPD support? Am I mistaken or WPD does not work with a broad range of devices? Or maybe there is another library I could use for taking pictures (maybe a video, but that's not as important)?
I hope someone can clear things up. Thanks in advance!
You will need to use DirectShow to work with your webcams on Vista/Win 7. Logitech and the like don't supply WPD drivers. Perhaps they will for Windows 8.
You can also use the MCI interface if you want to go old school, which nowadays is just a compatibility layer on top of DirectShow. Google for "WM_CAP_START" or "WM_CAP_GRAB_FRAME" for some examples.
Don't have a list for WPD, but here's a:
List of Supported Windows Image Acquisition (WIA) Scanners and Cameras
http://support.microsoft.com/kb/264598
We are developing an embedded system which will use a PC motherboard running Linux or Windows Embedded (have not decided which one). The board will read data from FPGA via PCI Express.
Novice question: do we have to develop our own PCIe driver or we can use something from the operating system? If we need our own, can you recommend a resource?
It really depends on what kind of data you want to transfer with the device. If you just want register read/write you could just mmap /dev/mem and have a user space driver.
If you need to do DMA or interrupt then you'd likely have to write your custom driver.
Yes, unless your device corresponds to a standard device profile, you will need a custom device driver. Because you have not selected your operating system yet, your question about resources is pretty wide open still since obviously the OS selection directly affects driver design. For Windows you probably want to start here. Under Linux, perhaps here.