USB (Virtual COM Port) and RS232 Problems

      USB (Virtual COM Port) and RS232 Problems

      I have some problems with RS232 and USB connection:

      RS232:
      We are using COM2 port (Pin 17-20) for RS232 communication and I cannot communicate if I set the handshaking function to RTS/CTS. Receiving works but it seems that the PicoMODA9 cannot send data back to the PC. I saw in the DeviceDriver documentation (WINCE_FSiMX6_DeviceDriver_eng.pdf), chapter 5, that only a parity "NONE" is supported by the IMX6 boards. Is this correct?

      USB:
      We use the USB Device as an virtual serial port (USBSER_Class). When I set the default client driver of the PicoMODA9 ([HKLM\Drivers\USB\FunctionDrivers] DefaultClientDriver = USBSER_Class), the board is correctly identified as an virtual COM Port on my PC but if I want to connect to the board, I get an error message in my PC program: "Das Zeitlimit für die Semaphore wurde erreicht." (Or with DCUTermi: "ComPort settings not appropriate. See error message: 121", the same on second try but with "See error message: 31"). I'm using the same driver inf file (from this Forum) as for the PicoMOD6 boards. Do I have to change anything on that driver or on the Registry settings of the PicoMODA9 to get it to work?
      USB:
      i assume this is a bug in the microsoft part of the driver, we had this alread had on another board. So i hope we can resolve it with kernel V1.60. I put it in our roadmap.

      RS232:
      as far as i know we support RTS/CTS only via "EscapeCommFunction" not via DCB::XXX!
      And this should wor also with parity!=NONE.
      If the problem persist, have you a sample (PMA9<->PC)?
      F&S Elektronik Systeme GmbH
      As this is an international forum, please try to post in English.
      Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.
      USB:
      do you use the latest kernel? This problem should already resolverd on imx6 platform.
      If not - any further details (OS, Bootlog, ... ?).
      F&S Elektronik Systeme GmbH
      As this is an international forum, please try to post in English.
      Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

      Post was edited 1 time, last by “fs-support_ZU” ().

      Hello,

      yes i ment 1.50 too. According our version administration the bug is fixed since 2.6.15. Nevertheless please try V1.60, i assume it is working now.
      F&S Elektronik Systeme GmbH
      As this is an international forum, please try to post in English.
      Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.
      Hello,

      just restarted testing the PicoMODA9 with Kernel Version 1.80 but both Problems (USB virtual COM) and RS232 Hardware Handshake still exist.

      USB:
      The virtual COM port is present in the device manager of my PC and the message is "Das Gerät funktioniert einwandfrei".
      I still get error message 121 in DCUTerm.exe when opening the port to the PicoMODA9, but I found out, that I can communicate with the PicoMODA9 when I Close the Dialog.
      The Problem is that when I try to connect the PicoMODA9 using our own Software which is written in C#, I get an exception (Das Zeitlmit für die Semaphore wurde überschritten) when I try to open the port and I can't use the port.
      You mentioned that the bug is fixed since 2.6.15, but I can't find an entry in the changelog.

      Here is the bootlog:

      Brainfuck Source Code

      1. INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
      2. Microsoft Windows CE Bootloader Common Library Version 1.2 Built Oct 9 2015 17:44:45
      3. Microsoft Windows CE Bootloader for PicoMODA9 Built Oct 9 2015
      4. Portions copyright (c) 2012 F&S Elektronik Systeme GmbH
      5. Boot Loader, Version 1.20
      6. NBoot, Version VN25
      7. HW rev. 1.0
      8. HW-Watchdog: ON
      9. System ready!
      10. Preparing for download...
      11. Press >S< to step into monitor...
      12. AUTO BOOT enabled
      13. +ReadKernelRegionFromNandFlash
      14. Image Signature in Flash Memory found (dwSig=0x43454345)
      15. TOC pointer=0x80464690
      16. ROMHDR (cTOC = 0x00244690) ---------------------
      17. DLL First : 0x4001efd2
      18. DLL Last : 0x4013f000
      19. Physical First : 0x80220000
      20. Physical Last : 0x8055f528
      21. Num Modules : 34
      22. RAM Start : 0x80620000
      23. RAM Free : 0x8066c000
      24. RAM End : 0x941fc000
      25. Num Copy Entries : 2
      26. Copy Entries Offset : 0x804f1fd4
      27. Prof Symbol Length : 0x00000000
      28. Prof Symbol Offset : 0x00000000
      29. Num Files : 8
      30. Kernel Flags : 0x00000001
      31. FileSys RAM Percent : 0x20202020
      32. Driver Glob Start : 0x00000000
      33. Driver Glob Length : 0x00000000
      34. CPU : 0x01c2
      35. MiscFlags : 0x0002
      36. Extensions : 0x80222000
      37. Tracking Mem Start : 0x00000000
      38. Tracking Mem Length : 0x00000000
      39. Kernel (3325kB) read from flash disk started finished in 0 milliseconds
      40. Kernel read from NAND
      41. INFO: OEMLaunch: Jumping to Physical Address 0x10220000h (Virtual Address 0x10220000h)...
      42. Jumping to Kernel @ 0x10220000
      43. INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
      44. Windows CE Kernel for ARM (Thumb Enabled)
      45. Enabling L2 cache
      46. OEMInit: silicon rev = 0x12
      47. SMP support enabled
      48. PicoMODA9 V1.80 - Firmware Init
      49. Copyright (c) 2013 F&S Elektronik Systeme GmbH
      50. Build: Dec 17 2015/10:23:51
      51. OAL: Detected 2 CPUs
      52. OAL: Another CPU core started
      53. WARNING: SNVS was reset.
      54. [OAL] MACB: Disabled
      55. [OAL] RestartReason: IPP
      56. FSPART: FS partition driver loaded
      57. BINFS: RegisterVolume - Mounted volume '\BINFS'
      58. PM-NETDCU: STARTED
      59. BE2: Version 1.4, ActiveKey = Drivers\Active\01
      60. BE2: Version 1.4, ActiveKey = Drivers\Active\04
      61. IPU: Version 1.4, ActiveKey = Drivers\Active\11
      62. NI2C: Version 0.3, ActiveKey = Drivers\Active\19
      63. HCD: Version 1.1, ActiveKey = Drivers\Active\20
      64. PP: Version 1.1, ActiveKey = Drivers\Active\22
      65. VDI: Version 1.1, ActiveKey = Drivers\Active\23
      66. ENET: Version 1.3, ActiveKey = Comm\ETHNETA
      67. BE2: Version 1.4, ActiveKey = Drivers\Active\35
      68. I2C: Version 4.2, ActiveKey = Drivers\Active\36
      69. NI2C: Version 0.3, ActiveKey = Drivers\Active\37
      70. Serial: Version 1.4, ActiveKey =
      71. Serial: Port disabled. Serial debug is on !
      72. Serial: Version 1.4, ActiveKey =
      73. TCH: Version 1.1, ActiveKey = Drivers\Active\41
      74. SHC: Version 1.3, ActiveKey = Drivers\Active\42
      75. SHC: Version 1.3, ActiveKey = Drivers\Active\43
      76. I2C: Version 4.2, ActiveKey = Drivers\Active\44
      77. NSPI: Version 3.7, ActiveKey = Drivers\Active\45
      78. EXTRTC: Version 1.2, ActiveKey = Drivers\Active\46
      79. SHC: [USDHC1] SD card inserted
      80. PPU: Version 1.1, ActiveKey = Drivers\Active\48
      81. DIO: Version 1.4, ActiveKey = Drivers\Active\49
      82. FRW: Version 1.3, ActiveKey = Drivers\Active\55
      83. GALCORE 4.6.9(9754) (Sep 19 2014 12:09:40)
      84. Major GPU: SysIntr=28 MemBases=0x130000 MMU Version=0
      85. 2D GPU: SysIntr=29 MemBases=0x134000 MMU Version=0
      86. Video memory: BaseAddress=0x0 PhysBase=0x106d1000 size=0x7000000 physSize=0x0
      87. LCD: Version 1.0, ActiveKey = Drivers\Display\LCD
      88. LCD: Read registry settings from Drivers\Display\LCD
      89. LCD: Read registry settings from Drivers\Display\LCD
      90. LCD: Display-Mode 100, Name Hitachi TX14D11VM1
      91. CheckAutoStart: Version 1.7, LaunchNum = 100
      92. NDCUCFG V 62 started. Platform: PicoMODA9
      93. NDCUCFG Open COM1: at 115200 Baud
      94. CreateFile() failed -> ERROR COM1:
      95. ENET: LinkState: DISCONNECTED
      96. USBHost : Hub [address(1) / layer(0)] SUSPEND OK
      97. UFN: Version 1.1, ActiveKey = Drivers\Active\71
      98. BCS: Version 1.4, ActiveKey = Drivers\Active\73



      RS232:
      I still can't get the PicoMODA9 to send date when using RTS handshake.

      as far as i know we support RTS/CTS only via "EscapeCommFunction" not via DCB::XXX!
      And this should wor also with parity!=NONE.
      If the problem persist, have you a sample (PMA9<->PC)?


      What do you mean with
      "EscapeCommFunction" not via DCB::XXX!

      As I'm programming in C# using the builtIn System.IO.Ports.SerialPort class, can you give me a example how I have to implement Hardware handshaking?
      Hello,

      I just saw These entries in the Roadmap for Kernel Version 2.00:

      - 0002882: [USB host] USBSER.Dll: .NET CF ApplyDCB() not working - resolved
      - 0002886: [Serial Driver/Interface] COM_MDD2: .NET CF ApplyDCB() not working - resolved

      Another entry in Roadmap for V2.30 is:
      - 0002772: [USB device] Virtual COM over USB generates errors - Feedback

      Do These entries cause my Problem?
      If yes, the sceduled release for V 2.30 is 2016-06-30. This is a bit too late :sad: .
      I tested RS232 RTS/CTS handshake with Kernel 2.00 but it still does not work.

      Now I found another entry in the Roadmap for V2.10:
      - 0002890: [Serial Driver/Interface] RTS/CTS does not work. - new

      I think, this will solve my RS232 Problems... nor not?

      I still would like to know if Roadmap entry 2772 (see above) is related to my Problems.
      Hello,
      my collegue is just working on this feature. I will be fixd within this week - we assume. It is related to 0002533 because RS485 needs RTS internally.
      F&S Elektronik Systeme GmbH
      As this is an international forum, please try to post in English.
      Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.
      RTS/CTS, RS485 (issue 0002553): we found the issue and in the last stage of implemntation.
      VCOM (2772): Can you please give me you a detailed step by step description or a referenz to our docs so that i can reproduce it on my desk! Thanks.
      F&S Elektronik Systeme GmbH
      As this is an international forum, please try to post in English.
      Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.
      Hello,

      sorry it was our fault. We forgot to implement the reworked driver. We add it to kernel version V2.10. In the mean while use following and register it as Default Client Driver:

      Source Code

      1. [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\FSUSBSER_Class]
      2. "Dll"="\ffsdisk\fs_serialusbfn.dll"
      3. "DeviceName"="USBFNS2:"
      4. "Prefix"="COM"
      5. "DeviceArrayIndex"=dword:1
      6. "RxBufferSize"=dword:4000
      7. "IClass"=multi_sz:"{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}","{C375C787-B721-4b8e-B67F-A112D5C0A404}"
      8. ; idVendor must be changed. 045E belongs to Microsoft and is only to be used for
      9. ; prototype devices in your labs. Visit http://www.usb.org to obtain a vendor id.
      10. "idVendor"=dword:045E
      11. "Manufacturer"="FS Elektronik Systeme GmbH"
      12. "idProduct"=dword:0079
      13. "Product"="FS SBC"
      14. "bcdDevice"=dword:90
      15. "Index"=dword:7
      16. "TSP"="unimodem.dll"
      17. "DeviceType"=dword:0
      18. ; "USB_OutTransferSize"=dword:1000 ; default vaule of 4k on OUT transfers for SERIALUSBFN can be changed here.
      19. ; "USB_InTransferSize"=dword:1000 ; default vaule of 4k on IN transfers for SERIALUSBFN can be changed here.
      20. [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\FSUSBSER_Class\Unimodem]
      21. "Tsp"="Unimodem.dll"
      22. "DeviceType"=dword:0
      23. "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,00,00, 00,00, 08, 00, 00, 00,00,00,00

      Finally copy attached DLL to ffsdisk. Thanks.
      Files
      F&S Elektronik Systeme GmbH
      As this is an international forum, please try to post in English.
      Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.