Manouchehri / smi2021

smi2021 v4l2 kernel driver
25 stars 12 forks source link

Binary blob - Rewrite? #4

Open Manouchehri opened 9 years ago

Manouchehri commented 9 years ago

Requiring smi2021_*.bin but not being able to provide it is a bit of a problem. It's impossible to distribute and can't be merged back into the kernel.

Would it be possible to write our own version to replace it?

Manouchehri commented 9 years ago

The binary blob has officially be put under the GPL. Email I received this morning:

Copyright (C) 2015 Somagic,Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
jonjonarnearne commented 9 years ago

Did you get the source?

jonjonarnearne commented 9 years ago

Also, the kernel doesn't care about the firmware. It's not the firmware that is preventing this driver from beeing mainlined, it's lazines :)

Manouchehri commented 9 years ago

Unfortunately not yet, I'm going to have to send another email asking for that.

Well, with a non-GPL binary blob the chances of being mainlined were zero from what I've been told. The binary blob is still unlikely to be accepted, but at least it can now legally be included.

jonjonarnearne commented 9 years ago

I've had a go on mainlining it. Nobody ever asked about the binary blob. It's up to the distributions to provide the blob. The Radeon driver also needs binary blobs, but it's mainlined.

On Fri, Apr 17, 2015 at 2:00 PM, David Manouchehri <notifications@github.com

wrote:

Unfortunately not yet, I'm going to have to send another email asking for that.

Well, with a non-GPL binary blob the chances of being mainlined were zero from what I've been told. The binary blob is still unlikely to be accepted, but at least it can now legally be included.

— Reply to this email directly or view it on GitHub https://github.com/Manouchehri/smi2021/issues/4#issuecomment-93972595.

Jonarne http://jonarne.no

jonjonarnearne commented 9 years ago

But it would be nice to get the source :)

On Fri, Apr 17, 2015 at 2:36 PM, Jon Arne Jørgensen < jonjon.arnearne@gmail.com> wrote:

I've had a go on mainlining it. Nobody ever asked about the binary blob. It's up to the distributions to provide the blob. The Radeon driver also needs binary blobs, but it's mainlined.

On Fri, Apr 17, 2015 at 2:00 PM, David Manouchehri < notifications@github.com> wrote:

Unfortunately not yet, I'm going to have to send another email asking for that.

Well, with a non-GPL binary blob the chances of being mainlined were zero from what I've been told. The binary blob is still unlikely to be accepted, but at least it can now legally be included.

— Reply to this email directly or view it on GitHub https://github.com/Manouchehri/smi2021/issues/4#issuecomment-93972595.

Jonarne http://jonarne.no

Jonarne http://jonarne.no

Manouchehri commented 9 years ago

I guess it varies from maintainers. I've had some tell me flat out no to things that require binary blobs because they can't be audited easily, but there's a fair amount already in the kernel. What was the response when you tried to mainline it?

What exact does the binary here provide? When I glanced at it with a hex editor I wasn't sure what it was doing. On Apr 17, 2015 10:08 AM, "Jon Arne Jørgensen" notifications@github.com wrote:

But it would be nice to get the source :)

On Fri, Apr 17, 2015 at 2:36 PM, Jon Arne Jørgensen < jonjon.arnearne@gmail.com> wrote:

I've had a go on mainlining it. Nobody ever asked about the binary blob. It's up to the distributions to provide the blob. The Radeon driver also needs binary blobs, but it's mainlined.

On Fri, Apr 17, 2015 at 2:00 PM, David Manouchehri < notifications@github.com> wrote:

Unfortunately not yet, I'm going to have to send another email asking for that.

Well, with a non-GPL binary blob the chances of being mainlined were zero from what I've been told. The binary blob is still unlikely to be accepted, but at least it can now legally be included.

— Reply to this email directly or view it on GitHub <https://github.com/Manouchehri/smi2021/issues/4#issuecomment-93972595 .

Jonarne http://jonarne.no

Jonarne http://jonarne.no

— Reply to this email directly or view it on GitHub https://github.com/Manouchehri/smi2021/issues/4#issuecomment-93977767.

jonjonarnearne commented 9 years ago

I've reverse engineered parts of it, but it looks like it's just some simple setup of the communication between the smi2021 chip and the other chips on the device.

I've written down some basic info here: https://code.google.com/p/easycap-somagic-linux/wiki/FirmwareDetails

On Fri, Apr 17, 2015 at 7:41 PM, David Manouchehri <notifications@github.com

wrote:

I guess it varies from maintainers. I've had some tell me flat out no to things that require binary blobs because they can't be audited easily, but there's a fair amount already in the kernel. What was the response when you tried to mainline it?

