Today's Deep-Dive: thingino
Ep. 265

Today's Deep-Dive: thingino

Episode description

The Deep Dive podcast explores thingino, an open-source firmware project for IP cameras, offering users control over their hardware. thingino replaces manufacturer software with community-built code, targeting cameras with specific Ingenic system-on-chips (SoCs). The project is robust, with significant community backing and detailed documentation. However, users must verify four critical internal components—SoC, image sensor, Wi-Fi module, and flash chip size—to ensure compatibility. The process involves compiling the firmware using tools like Buildroot, which can be time-consuming. Major risks include secure boot, which can brick cameras if enabled, and the unpredictability of hardware in mass-market electronics. The podcast highlights the balance between open-source freedom and the security of manufacturer firmware, encouraging users to weigh the benefits and risks.

Gain digital sovereignty now and save costs

Let’s have a look at your digital challenges together. What tools are you currently using? Are your processes optimal? How is the state of backups and security updates?

Digital Souvereignty is easily achived with Open Source software (which usually cost way less, too). Our division Safeserver offers hosting, operation and maintenance for countless Free and Open Source tools.

Try it now for 1 Euro - 30 days free!

Download transcript (.srt)
0:00

Welcome to the Deep Dive.

0:01

We're the show that tackles those dense tech docs,

0:04

research notes, all that complex stuff,

0:07

and basically gives you the shortcut to understanding it.

0:09

Today, we're digging into a really fascinating corner

0:12

of consumer tech.

0:13

What happens when you decide you want real control,

0:17

open source control, over hardware you already own?

0:20

Specifically, IP cameras.

0:22

Yeah, it's a great topic, taking back control.

0:24

Exactly.

0:25

We're focusing on Thangino, that's T-H-I-N-G-I-N-O,

0:29

an open source firmware project.

0:31

And before we jump right in, I have a quick shout out

0:33

to Safe Server for supporting this deep dive.

0:36

Safe Server handles hosting for projects like this

0:38

and can support you in your digital transformation.

0:41

Check them out at www.safeserver.de.

0:45

Good support is crucial for this kind of thing.

0:47

Absolutely.

0:48

So our mission today, to break down Thangino for you,

0:50

especially if you're new to this,

0:51

we want to give you the clear entry points,

0:53

but also, crucially, the big warnings,

0:55

straight from the project's own sources, like their GitHub.

0:58

Yeah, the warnings are important here.

1:00

OK, let's unpack this.

1:01

Right, so first things first.

1:02

Let's make sure everyone's on the same page about firmware.

1:04

What is it?

1:05

Good point.

1:06

Go ahead.

1:07

Well, think of firmware as basically the operating

1:09

system for your camera.

1:11

It's the core software that tells it

1:12

how to record video, connect to your Wi-Fi, all that stuff.

1:17

OK, makes sense.

1:17

Like Windows, but for a camera.

1:20

Sort of, yeah.

1:21

A very specialized OS.

1:22

And Thangino, it's a replacement for the software

1:25

the camera came with.

1:26

It's open source, built by the community.

1:28

So you're swapping out the company's code

1:30

for community code.

1:32

But it won't work on just any camera, right?

1:35

What's the target?

1:35

No, definitely not.

1:37

It's highly specialized.

1:38

The Gino targets IP cameras that are

1:40

built around a specific family of chips.

1:42

Ingenic system on chips or Socus.

1:44

Ingenic, like the T31X or T23N chips the docs mentioned.

1:49

Exactly those.

1:50

They're super common.

1:51

You find them in tons of cameras, both generic ones

1:53

and big brands.

1:54

By focusing just on these Ingenic chips,

1:57

then Gino can offer something really robust, customizable,

2:00

and importantly, more private without manufacturer backdoors

2:03

or limitations.

2:05

And looking at the sources, this isn't some weekend project.

2:08

It looks pretty serious.

2:09

Oh yeah, it's active.

2:10

The GitHub repository shows that clearly.

2:12

We're talking an MIT license, which

2:14

is great for open source, and the numbers.

2:18

Wow, over 1,100 stars, 138 forks, 66 contributors.

2:25

That's significant community backing.

