none
Composite USB Function and ActiveSync / RASDial RRS feed

  • Question

  • I'm having some trouble with the Composite USB function driver. I have looked at http://social.msdn.microsoft.com/Forums/en/winembplatdev/thread/cc7fa500-2a27-4f4e-ae2f-4e6b93a75bf8 and have used other google searches but I cannot seem to solve my issue...

    I am attempting to get a virtual comm port and activesync running at the same time. Individually I can get the RNDIS, Serial_Class and USBSER_Class working. I can get RNDIS and USBSER_Class to work in the composite driver, but I cannot get the Serial_Class to work correctly when loaded by the composite function.

    Looking at a debug build it seems that the error is reported as

    RASCS_Disconnected: Ecode=619 which means ERROR_PORT_DISCONNECTED.

    I also see during the enumeration of all the function drivers that the composite function emits the following line of debug when attempting to load the Serial_Class function driver:

    Composite!CUfnBus::PostInit: CreateChild failed.

    What is annoying me the most is that I was playing around with the settings on the device and actually managed to get ActiveSync working in the composite driver with the USBSER_Class too, but I then rebooted the device after lunch without saving the settings/registry... doh. So I **KNOW** it should work, but not sure how to go about getting back there!

    I have modified inf files that can load the virtual comm port, the RNDIS driver and the ActiveSync over serial driver which all work when they are used as the only client function, so it doesn't seem to be a driver issue on Windows, more that my CE device can't "dial" the connection when it is part of the composite driver, but works fine by itself...

    Here are my registry settings relating to the composite function driver:

    ; @CESYSGEN IF CE_MODULES_COMPOSITEFN
    [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\CompositeFN]
        "Attributes"=multi_sz:"0x80"
        "ClientDriverList"=multi_sz:"USBSER_Class","Serial_Class","RNDIS"
        "DefaultPrefix"="CompositeFn_"
        "ManufacturerString"="Test"
        "ProductString"="USB Device"
        "MaxPacketSize"=dword:40
        "VendorID"=dword:22F2
        "ProductID"=dword:0004
        "PowerConsumption"=multi_sz:"0x00"
        
    ; USB ActiveSync registry settings
    [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]
        "CompositeFn_DefaultString"="USB ActiveSync"
        "CompositeFn_FunctionDescription"="USB ActiveSync Driver"
        "CompositeFn_FunctionClass"=dword:ff
        "CompositeFn_FunctionSubclass"=dword:ff
        "CompositeFn_FunctionProtocol"=dword:ff
        "CompositeFn_Disable"=dword:0
    ;   "CompositeFN_DisableIAD"=dword:1
        "Manufacturer"="Test"
        "Product"="USB ActiveSync"
    ;   "idVendor"=dword:22F2
    ;   "idProduct"=dword:0003

    ; USB Virtual Comm Port registry settings
    [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\USBSER_Class]
        "CompositeFn_DefaultString"="USB Serial"
        "CompositeFn_FunctionDescription"="USB Serial Driver"
        "CompositeFn_FunctionClass"=dword:02
        "CompositeFn_FunctionSubclass"=dword:ff
        "CompositeFn_FunctionProtocol"=dword:ff
        "CompositeFn_Disable"=dword:0
    ;    "CompositeFN_DisableIAD"=dword:1
        "Manufacturer"="Test"
        "idVendor"=dword:22F2
        "idProduct"=dword:0001
        "Product"="USB Serial"

    ; USB RNDIS registry settings
    [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\RNDIS]
        "CompositeFn_DefaultString"="USB RNDIS"
        "CompositeFn_FunctionDescription"="USB RNDIS Driver"
        "CompositeFn_FunctionClass"=dword:EF
        "CompositeFn_FunctionSubclass"=dword:01
        "CompositeFn_FunctionProtocol"=dword:01
        "CompositeFn_Disable"=dword:1
    ;    "CompositeFN_DisableIAD"=dword:0
        "Manufacturer"="Test"
        "idVendor"=dword:22F2
        "idProduct"=dword:0002
        "Product"="USB RNDIS"

    Any help would be most appreciated!!

    Wednesday, February 8, 2012 6:48 AM