What exact does the binary here provide? When I glanced at it with a hex editor I wasn't sure what it was doing. On Apr 17, 2015 10:08 AM, "Jon Arne Jørgensen" notifications@github.com wrote:

But it would be nice to get the source :)

On Fri, Apr 17, 2015 at 2:36 PM, Jon Arne Jørgensen < jonjon.arnearne@gmail.com> wrote:

I've had a go on mainlining it. Nobody ever asked about the binary blob. It's up to the distributions to provide the blob. The Radeon driver also needs binary blobs, but it's mainlined.

On Fri, Apr 17, 2015 at 2:00 PM, David Manouchehri < notifications@github.com> wrote:

Unfortunately not yet, I'm going to have to send another email asking for that.

Well, with a non-GPL binary blob the chances of being mainlined were zero from what I've been told. The binary blob is still unlikely to be accepted, but at least it can now legally be included.

— Reply to this email directly or view it on GitHub < https://github.com/Manouchehri/smi2021/issues/4#issuecomment-93972595 .

Jonarne http://jonarne.no

Jonarne http://jonarne.no

— Reply to this email directly or view it on GitHub https://github.com/Manouchehri/smi2021/issues/4#issuecomment-93977767.

— Reply to this email directly or view it on GitHub https://github.com/Manouchehri/smi2021/issues/4#issuecomment-94036003.

Jonarne http://jonarne.no

jonjonarnearne commented 9 years ago

Here you can see my latest attempt to mainline the driver :) I haven't had time to send in any new requests

On Fri, Apr 17, 2015 at 7:59 PM, Jon Arne Jørgensen < jonjon.arnearne@gmail.com> wrote:

I've reverse engineered parts of it, but it looks like it's just some simple setup of the communication between the smi2021 chip and the other chips on the device.

I've written down some basic info here: https://code.google.com/p/easycap-somagic-linux/wiki/FirmwareDetails

On Fri, Apr 17, 2015 at 7:41 PM, David Manouchehri < notifications@github.com> wrote:

I guess it varies from maintainers. I've had some tell me flat out no to things that require binary blobs because they can't be audited easily, but there's a fair amount already in the kernel. What was the response when you tried to mainline it?

What exact does the binary here provide? When I glanced at it with a hex editor I wasn't sure what it was doing. On Apr 17, 2015 10:08 AM, "Jon Arne Jørgensen" notifications@github.com wrote:

But it would be nice to get the source :)

On Fri, Apr 17, 2015 at 2:36 PM, Jon Arne Jørgensen < jonjon.arnearne@gmail.com> wrote:

I've had a go on mainlining it. Nobody ever asked about the binary blob. It's up to the distributions to provide the blob. The Radeon driver also needs binary blobs, but it's mainlined.

On Fri, Apr 17, 2015 at 2:00 PM, David Manouchehri < notifications@github.com> wrote:

Unfortunately not yet, I'm going to have to send another email asking for that.

Well, with a non-GPL binary blob the chances of being mainlined were zero from what I've been told. The binary blob is still unlikely to be accepted, but at least it can now legally be included.

— Reply to this email directly or view it on GitHub < https://github.com/Manouchehri/smi2021/issues/4#issuecomment-93972595 .

Jonarne http://jonarne.no

Jonarne http://jonarne.no

— Reply to this email directly or view it on GitHub <https://github.com/Manouchehri/smi2021/issues/4#issuecomment-93977767 .

— Reply to this email directly or view it on GitHub https://github.com/Manouchehri/smi2021/issues/4#issuecomment-94036003.

Jonarne http://jonarne.no

Jonarne http://jonarne.no

jonjonarnearne commented 9 years ago

Forgot the link: https://lkml.org/lkml/2013/9/1/148

On Fri, Apr 17, 2015 at 8:01 PM, Jon Arne Jørgensen < jonjon.arnearne@gmail.com> wrote:

Here you can see my latest attempt to mainline the driver :) I haven't had time to send in any new requests

On Fri, Apr 17, 2015 at 7:59 PM, Jon Arne Jørgensen < jonjon.arnearne@gmail.com> wrote:

I've reverse engineered parts of it, but it looks like it's just some simple setup of the communication between the smi2021 chip and the other chips on the device.

I've written down some basic info here: https://code.google.com/p/easycap-somagic-linux/wiki/FirmwareDetails

On Fri, Apr 17, 2015 at 7:41 PM, David Manouchehri < notifications@github.com> wrote:

I guess it varies from maintainers. I've had some tell me flat out no to things that require binary blobs because they can't be audited easily, but there's a fair amount already in the kernel. What was the response when you tried to mainline it?

What exact does the binary here provide? When I glanced at it with a hex editor I wasn't sure what it was doing. On Apr 17, 2015 10:08 AM, "Jon Arne Jørgensen" <notifications@github.com