2:27

That kind of support is essential, honestly,

2:30

given how complex firmware can be.

2:32

And something else interesting from the source

2:34

is the breakdown of programming languages used.

2:37

Right, I saw that.

2:37

Mostly shell, like almost 50%, and make file at 36%.

2:41

What does that tell us?

2:42

It doesn't sound like typical app development.

2:44

It tells you this is fundamentally

2:46

about building the environment.

2:47

It's less about writing a fancy user interface

2:50

and more about controlling the whole build process.

2:52

Shell scripts and make files are perfect for automating

2:55

the compilation of the Linux kernel, all the tools,

2:58

the drivers, everything needed for these slightly

3:00

different Ingenix chips.

3:02

Oh, OK.

3:03

So it's the scaffolding that lets

3:04

them build the actual firmware for all those different camera

3:07

models they support.

3:07

Precisely.

3:08

It's the backbone.

3:09

It makes the whole thing manageable for the community.

3:11

That makes a lot more sense.

3:12

And for anyone wanting to explore or needing help,

3:15

the project seems well set up.

3:17

The source is mentioned, a project website, a wiki,

3:21

even a Discord and a Telegram group.

3:23

Yeah, it's a proper ecosystem.

3:24

You're not left on your own.

3:26

Which is good because, well, here's work

3:28

it's really interesting, maybe a bit tricky.

3:31

We have to talk about what supported camera actually

3:33

means.

3:34

It's not straightforward.

3:36

This is probably the biggest hurdle for anyone starting out.

3:39

The documentation is very clear, very blunt about this.

3:42

Just because your camera's model name,

3:44

say a TP-Link Tapo C110 or a Wyze Cam 3 is on their list,

3:49

that doesn't guarantee thingy know will work.

3:51

Wait, hold on.

3:52

Why not?

3:52

If I buy a specific model, shouldn't the insides

3:55

be the same?

3:56

You'd think so, wouldn't you?

3:57

But unfortunately, especially with mass market electronics,

4:00

it's common for manufacturers to swap out

4:02

internal components between different batches

4:04

of the exact same model.

4:05

Really?

4:05

Why would they do that?

4:07

Usually cost.

4:08

Or maybe a specific chip becomes hard to get.

4:10

So they find a replacement part that, from the outside,

4:13

does the same basic job.

4:14

They don't change the model number on the box,

4:16

because it still records video.

4:18

But for something like Thingino, which needs to talk directly

4:21

to the hardware, a different chip inside

4:24

could break everything.

4:25

Exactly.

4:26

It completely breaks compatibility

4:27

at that low level.

4:28

So if you want to solve Thingino,

4:30

you basically have to become a hardware detective.

4:32

You need to verify four specific internal components

4:35

in your specific camera unit.

4:37

Four components.

4:38

OK, that sounds intense.

4:39

Walk us through them.

4:39

What do you need to check?

4:40

Number one, the most critical, the SoC, the main chip.

4:44

As we said, it must be a compatible Ingenic one,

4:47

like a T31X or similar.

4:48

All right, got it.

4:49

Second, the image sensor, that's the part that actually

4:51

captures the picture, like a GC4653 or an SC2336,

4:56

the Dock's List specific ones.

4:57

OK, SoC sensor.

4:58

Third, the Wi-Fi module, the chip that

5:01

handles the wireless connection.

5:03

Again, specific models matter, like an ATBM6031 or RTL189FTV.

5:10

OK, and the last one.

5:11

And finally, the flash chip size, the little chip

5:14

that stores the firmware itself.

5:16

Did your camera have an 8-millibee chip,

5:18

16-milli, 32-milli?

5:20

That needs to match the supported combination, too.

5:23

Wow.

5:24

SoC, image sensor, Wi-Fi module, and flash size.

5:28

If even one of those doesn't match the exact combination

5:31

listed for your model in the Thinggeno Docks,

5:34

it might not work, or worse.

5:35

Or worse, yeah.

5:36

You could potentially break it.

5:38

That's why the hardware list is so detailed, listing models

5:40

like the Wi-Fi E220 or Wyze Cam Floodlight,

5:43

