Posts by DRIGUS

    On 12. of September, Microsoft released security update KB4038788, which also addressed a USB problem. It seems that it also solves our problem with the long waiting time when using mass storage mode. Since this update was installed the problem doesn't shows any more. Let us see what brings the Fall Creators Update...



    Greetings

    I just want to confirm that the mentioned solution seems to fix the problem with the ActiveSync connection for our NetDCU10 device. The cause was a new behaviour of svchost.exe, introduced in the Creators Update, which makes the Windows Mobile Center incompatible with Windows 10.


    But the problem when connecting in mass storage mode still exists, we still have to wait for 6:40 in order to get the drive visible in the explorer. So because ActiveSnyc works, it can't be a general hardware problem. It must be a device driver problem on the NetDCU side. Unfortunately this is what we need four our customers in order to transfer data.



    Greetings.

    Did you use Windows 10 with the Creators Update (Version 1703)? We have a similar problem, but with a NetDCU10.


    Since the Windows 10 Creators Update we can't connect to it through ActiceSync. If we switch to mass storage mode, we have to wait for about 6:40 in order to get the drive visible in the explorer. This doesn't happened before the Creators Update. And if we deinstall the Creators Update, the problem is gone.


    Until now we hope for a patch from Microsoft since there seems to be more problems regarding USB connections.


    Greetings

    Any progress so far? I want to remember, that we only need a safe method to detect if the NetDCU device is connected to or disconnected from the PC (while using the mass storage driver).

    That seems to make no difference. I can detect when the USB memory is plugged in and out into the NetDCU device. But I still can't detect if the NetDCU device is connected to a PC. The "Hard drive" is automatically unmounted when the NetDCU device is connected to the PC, but it isn't mounted again when disconnecting the PC - it is the same behavior as with the SDCARD.

    This isn't possible. Tests while evaluating the NetDCU10 device showed, that the system gets unusable when the HARD DISC is configured as mass storage, because the HARD DISC is unmounted automatically on connecting to a PC and the system can't access it any longer.

    Quote from "fs-support_ZU"


    Configure USB memory as mass storage, does ist behave in the same way?


    What exactly do you mean?


    As I already mentioned above, the NetDCU device is configured as mass storage (HKLM\Drivers\USB\FunctionDrivers\DefaultClientDriver = "Mass_Storage_Class"). The intern sdcard is used by the NetDCU device and the PC in order to exchange data. The problem is the simultaneously access on the sdcard through both, the device and the PC, which sometimes lead to corrupted data on the sdcard.


    In order to avoid simultaneously access we need to detect when the device is connected AND disconnected to a PC. There is no problem to detect a connection with the PC, because of the automatically unmounted sdcard. But we still need a method to detect the disconnecting, the sdcard is not remounted automatically.

    Quote from "fs-support_ZU"


    My question is: can you access the card again, after connect to PC and disconnet from PC?


    No, we have to mount the sdcard manually after the NetDCU device was connected to a PC.

    Quote from "fs-support_ZU"

    Hello,
    so if i understand you right, the notification is send when you get connected but it is not send when you get disconnected.
    And the main problem is that the sdcard isn't mounted again.


    That's right. I can get a notification when the NetDCU device is connected to the PC because of the unmounted sdcard. But I don't get any notification when the device is disconnected from the PC.


    What I tried so far: catching any windows message (like WM_DEVICECHANGE), CeRunAppAtEvent, your EnumDev sample. We also take a look at the registry and at the storage manager, but there seems to be no "hint" when the device is disconnected.


    Quote


    this value can in general specified under "HKLM\drivers\builtin\<driver>" for each driver. In our case i would set the value for SDHC and SBBus.


    We tried these values too, but we got no relevant debug output.



    Some more explanations what we tried to achieve: we use the sdcard as mass storage in order to gain a simple access of the device data (without installing any drivers like ActiveSync on the PC). There is no problem to remount the sdcard when it was unmounted while connecting the NetDCU device to a PC. But the problem is the shared access to the sdcard from both sides at the same time which seems to end up in corrupted data from time to time. Therefore we are searching for a method to detect if the NetDCU device is connected to a PC.


    Another possible solution could be to turn off the mass storage access from the PC for a short time. We tried so far IOCTL_UFN_CHANGE_CURRENT_CLIENT (switching to ActiveSync and back) and SetDevicePower (to turn USB port off), without success.

    Quote from "fs-support_ZU"


    Can you enabel serial debug output for sd card (debug=255) and check if there is any (significant) output?


    Can you please tell us the relevant registry path? We tried


    HKLM/Drivers/SDCARD/ClientDrivers/Class/SDMemory_Class


    and


    HKLM/Drivers/SDCARD/ClientDrivers/Class/SDMemory_Class/High_Capacity


    without success (no output at all).

    You are right, the sdcard is removed when the NetDCU device is connected to a PC, but this is only half the rent. There seems to be no change notification when the device is disconnected: the sdcard isn't mounted again. But we also need to react if the NetDCU device is disconnected from the PC.


    The goal is to present our customers a dialog when the NetDCU device is connected to a PC and the sdcard isn't available through the device.

    Our NetDCU10 device is configured as a mass storage device. Is there any change of getting a message/event/notification when it is connected to the PC? I know RegisterDeviceNotification and WM_DEVICECHANGE on the PC, but I need to react on the NetDCU device when it is connected to the PC.


    Thanks

    Problem: one minute delay until identification of a „NETDCU10“ connected as usb-mass-storage with Windows7


    Hello,
    For data-exchange with a PC we access to the SD-Card of a NETDCU10 as “USB-Mass-Storageâ€.
    The problem is that we have a delay of one minute until identification of the “USB-Mass-Storage†while working with Windows7, contrary to WinXP or older versions where is no delay.


    In the registry we set following values:


    thank you for help

    Thanks for the reply.


    We also need the function MountPartition in order to (re-) mount the SD Memory Card.


    Our application stores some data on the SD Memory Card, which should be accessible easily by our customers through the PC. In order to avoid ActiveSync we use the Mass Storage Client Driver. Unfortunately the SD Memory Card is unmounted when plugging the USB cable in. And of course it isn't re-mounted until the NetDCU was rebooted, even when removing the USB cable.
    Our goal was to detect a USB cable removing after a data transfer and automatically re-mount the SD Memory Card. Therefore we tried to use GetPartitionInfo (SD Memory Card mounted?) and MountPartition (re-mount SD Memory Card).


    Perhaps you can offer another solution?

    Hi *.*.


    In order to get information about the mount status of a SD Memory Card I tried to use OpenStore/OpenPartition and GetPartitionInfo.


    We use Lazarus (RAD IDE which uses the Free Pascal Compiler) as our development environment, so I adapted storemgr.h in order to make these functions available. A short test programm does nothing, it just hangs on startup. Do I guess right that I need storeapi.dll in order to call these functions? I can't find these file on our NetDCU 10 device. I found a storeapi.lib in this forum, but it is only useful when using (Visual) C++ I believe.


    Is there any chance to get a compiled storeapi.dll for the NetDCU 10 device?



    Thanks.

    Hello and thanks for your relpy.


    I think the MAC adress isn't a option because I believe it will change with every device unit.
    The goal is to make updates easily downloadable for our customers through our website without beeing able to start the software on other devices or emulators.



    Greetings,
    Björn Schreiber

    Hello.


    We are developing a device based on NetDCU10. As a software devolper, which possibilities do I have to identify this device? The goal is to avoid running our software on another Windows CE device or an emulator.


    Greetings,
    Björn Schreiber

    First, thanks for your fast reply.


    Is there any way to get an emulator which is comparable to the NetDCU10 device? For example using Windows CE 6 and a display resolution of 800x600 pixels? The in Visual Studio 2005 available emulators (Pocket PC 2003 / Smartphone 2003) a far away from beeing comparable with the NetDCU10 device.


    Greetings,
    Björn Schreiber

    Hi *.*.


    Wir sind gerade dabei, auf Basis des NetDCU10 ein Gerät zu entwickeln, d.h. zur Zeit gibt es noch keine Hardware, die zur Softwareentwicklung verwendet werden könnte.


    Es stellt sich nun die Frage, welche Möglichkeiten sich uns bieten, die Software ohne verfügbare Hardware zu testen. Visual Studio integriert ja den Device Emulator Manager, der u.a. verschiedene Emulatoren für SmartPhones und PocketPCs mit sich bringt. Allerdings findet sich kein Emulator für Windows CE 5 / 6 bzw. NetDCU. Gibt es entsprechende Emulatoren zur Integration in Visual Studio 2005? In diesem Zusammenhang ist immer wieder etwas vom Platform Builder zu lesen, den es aber wohl nicht als freien Download gibt.


    Als Entwicklungsumgebung steht Visual Studio 2005 Professional zur Verfügung, das GUI soll mit C# und dem .NET Compact Framework 2 entwickelt werden. Das NetDCU-SDK wurde bereits installiert (wenn auch wohl nicht notwendig), ebenso ActiveSync.



    Für Unterstützung wären wir dankbar.



    MfG,
    Björn Schreiber