Start a new topic
Implemented

Network Protocol / API

Hello,


I would like to use the LaMetric device in an internal network without internet access, i.e. independent from the cloud server. I would like to display data on the device that comes from an internal server of mine. This data is completely private, it's not accessible from the internet.


I'm a programmer myself (Python, C, and others, whatever is needed) and have programmed TCP/IP based client/server software in the past. So, I would like to write my own server software to control my LaMetric device. In order to do that, however, I need to have documentation about the network protocols (i.e. low-level network API) that the LaMetric device is using. I could try to reverse-engineer it, but that would probably be somewhat tedious.


So, I would like to ask for the "official" documentation of the LaMetric's network protocols. During the Kickstarter campaign it was promised that such documentation will be made available.


Best regards

- Oliver



11 people like this idea

Very easy, just like many router and other embedded device firmwares.


Grab the 1.0.24 (lm_ota_1.0.24_20151016_112_sa1.bin) firmware from lametric.com/firmware


In linux, install squashfs-tools which will give you unsquashfs and mksquashfs.


Then, just run "unsquashfs lm_ota_1.0.24_20151016_112_sa1.bin"


That will create a squasfs-root directory with six files in it: 2 signature files, 2 md5 checksums, and 2 regular files. The rootfs.squash file is the one you want. Run "unsqashfs rootfs.squash" for that guy. You may want to do that as root as it tries to create character devices that you'll want to recreate when you rebuild the filesystem.


You will now have another squashfs-root directory and that has the entire directory structure of your Lametric pre-configuration. From there you'll be interested in looking at the /etc/shadow file, sshd config, how it handles networking, lighttpd config, etc.


4 people like this
Would be really helpful to be able to push directly to the LaMetric as would like to use one in a few scenarios where it's not internet connected.

3 people like this
Same here, the main reason I bought this, beyond BT speakers, is for the promise to be able to push messages to it directly from my LAN without a cloud service, making this device non ephemeral...

I see port 22, 443 and 9001 are open... anyone got farther yet?
Like what is the ssh login?
Or why is https not handshaking? :)

 


2 people like this

It's already relegated to a paperweight for me. Hopefully you all read the EULA for the app before creating a developer login right? How they can eventually charge you for apps or that they don't have to allow you to download your own app? Not very encouraging. Take a look at the firmware (squashfs) and you'll see enough alarming things that I won't put this thing on my network. 

  • There's a root-enabled sshd server with a hard-coded root password 
  • The version of Lighttpd they use has a CVE against it.
  • The "apps" that get pre-installed are binaries not Python or anything else readable. I can only assume the ones you "create" on their website are similar as I refuse to accept the EULA and thus can't even configure my own device.
  • The app itself looks to use UPNP to tell something on the device to write to a configuration directory. On boot, if a config file exists in that directory, it uses it for Wifi configuration.
I have not attempted to flash the firmware using a modified one yet. It does have .sig files so presumably they are signed but often that stuff just gets ignored by the device. If someone wants to attempt to modify the squashfs and report back, that'd be great as I don't want it to somehow be bricked and require the app to clean it up.

2 people like this
@A lex - current method for "pushing" messages to LaMetric relies on their cloud service - I would presume this will be opened up for LAN development hopefully soon... In the meantime, having the LaMetric "pull" data from your RPi is possible...

1 person likes this

Oliver, you can do this now...(I've done it) but be aware that accessing the application via the web dashboard causes the LaMetric PHP webpage to crash out (it can't find the host).  See my other post.  Vote it up so that this error can be trapped more cleanly.


Cheers!


Nutz

How can this be done? I don't see a way to use my local RPi to push a frame directly to my LaMetric (e.g. at 192.168.0.64).

im getting a bit tired, no answers form la metric? what is the plan???

Hi Ken,
How did you proceed to dump the firmware or access it?
I'm interested in doing that too...
Thanks!

 

Thanks for the hint, didn't realize it was available online!
Strange how it's dropbear that is running but openssh is also installed. it probably uses less RAM?
Meanwhile I'm trying to see if john can do something with that md5crypt, I'll keep you posted if I find anything, though I only have 8 thread, not a cluster...
But agreed, this should be more python based and with a proper local API, I hope they do this just after IFTTT they said they were prioritizing... :|
cheers!

Hey guys,


Wanted to inform you that we just released new firmware 1.5.0 and we have local push feature there. More details here. Local API mimics the one that you use to push data to cloud. Comments are appreciated.


Thank you!

I'm starting to feel worn out; have you heard anything from la metric? What exactly are we going to do???

geometry dash

You can indeed use the LaMetric device in an internal network without internet access. To control your LaMetric device and display data from your internal server, you'll need to use the LaMetric's local network API.

Login or Signup to post a comment