Support On CMUX implementation on HE910G using external microcontroller

9 thoughts on “Support On CMUX implementation on HE910G using external microcontroller

  1. Hi

    I am new to implementation of CMUX on telit HE910  . Going by the manual I sent the following instuctions in order using an external UART tool to Telit . The microcontroller gives positive response to CMUX Protocol SABM command  .However I get some extended response Virtual Port #1 command .After this I do not get response to any request .Even to the AT+CGMR command on Virtual Port 1 .I have attached the logs .Please let me know if I have missed anything and way to get out of this issue .


    Also I get ERROR on AT+CMUXMODE=0 .Is this expected ??




    1. Hi Paul,


      CMUXMODE i s not implemented on HE910 so you get error.

      Coming on yourlog I can see you send the AT command with an error on one bit.

      In the addrees field of CMUX frame (DLCI) you have to set to 1 the bit C/R,

      while you set it to 0.


      You send


      F9 05 EF 11 41 54 2B 43 47 4D 52 0D 2B F9


      while the correct frame is:


      F9 07 EF 11 41 54 2B 43 47 4D 52 0D 2B F9


      Don’t worry for the extended code you get. It is a cluster of MSC indicating the V24 STATUS.

  2. Hi Luca Marcato


    I am able to get the response correctly for the  CGMR command on AT1 . Now I am trying to switch back to AT0 and later back to AT1 . The idea is to use both in a periodic way. What is the technique to terminate the current connection and switch back to a new one.

    Thanks in advance for your valuable support .

    1. Hi Paul,


      t’s a bit unclear to me sorry.


      If you mean  switch back to AT0 as to say exit form CMUX and use the physicall UART you have to close virtual channel and exit from CMUX


      1) F9 0F 53 01 7A F9 // to close V ch 3

      2)  F9 0B 53 01 B8 F9 // to close V ch 2

      3) F9 07 53 01 3F F9 // to close V ch 3




      F9 03 53 01 FD F9 //to close CMUX


  3. Thanks Luca

    That answers my question . 

    Just to confirn  .

    In The statement above 3rd statement you have given is for Channel 1 right ?

    Also is it possible for me to switch between VC1 and VC2 without terminating CMUX and entering the control channel.If yes can you please quote an example .


    Also I am unable to understand how the crc for the following statement comes to 2B

    F9 07 EF 11 41 54 2B 43 47 4D 52 0D 2B F9 


    as per my understaning we would consider the header bytes 07 EF 11 for crc calculation .But this is not yielding 2B .Can you please point out what I am missing .




    1. Hi Paul,


      at the moment I can’t  tell you the reason for FCS… I developped a small C program for it but now I don’t have it.


      the 3rd stat is for ch1 true.


      You don’t need to terminate CMUX .. once you opened 2 or 3 with:


      F9 07 3F 01 DE F9 //ch1 ON

      F9 0B 3F 01 59 F9 //ch2 ON

      F9 0F 3F 01 9B F9 //ch 3 ON


      you can send command to whatever channel you need/like.


      1. Thanks Luca

           I get it now. However the I am unable to get  FCS  for UIH frames . FCS I calculate seems to match for other frames but not for UIH . I tried searching internet for any example , but I found no relevant info .Any help on this will be highly appreciated 


        1. I got it sorted Luca .I am able to compute FCS . Thanks a lot for your co operation.