Answers

  • USB Serial loads as a virtual COM port in CE, so to get RAS to find the correct COM port to dial over you need to create a new RAS phonebook entry. The easiest way of doing that is to go to the control panel and make the new connection once you've got your device plugged in. You then capture the registry (before and after the change) and put the changed entry in your platform.reg.

    The entries you want are:

    ; @CESYSGEN IF CE_MODULES_SERIALUSBFN
    ;Active Sync over USB Settings (Always COM6: to prevent collision with HW UARTs)
    [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]
        "Index"=dword:6

    ;Create "USB" connection and autoconnect
    [HKEY_CURRENT_USER\ControlPanel\Comm]
        "Cnct"="USB"
        "AutoCnct"=dword:00000001

    [HKEY_CURRENT_USER\Comm\RasBook\USB]
    "DevCfg"=hex:\
          30,00,00,00,78,00,00,00,00,01,00,00,00,c2,01,00,00,00,08,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00
    "Entry"=hex:\
          08,02,40,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,01,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,00,00,ff,00,50,1f,84,c0,80,8b,\
          cb,d0,e8,0e,85,c0,90,f6,68,d1,dc,6b,d2,d0,14,f5,68,d1,00,00,00,00,00,00,d7,\
          d0,04,00,00,00,a0,9f,82,c0,00,00,00,00,b8,94,82,c0,50,1f,84,c0,80,8b,cb,d0,\
          00,00,00,00,00,00,00,00,00,00,00,00,54,ef,68,d1,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,a8,f2,68,d1,00,00,00,00,e0,f2,68,d1,18,a7,82,c0,e8,f8,\
          68,d1,00,00,00,00,00,00,00,00,ff,ff,00,00,24,1e,d6,d0,00,00,00,00,00,00,00,\
          00,00,00,00,00,cc,00,00,00,c8,4f,02,d1,ff,ff,00,00,00,00,00,00,18,c6,00,00,\
          00,00,00,00,00,08,10,00,0e,00,00,00,00,00,00,00,b1,00,00,00,ff,ff,f3,ff,07,\
          00,00,00,10,00,00,00,02,00,00,00,0e,00,00,00,40,06,00,00,d0,1c,00,00,f0,ff,\
          ff,ff,02,00,00,00,00,00,00,00,dc,6b,d2,d0,0e,00,00,00,0e,00,00,00,cc,6b,d2,\
          d0,0f,00,00,00,0e,00,00,00,00,00,00,00,e0,f2,68,d1,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,64,00,69,00,72,\
          00,65,00,63,00,74,00,00,00,16,c0,01,00,00,00,02,00,00,00,00,00,00,00,a0,68,\
          02,70,00,00,43,00,4f,00,4d,00,36,00,3a,00,00,00,16,c0,00,58,69,d1,05,00,00,\
          00,80,69,50,d1,e4,10,1c,c0,60,62,69,d1,00,58,69,d1,00,00,00,00,89,01,00,00,\
          b4,7b,1c,c0,00,58,69,d1,cc,f0,68,d1,00,00,00,00,00,00,00,00,00,00,00,00,cc,\
          ff,ff,ff,cc,00,00,00,cc,ff,ff,ff,0e,00,00,00,0e,00,00,00,cc,ff,ff,ff,00,00,\
          00,00,0e,00,00,00,cc,ff,ff,ff,cc,ff,ff,ff,0e,00,00,00,01,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,c4,37,16,c0,01,00,00,00,00,00,00,00,\
          84,c7,15,c0,cc,ac,15,c0,89,01,00,00,a0,68,02,70,05,00,00,00,90,75,1c,c0,89,\
          01,00,00,b0,42,16,c0,00,00,00,00,00,58,69,d1,bf,ff,ff,ff,00,00,00,00,00,58,\
          69,d1,00,00,00,00,90,75,1c,c0,05,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,a0,68,02,70,89,01,00,00,00,58,69,d1,00,00,00,00,00,00,00,00,c0,48,02,70,\
          00,00,00,00,cc,ac,15,c0,01,00,00,00,00,00,02,70,89,01,00,00,05,00,00,00,a0,\
          68,02,70,e0,fc,15,c0,00,58,69,d1,00,58,69,d1,00,00,00,00,00,00,00,00,89,01,\
          00,00,00,58,69,d1,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,cc,ff,ff,ff,cc,ff,ff,ff,cc,ff,ff,ff,cc,ff,ff,ff,00,00,00,00,cc,ff,ff,ff,\
          cc,ff,ff,ff,a0,68,02,70,00,58,69,d1,00,00,00,00,89,01,00,00,00,00,00,00,00,\
          00,00,00,d4,87,14,c0,05,00,00,00,74,ff,15,c0,00,00,00,00,00,00,00,00,00,58,\
          69,d1,81,00,00,00,00,1f,50,d1,00,00,00,00,00,00,00,00,54,f0,1b,c0,00,1f,50,\
          d1,ff,ff,ff,ff,0d,00,00,00,81,00,00,00,00,58,69,d1,a0,67,02,70,e0,fd,1b,c0,\
          00,00,00,00,00,00,04,d0,70,fa,03,c0,08,00,00,00,00,00,69,d1,ff,ff,ff,ff,00,\
          00,04,d0,00,00,00,00,08,00,00,00,00,00,69,d1,c0,02,00,00,3c,0e,04,c0,50,f3,\
          68,d1,cc,f3,68,d1,01,00,00,00,50,f3,68,d1,00,00,00,00,f1,ac,ff,ff,04,b7,0d,\
          81,e4,f2,68,d1,b8,f2,68,d1,d8,e4,12,80,cc,f3,68,d1,6c,f3,68,d1,06,00,00,00,\
          55,04,04,00,00,00,00,00,01,00,00,00,50,f3,68,d1,00,00,00,00,02,01,00,00,cc,\
          f3,68,d1,00,00,00,00,cc,f3,68,d1,48,f3,68,d1,f0,f2,68,d1,cc,f3,68,d1,00,00,\
          00,00,cc,f3,68,d1,64,e6,12,80,08,93,0d,81,00,58,69,d1,00,00,00,00,f0,fc,1b,\
          c0,05,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,a4,0a,02,70,7c,b6,16,c0,\
          a4,0a,02,70,64,0a,02,70,44,88,14,c0,38,14,80,81,00,00,00,00,38,14,80,81,00,\
          00,00,00,cc,f3,68,d1,ac,f3,04,00,00,00,00,00,48,f3,68,d1,78,e8,12,80,da,17,\
          05,00,00,00,00,00,90,0d,00,00,0f,00,00,00,00,0d,05,d0,06,00,00,00,55,04,04,\
          00,00,00,00,00,cc,f3,68,d1,00,00,00,00,08,00,00,00,90,0d,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00
    ; @CESYSGEN ENDIF CE_MODULES_SERIALUSBFN
    ; @CESYSGEN ENDIF CE_MODULES_USBFN

    The hex (actually structure) values work for my device (USB Serial loaded at COM6) but you should replace those values with what you capture (and setup) on your device.


    Good luck,

    Michel Verhagen, eMVP
    Check out my blog: http://guruce.com/blog

    GuruCE
    Microsoft Embedded Partner
    http://guruce.com
    Consultancy, training and development services.

    • Marked as answer by Barak14 Thursday, February 9, 2012 4:09 AM
    Wednesday, February 8, 2012 8:35 AM
    Moderator

