Saturday, July 5, 2014

Playing with the HLK-RM04 Serial to Ethernet Convertor

I went on ebay and got me one of these:

This is a HLK-RM04 serial to ethernet device.  When I got it, I thought, why does it have two ethernet plugs?  Why does it have a wireless antenna plug there too?  Does it work with TTL serial like the Arduino, Raspberry Pi, and XBee do?  So, I started playing with it to see what it could do.

I found out that it is probably an incredible little device.  I couldn't get it to sign on to my wireless network using the built in web server, the darn thing would try, but it just wouldn't connect.  So, I looked around the web and noticed that it had a 'secret' web page I could play with.  A lot more messing around and I found out that the software that comes with it is incredibly buggy.  No, I'm not surprised, just disappointed.  Why do folk that come out with devices like this hate doing reasonable documentation?  Why do the leave out significant features that could sky rocket their sales to the Makers out there?  Do they need these things as something to lower their reputation?


I managed to turn this little device into a wireless ethernet bridge that supports 802.11 b/g/n at full speed, which is a blessing to me because my old house DSL modem is much slower and starting to get a bit flaky.  Did you catch that?  I have a nice wireless interface to my network at 'n' speeds without spending a fortune.  Also, I can put one of these anywhere I have an ethernet plug and extend my wireless for a small fraction of what Linksys or Belkin would like me to pay.  It cost me less than $25 complete with wall wart and 2db antenna included. Free shipping too.

All I had to do was overcome the crappy software and disgustingly incomplete documentation.  There's even an article on how to load openwrt on the device, but I kind of want to avoid that if possible (enough eggs on the fire right now ... thank you).

First though, my device isn't exactly like the one pictured above; mine's a little different:

Notice that there's an RF shield over the components that handle the RF?  That's probably to maintain the various certifications.  It has a LAN plug as well as a WAN plug besides the two serial ports and wireless.  Talk about stuffing ten pounds in a five pound sock!  What I will eventually be able to do with this series of boards should be a lot of fun.

One of my readers suggested I use this board.  My original intent was to use the serial input to monitor my pool controller for more protocol decoding that I haven't gotten to.  He and I embarked on a project that I'll write up later, and I got really tired of wandering from the house outside with a laptop and a bunch of tools to hook up and gather some data.  The idea was that I'd put this board out there and just watch it from inside where the temperature isn't approaching 115F in the full sun.  I can't do that yet, I didn't conquer the serial input before I discovered some of it's other capabilities.

Just so you folk don't think I'm just teasing you, the 'secret' web page for the settings that the manufacturer wants to keep us from playing with is  See, this configurable router is complete.  It can do all the encryptions, routing, tunneling, UPNP, etc that the expensive devices can do.  Sure, it's not a gigabit device, but neither is my house wiring.  You could put this behind the DSL modem at your house and totally stop the phone company from looking around your network.  I know, that sounds paranoid, but it is the 21st century and they ARE out to get me.

So, go to the 'secret' web page on one of these devices and experiment away.  You could have a cheap working Wifi access point in about 45 minutes.  You'd have a second one in about 2 minutes; there's a little learning curve to it.  Setting it up as a bridge is really simple.  The hardest part was finding the place where I could change the SSID.  There's a couple of different places for this depending on what you configure the device to be.

Now I can replace the old DSL modem I'm using in the garage to extend my wireless as well as the flaky wireless on my connected DSL up in the attic.

I have a letter to the vendor complaining about how the serial configuration failed; maybe he can get me some better documentation or something.  Meanwhile, I may just hunt for a couple more of these little things.  The darn ethernet plugs and antenna would cost me as much as the entire assembly did.


  1. Seems you can call install OpenWRT on this device it might actually solve the half assed software that comes with it.

  2. Here's at least one vote for OpenWRT, though I use it on old Linksys WRT54G routers I picked up on eBay a few years ago for about $25/each. They work great as wireless extenders at the data rate I need.

  3. Agreed, having openwrt on the device would be nice, but it's a one way trip. If something is messed up in the development version for this chip, the little router becomes a coaster. I've looked at how to install it and there are a whole lot of maybes in there. Right now I'm looking for a way to backup what is already there before I go putting something else in its place.

    I'm not afraid of turning a device into a brick; I have a number of those in a box somewhere, but I've found a nice use for it as it is. Maybe the next board I get will be subjected to possibly destructive testing.

  4. Add my vote for Openwrt as well. I have it running on Linsys NSLU2's and also TPLINKs. Would be nice to have this little rf unit on Openwrt.

  5. Man, will I ever learn not to listen to people. I decided to try OpenWrt on this device ... what a pain. I have a spare Pi and I decided I would load OpenWrt on it and build for this board there. So, I followed the directions to load OpenWrt and then did a 'make'.

    Did anyone tell us that the make file loads more stuff? Did anyone tell us that they have a 20 second timeout on the interactions? Did anyone tell us they abort after 5 retries? Did anyone tell us that the size of the darn thing is freaking huge?

    I had timeouts and retries when it tried to load a 9 MB (that's megabytes folks). I overcame that and then stumbled into a 25 MB download. I'm still working on that one. The entire thing is over 900MB right now and climbing.

    Needless to say, I'll be blogging about this experience.

  6. This comment has been removed by the author.

  7. My openwrt-nslu2-squashfs.bin is only 8.5 megs.
    I used a pre-built binary then add what I want from there.

  8. Just an update on openwrt; I gave up. There were files in there that were over 80MB and the size of the collection was well over 3GB when I finally quit. I would need a linux machine that was quite large and fast with a really good, solid connection to the net to be able to try my own compile in less than a couple of weeks.

    Some of the server downloads were showing 2b/sec. Yes, that's 2 bytes per second. Then the server would send back a 404 (not found) and I would get to start over.

    There are folks out there that have much, much better access than I and maybe one of them will get into it. Actually, there are some folk that have already made openwrt for the rm04, but I'll talk about the shortcomings of that in a blog post in a few days.

    Don't think I've given up though, there are ways of getting what I want that I haven't pursued yet.

  9. Well Dave, I owe you a BIG apology. I was actually thinking dd-wrt rather than openwrt and like stampeder above, I used a pre-built download binary for that firmware.

    If you didn't listen to the random postings on the net, look how many interesting/fruitless tangents you'd miss. Like Edison's famous saying regarding his many attempts to make a light bulb filament, paraphrased: "I have not failed. I've just found 10,000 ways that won't work." You have now found one internet stack that doesn't work.

  10. Actually, that's a good point. I'm definitely going to write about this in the hopes that, when someone like me thinks about such a thing, they have some honest feedback on what they're getting into. And, I've actually found three different pieces of software that don't work. At least out of the box, it may be possible to configure the heck out of them, but I haven't been able to yet.

    Regarding this particular problem, I actually got a response from the manufacturer and am pursuing possibilities that I haven't explored yet. Does that sound like a politician or what?

    Oh, no problem about the DD-Wrt, they don't support this architecture at all. So it wouldn't have mattered even if you did suggest it.

  11. daveJuly 12, 2014 at 12:07 PM

    And, I've actually found three different pieces of software that don't work.

    Only 9,997 to go...