but always with footnotes about the specific internal combo

5:46

required.

5:47

So the name on the box is almost irrelevant.

5:49

It's the silicon inside that counts.

5:51

In the world of firmware, the hardware combination

5:54

is the real model number.

5:55

That's the key takeaway.

5:56

OK.

5:57

Now, for listeners who are maybe a bit more technical,

5:59

curious about how to actually build this firmware,

6:02

the sources give instructions, right?

6:03

But it's not just downloading a file.

6:05

Not at all.

6:05

You had to compile the entire operating system yourself.

6:08

This involves something called cross compilation,

6:11

meaning you use your regular computer, probably

6:13

a Linux machine or maybe a virtual machine,

6:15

to build software that runs on a totally different type

6:18

of processor, the little nginic chip in the camera.

6:20

The project uses tools like Buildroot,

6:23

which the source has mentioned, to manage

6:25

this whole complex setup.

6:26

Right.

6:26

Buildroot handles the environment.

6:28

So let's quickly go through the main steps,

6:30

not just reading the commands, but what they do.

6:32

Sure.

6:33

It usually starts with get clone recurse submodules.

6:36

That command grabs the thinggino code,

6:39

but the recurse submodules part is crucial.

6:42

It also pulls down all the other necessary code libraries,

6:45

gets to the Linux kernel, Buildroot itself,

6:47

specific drivers, everything needed.

6:49

So it's downloading a whole development kit, essentially.

6:52

Pretty much, yeah.

6:53

It can be quite large, gigabytes even, and take a while.

6:55

You're getting the whole ecosystem.

6:57

OK, so you've cloned the ecosystem.

6:59

Then you navigate into the folder,

7:01

usually CD-Thingino firmware, and the main command, make.

7:05

Just make.

7:05

It's just make.

7:07

That one command triggers the whole automated process

7:10

we talked about earlier, using all those shell scripts

7:13

and make files.

7:13

It configures the kernel, compiles all the software

7:16

parts, links the right drivers for your specific hardware

7:19

combo, those four components, and finally,

7:21

packages it all up into a firmware image file

7:24

that you can then flash onto the camera.

7:26

And that make process isn't instant, I assume.

7:28

Oh, no.

7:29

Depending on your computer, it could easily take 20 minutes,

7:32

maybe longer, especially the first time.

7:34

It's doing a lot of work.

7:35

OK, that really drives home that this

7:37

is a serious hands-on process.

7:39

You're building something custom for your specific camera's guts.

7:44

So let's say you've done your homework.

7:45

You've identified your four components.

7:47

You've managed to build the firmware.

7:48

Now what?

7:49

Before you actually try to install it,

7:51

the sources highlight two really big warnings,

7:54

two major hurdles.

7:55

Yes.

7:56

And these carry significant risk.

7:58

The first, and honestly the most dangerous one, is secure boot.

8:01

Secure boot.

8:02

I've heard of that.

8:03

How does it apply here?

8:04

Well, the sources talk about conditionally supported hardware.

8:07

Often, that condition is whether secure boot

8:09

is turned on in that specific camera unit.

8:13

Basically, secure boot is a security feature

8:16

built into the chip itself.

8:17

Some manufacturers, during production,

8:20

read a secret digital key into a special part of the SoZ

8:23

called the OTP area.

8:25

OTP, one-time programmable.

8:27

Exactly, one time.

8:28

Once they write that key and blow the fuse, so to speak,

8:31

it's permanent.

8:32

It cannot be changed or erased.

8:33

Like etching something in stone.

8:35

Pretty much.

8:36

Yeah.

8:36

And the chip is then programmed to only boot software firmware

8:40

that's been digitally signed with the matching secret key held

8:43

by the manufacturer.

8:44

OK, so I see where this is going.

8:45

The Nino, being open source and community built,

8:48

isn't signed with the manufacturer's secret key.

8:51

Correct.

8:51

It can't be.

8:52

So if you try to flash the Nino onto a camera where

8:54

a secure boot has been permanently

8:56

enabled in that OTP area.

8:57

What happens?

8:58

The camera's initial bootloader checks the signature,

9:02

sees it doesn't match the key locked in the OTP,