wrote:

But it would be nice to get the source :)

On Fri, Apr 17, 2015 at 2:36 PM, Jon Arne Jørgensen < jonjon.arnearne@gmail.com> wrote:

I've had a go on mainlining it. Nobody ever asked about the binary blob. It's up to the distributions to provide the blob. The Radeon driver also needs binary blobs, but it's mainlined.

On Fri, Apr 17, 2015 at 2:00 PM, David Manouchehri < notifications@github.com> wrote:

Unfortunately not yet, I'm going to have to send another email asking for that.

Well, with a non-GPL binary blob the chances of being mainlined were zero from what I've been told. The binary blob is still unlikely to be accepted, but at least it can now legally be included.

— Reply to this email directly or view it on GitHub < https://github.com/Manouchehri/smi2021/issues/4#issuecomment-93972595 .

Jonarne http://jonarne.no

Jonarne http://jonarne.no

— Reply to this email directly or view it on GitHub <https://github.com/Manouchehri/smi2021/issues/4#issuecomment-93977767 .

— Reply to this email directly or view it on GitHub https://github.com/Manouchehri/smi2021/issues/4#issuecomment-94036003.

Jonarne http://jonarne.no

Jonarne http://jonarne.no

Jonarne http://jonarne.no

Manouchehri commented 8 years ago

I emailed the company again asking for the source code, hopefully they'll reply.

AXDOOMER commented 6 years ago

If it's GPL, then they must give you the source code. Else they are violating the license.

mastervolkov commented 6 years ago

If source in assembler and binary is GPL - can we simple disassemble (objdump) that binary?

jonjonarnearne commented 6 years ago

I have an objdump of the firmware. Its avr assembly.

But I didn't know that file is GPL?

On Feb 20, 2018 5:42 PM, "mastervolkov" notifications@github.com wrote:

If source in assembler and binary is GPL - can we simple disassemble (objdump) that binary?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Manouchehri/smi2021/issues/4#issuecomment-367038906, or mute the thread https://github.com/notifications/unsubscribe-auth/ABL2WE9vwV4MohYTyBK7wZGcnk4XwWGkks5tWvXwgaJpZM4D9riE .

AXDOOMER commented 6 years ago

But I didn't know that file is GPL?

See this message: https://github.com/Manouchehri/smi2021/issues/4#issuecomment-93965837

jonjonarnearne commented 6 years ago

One guy claming he got an email, and no source?

On Feb 20, 2018 6:51 PM, "Alexandre-Xavier Labonté-Lamoureux" < notifications@github.com> wrote:

But I didn't know that file is GPL?

See this message: #4 (comment) https://github.com/Manouchehri/smi2021/issues/4#issuecomment-93965837

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Manouchehri/smi2021/issues/4#issuecomment-367060933, or mute the thread https://github.com/notifications/unsubscribe-auth/ABL2WDBP32KOW1C6lBidm5kSJn7d8SFcks5tWwYdgaJpZM4D9riE .

AXDOOMER commented 6 years ago

One guy claming he got an email, and no source?

Yes, but it's against the GPL not to also make the source code available. Also, because it's GPL3, it can't be distributed in the Linux kernel because it's GPL2 and both licenses are incompatible.

jonjonarnearne commented 6 years ago

I just find it suspicius that all proof we have of this code being gpl is one guy claming to have received an email.

As we haven't got any code, and this product beeing cheap/bad, I just find it hard to believe.

Also, if I'm correct, the kernel devs can accept the driver without any firmware, and leave firmware issues to the distros.

Sorry for any typos. Written on a lousy mobile...

On Feb 20, 2018 6:56 PM, "Alexandre-Xavier Labonté-Lamoureux" < notifications@github.com> wrote:

One guy claming he got an email, and no source?

Yes, but it's against the GPL not to also make the source code available. Also, because it's GPL3, it can't be distributed in the Linux kernel because it's GPL2 and both licenses are incompatible.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Manouchehri/smi2021/issues/4#issuecomment-367062637, or mute the thread https://github.com/notifications/unsubscribe-auth/ABL2WIqmuS9XLHnircGMRFucTo6Tr8ilks5tWwdUgaJpZM4D9riE .

AXDOOMER commented 6 years ago

As we haven't got any code, and this product beeing cheap/bad, I just find it hard to believe. Also, if I'm correct, the kernel devs can accept the driver without any firmware, and leave firmware issues to the distros.

I also find it hard to believe.

Installing the firmware can be let up to the user. It's an easy thing to do.

Manouchehri commented 6 years ago

@jonjonarnearne I can post the entire thread if you want, but they still never sent me the actual source.

image

AXDOOMER commented 6 years ago

@Manouchehri What is he referring to when he says "document" ?