All replies

  • USB Serial loads as a virtual COM port in CE, so to get RAS to find the correct COM port to dial over you need to create a new RAS phonebook entry. The easiest way of doing that is to go to the control panel and make the new connection once you've got your device plugged in. You then capture the registry (before and after the change) and put the changed entry in your platform.reg.

    The entries you want are:

    ; @CESYSGEN IF CE_MODULES_SERIALUSBFN
    ;Active Sync over USB Settings (Always COM6: to prevent collision with HW UARTs)
    [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]
        "Index"=dword:6

    ;Create "USB" connection and autoconnect
    [HKEY_CURRENT_USER\ControlPanel\Comm]
        "Cnct"="USB"
        "AutoCnct"=dword:00000001

    [HKEY_CURRENT_USER\Comm\RasBook\USB]
    "DevCfg"=hex:\
          30,00,00,00,78,00,00,00,00,01,00,00,00,c2,01,00,00,00,08,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00
    "Entry"=hex:\
          08,02,40,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,01,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,00,00,ff,00,50,1f,84,c0,80,8b,\
          cb,d0,e8,0e,85,c0,90,f6,68,d1,dc,6b,d2,d0,14,f5,68,d1,00,00,00,00,00,00,d7,\
          d0,04,00,00,00,a0,9f,82,c0,00,00,00,00,b8,94,82,c0,50,1f,84,c0,80,8b,cb,d0,\
          00,00,00,00,00,00,00,00,00,00,00,00,54,ef,68,d1,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,a8,f2,68,d1,00,00,00,00,e0,f2,68,d1,18,a7,82,c0,e8,f8,\
          68,d1,00,00,00,00,00,00,00,00,ff,ff,00,00,24,1e,d6,d0,00,00,00,00,00,00,00,\
          00,00,00,00,00,cc,00,00,00,c8,4f,02,d1,ff,ff,00,00,00,00,00,00,18,c6,00,00,\
          00,00,00,00,00,08,10,00,0e,00,00,00,00,00,00,00,b1,00,00,00,ff,ff,f3,ff,07,\
          00,00,00,10,00,00,00,02,00,00,00,0e,00,00,00,40,06,00,00,d0,1c,00,00,f0,ff,\
          ff,ff,02,00,00,00,00,00,00,00,dc,6b,d2,d0,0e,00,00,00,0e,00,00,00,cc,6b,d2,\
          d0,0f,00,00,00,0e,00,00,00,00,00,00,00,e0,f2,68,d1,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,64,00,69,00,72,\
          00,65,00,63,00,74,00,00,00,16,c0,01,00,00,00,02,00,00,00,00,00,00,00,a0,68,\
          02,70,00,00,43,00,4f,00,4d,00,36,00,3a,00,00,00,16,c0,00,58,69,d1,05,00,00,\
          00,80,69,50,d1,e4,10,1c,c0,60,62,69,d1,00,58,69,d1,00,00,00,00,89,01,00,00,\
          b4,7b,1c,c0,00,58,69,d1,cc,f0,68,d1,00,00,00,00,00,00,00,00,00,00,00,00,cc,\
          ff,ff,ff,cc,00,00,00,cc,ff,ff,ff,0e,00,00,00,0e,00,00,00,cc,ff,ff,ff,00,00,\
          00,00,0e,00,00,00,cc,ff,ff,ff,cc,ff,ff,ff,0e,00,00,00,01,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,c4,37,16,c0,01,00,00,00,00,00,00,00,\
          84,c7,15,c0,cc,ac,15,c0,89,01,00,00,a0,68,02,70,05,00,00,00,90,75,1c,c0,89,\
          01,00,00,b0,42,16,c0,00,00,00,00,00,58,69,d1,bf,ff,ff,ff,00,00,00,00,00,58,\
          69,d1,00,00,00,00,90,75,1c,c0,05,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,a0,68,02,70,89,01,00,00,00,58,69,d1,00,00,00,00,00,00,00,00,c0,48,02,70,\
          00,00,00,00,cc,ac,15,c0,01,00,00,00,00,00,02,70,89,01,00,00,05,00,00,00,a0,\
          68,02,70,e0,fc,15,c0,00,58,69,d1,00,58,69,d1,00,00,00,00,00,00,00,00,89,01,\
          00,00,00,58,69,d1,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,cc,ff,ff,ff,cc,ff,ff,ff,cc,ff,ff,ff,cc,ff,ff,ff,00,00,00,00,cc,ff,ff,ff,\
          cc,ff,ff,ff,a0,68,02,70,00,58,69,d1,00,00,00,00,89,01,00,00,00,00,00,00,00,\
          00,00,00,d4,87,14,c0,05,00,00,00,74,ff,15,c0,00,00,00,00,00,00,00,00,00,58,\
          69,d1,81,00,00,00,00,1f,50,d1,00,00,00,00,00,00,00,00,54,f0,1b,c0,00,1f,50,\
          d1,ff,ff,ff,ff,0d,00,00,00,81,00,00,00,00,58,69,d1,a0,67,02,70,e0,fd,1b,c0,\
          00,00,00,00,00,00,04,d0,70,fa,03,c0,08,00,00,00,00,00,69,d1,ff,ff,ff,ff,00,\
          00,04,d0,00,00,00,00,08,00,00,00,00,00,69,d1,c0,02,00,00,3c,0e,04,c0,50,f3,\
          68,d1,cc,f3,68,d1,01,00,00,00,50,f3,68,d1,00,00,00,00,f1,ac,ff,ff,04,b7,0d,\
          81,e4,f2,68,d1,b8,f2,68,d1,d8,e4,12,80,cc,f3,68,d1,6c,f3,68,d1,06,00,00,00,\
          55,04,04,00,00,00,00,00,01,00,00,00,50,f3,68,d1,00,00,00,00,02,01,00,00,cc,\
          f3,68,d1,00,00,00,00,cc,f3,68,d1,48,f3,68,d1,f0,f2,68,d1,cc,f3,68,d1,00,00,\
          00,00,cc,f3,68,d1,64,e6,12,80,08,93,0d,81,00,58,69,d1,00,00,00,00,f0,fc,1b,\
          c0,05,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,a4,0a,02,70,7c,b6,16,c0,\
          a4,0a,02,70,64,0a,02,70,44,88,14,c0,38,14,80,81,00,00,00,00,38,14,80,81,00,\
          00,00,00,cc,f3,68,d1,ac,f3,04,00,00,00,00,00,48,f3,68,d1,78,e8,12,80,da,17,\
          05,00,00,00,00,00,90,0d,00,00,0f,00,00,00,00,0d,05,d0,06,00,00,00,55,04,04,\
          00,00,00,00,00,cc,f3,68,d1,00,00,00,00,08,00,00,00,90,0d,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
          00,00,00,00,00,00,00,00,00,00,00
    ; @CESYSGEN ENDIF CE_MODULES_SERIALUSBFN
    ; @CESYSGEN ENDIF CE_MODULES_USBFN

    The hex (actually structure) values work for my device (USB Serial loaded at COM6) but you should replace those values with what you capture (and setup) on your device.


    Good luck,

    Michel Verhagen, eMVP
    Check out my blog: http://guruce.com/blog

    GuruCE
    Microsoft Embedded Partner
    http://guruce.com
    Consultancy, training and development services.

    • Marked as answer by Barak14 Thursday, February 9, 2012 4:09 AM
    Wednesday, February 8, 2012 8:35 AM
    Moderator
  • Thanks heaps!

    I knew I was missing something obvious... Setting the index flag for the serial function tipped me off! I think the last change I had made was to load the USBSER_Class before Serial_Class with the composite driver, which would have made my USBSER_Class serial port COM1 and then my ActiveSync port COM6, but my RAS entry was still configured to be COM1! Using the structure you provided and by adding the registry entries:

    [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]
        "Index"=dword:6

    and

    [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\USBSER_Class]
        "Index"=dword:7

    my 2 virtual comm ports now become COM6: and COM7: and work without any extra configuration. I would also assume that if I had added Index=1 to the Serial_Class and index=6 to USBSER_Class then this would have resolved the issue too for my original configuration. The only reason that ActiveSync was COM1 was I hadn't looked into how one changed the value.

    Cheers and thanks again.

    Barak.

    Thursday, February 9, 2012 4:20 AM