9:05

and just stops.

9:05

It refuses to boot.

9:07

And the result, the source is very clear, is catastrophic.

9:10

The camera is permanently bricked, unusable.

9:14

Bricked means it's just a plastic box, no fixing it.

9:18

No fixing it.

9:19

Unless you physically de-solder and replace the entire sock

9:22

chip, which is not practical for most people, it's dead.

9:25

Wow.

9:26

That's a huge risk.

9:27

It's like the camera actively rejects the transplant.

9:30

And the docs mentioned specific models, right?

9:32

Like some Roku or Wyze cameras tested

9:36

were found to have it enabled.

9:37

Yes.

9:38

The community tries to track which specific batches

9:40

or versions of models are known to have secure boot enabled,

9:44

often using color codes or other identifiers mentioned

9:46

in the wiki.

9:47

But it's always a risk with conditionally supported

9:49

hardware.

9:49

You have to check carefully before flashing.

9:51

Extreme caution needed.

9:52

OK, what's the second big hurdle?

9:54

Something about mystery box hardware.

9:56

Right, this is more about the unpredictability

9:58

of the supply chain, especially if you buy cameras from, say,

10:01

AliExpress or similar large online marketplaces.

10:04

What's the issue there?

10:05

Even if the camera looks identical to a supported model,

10:08

has the same sticker on it, sometimes the manufacturer

10:11

has put completely different hardware inside.

10:14

The sources specifically warn that sometimes these clones

10:17

might contain an unsupported ARM processor instead

10:21

of the required Ingenix Solve.

10:23

So even if you thought you had the right model,

10:25

the actual brain inside is totally wrong for Thinggino.

10:28

Exactly.

10:29

The outside looks right.

10:30

Maybe even some of the other ships match.

10:32

But the core processor architecture is incompatible.

10:35

So Thinggino just won't run.

10:36

It reinforces that idea.

10:38

You need to verify everything, especially the SoC type.

10:41

Got it.

10:41

And quickly, are there types of cameras

10:43

that are just flat out unsupported?

10:45

Yes.

10:46

The sources mentioned that battery-powered cameras,

10:49

particularly those using something called the ZeraTool

10:51

platform, are currently unsupported.

10:53

They have different power-saving needs

10:55

that Thinggino isn't designed for right now.

10:57

OK, so summing this up, this deep dive

11:00

really highlights that classic tech tension, doesn't it?

11:03

Thinggino offers this incredible open source freedom,

11:06

real control over your camera, getting away

11:08

from proprietary cloud stuff.

11:10

Which is very appealing for privacy and customization.

11:12

Totally.

11:14

But that freedom comes bundled with some serious

11:17

responsibility.

11:18

You absolutely must do that deep hardware check,

11:20

understand the components, and you

11:22

face that potentially fatal risk of secure boot turning

11:25

your camera into a paperweight.

11:28

And that risk leads to a really interesting final thought

11:30

for you, the listener, to ponder.

11:33

If security features that are meant to protect users,

11:36

like secure boot verifying firmware,

11:38

are locked down so tightly with these permanent hardware keys,

11:42

does the convenience and, let's face it,

11:44

the warranty back simplicity of just using the manufacturer's

11:47

pre-signed firmware maybe outweigh the absolute

11:50

customization you get with the Ingenio?

11:53

Especially for something like a security camera,

11:55

where does that balance lie for you between total control

11:58

and guaranteed, albeit potentially restricted,

12:00

functionality?

12:01

That's a great question.

12:03

Control versus safety, openness versus locked down security,

12:07

definitely something to think about regarding

12:09

the devices in your own home.

12:11

A big thank you again to our supporter, Safe Server,

12:14

for making this exploration possible.

12:16

Remember to check them out at www.safeserver.de

12:20

for hosting and digital transformation support.

12:23

So whether you decide to venture into custom firmware

12:25

or stick with what came in the box,

12:27

now you've got a much clearer picture of the internals,

12:30

the risks, and the power involved with your IP camera.

12:33

Go explore these ideas further.

12:34

We'll catch you on the next Deep Dive.

12:34

We'll catch you on the next Deep Dive.