Introducing the BR1 M2M!


Hi, @WeiMing.
So I installed the Beta you linked (thanks very much).
I have three questions, please…

  1. Is the RS232 port compatible with “normal” RS232 devices, or just Cisco console connections?
  2. Is the port DCE or DTE type?
  3. Please can you provide a pinout diagram for the DB9 male connector?
    Thanks and warm regards,



Hi again.
So I worked out the wiring (need a null modem adaptor to use with Ugreen Prolific USB to 232 cable). The device does echo “proper” RS232 from Client to Server. I have been unable to make the transmission work with a computer listening on the Client end when a computer sends data from the Server end. Is this even possible or is the link intended to be only simplex?
Many thanks.



Noted with thanks!

1 Like

@JonathanGroves, would you able to share the physical connectivity diagram to illustrate your setup? We would like to know what are the components that establish end-to-end connectivity.

Or, you may submit a support ticket for us to take a closer look at it?

BTW, the MAX BR1-M2M DB9 is DTE, just like what has been described here.

1 Like

Hi @WeiMing, thanks for your reply.

I’ll ask our Network people for the relevant information about the infrastructure used in the office because I don’t know the details.
Meanwhile, please can you confirm that the link is intended to be full duplex? Here’s what I mean…

If I set up two PCs, one sending a stream of RS232 data and one listening for it, as shown below, the data passes correctly:

TCP Server M2M TCP Client M2M
Receiving PC Sending PC

But if I set it up as shown below, it works initially, but this does not survive a reboot of both M2Ms:

TCP Server M2M TCP Client M2M
Sending PC Receiving PC

So the question is: when we have two M2Ms, one set up as TCP Server and one as TCP Client, should the TCP Client device be able to receive data initiated on the Server? How can the TCP Server device know where to send the data to?



@JonathanGroves, have discussed with the relevant team and suggest to tweak the [TCP Client BR1-M2M] settings as below, see that will help or not.

When the “Connection Control” set to “Start / None”, the TCP client will try to reconnect to the server regardless of the serial input, this will keep the session maintains.

If this doesn’t help, then we might want to handle it via the support ticket with the specialized team involvement.


Thanks, @WeiMing - I’ll try this and get back to you in the next few days.


Hi @WeiMing, that works perfectly.

I suggest updating the documentation accordingly.

Kind regards and many thanks.


I have a few further questions, please.
To scale using these devices, if I have 16 TCP Client M2Ms, for example, can they all connect to one TCP Server M2M?
Is there a datacentre-size Peplink appliance which could act as the TCP Server termination for a number of TCP Client M2M devices?
Would this work with a virtualised Peplink appliance?
What is the limit on how many TCP Client devices could be connected in each case please?

Many thanks.


Hello @JonathanGroves,
Just a thought, if you virtualise the TCP Server terminal and also use a virtualise FusionHub, then the theory is you will be able to have the remote sites all connect back to the TCP Server terminal via the FusionHub.
Happy to Help,
Marcus :slight_smile:

1 Like

@WeiMing do you have any thoughts on my “few further questions”, please?


@JonathanGroves, see my reply below.

Our initial idea is a one-to-one setup. But base on the settings I shared earlier, I believe it is possible to have multiple TCP Client M2Ms connect to one TCP Server M2M.

Would you able to share with us the type/size of the appliance that you are looking for?

Are you referring to FusionHub? It doesn’t seem feasible as it needs the physical RS-232 interface.

If the one-to-many scenario is supported, I will check with the team and come back to you.

1 Like

@JonathanGroves, would like to share more information after an internal discussion.

The [TCP Server Mode] is able to handle maximum up to 8 [TCP Client] sessions. However, in the One-to-Many scenario, the expected use case would be any input from [TCP Server] serial input will be sent to all connected [TCP Clients], as illustrated below.

Hope this answered your questions. :wink:


Thanks for your reply. Might it be possible to consider messages from the Head Office Controller to be switched to specific BR1 M2Ms by using a specific port for the message? So Head Office would have a computer listening on one port for all incoming messages (like it works now) and could send a message to (just) one of the Site Controllers by sending the message on a special port configured to send messages to that BR1 M2M?
This would have the advantage of simplifying code in Site Controller computers because they would not have to ignore messages not intended for them…


@WeiMing please could you answer my question? I need to be able to send a message to a specific BR1 M2M without all the others receiving it as well…

Please also consider enabling the GPS which is partly implemented in the hardware?



It is not something we are doing now, let me get the Engineering Team to review the feasibility of the request.


Hi Jonathan,

I am afraid we misunderstood your feature request. We would like clarify about the term “port” in your message. Does that “port” mean a serial port or port number in TCP/IP? Could you please PM us about your expected network topology? We can evaluate the feasibility when we have a clear picture in mind.


1 Like

Hi, @Lewis_Kong.
Sorry, I didn’t explain that very well.

Some background… I have a pair of BR1 M2Ms connected via SpeedFusion with a controller simulator on one end connected through RS232 and a computer on the other connected through RS232. My computer can send packets to the controller which are received and vice versa.

But I need to scale this…

Here’s a sketch of what I’m trying to achieve…

I need to be able to send and receive RS232 data to the controllers on site individually. This means…
Scenario 1: One of the controllers sends an RS232 packet through the BR1M2M.
I can receive this packet in my application running on the VM and I can tell which controller sent it.
None of the other controllers see the packet which that controller sent.
Scenario 2: I need to send an RS232 packet to a specific controller through the onsite BR1 M2M.
My application can send this packet by adding some sort of coding to tell the Peplink in the datacentre which BR1 M2M to send it to.
None of the other controllers can receive this packet.

My sketch shows eight remote sites, but there will be maybe a hundred eventually.

The controllers use a legacy application which was designed to talk to a local terminal. I need to replace these local terminals with an application running on a VM in our datacentre, avoiding the need for personnel to visit site to change settings. So we cannot change the controllers to ignore packets not intended for them.

We cannot predict when the packets will be sent by the controllers, it could be at any time.

The reason I mentioned ports is because the settings for the UART on the BR1 M2M allow different ports to be used on the “TCP Server” device - and I wondered if there was a way to use this functionality to send a packet down just one link.

I do not really want a whole rack of BR1 M2Ms in my datacentre, with a whole bunch of RS232 cables connecting to physical ports on a PC, to make this work.

I believe this is a powerful use case for the BR1 M2M which others will find useful too…

Thanks for listening!


bump, bump!<

1 Like

Hi Jonathan,

Sorry for late reply, from your description, your team can modify software in the VM. If that’s true, I would suggest your team to write a TCP server application in the VM which can accept TCP connection from BR1-M2M. This is the most scalable way if you want to support hundreds of controllers.
What do you think?