GPL Source Code
-
@Theodore-Borromeo said in GPL Source Code:
However, I will vote with my money for an open system that DOES provide source and build instructions over one that doesn't.
I like this idea a lot! If the company doesn't already provide the source code to your expectations, DON'T BUY THE PRODUCT in the first place. Check before you buy to know what you are getting into, and stop complaining on forums! If you are not the copyright owner, there's absolutely nothing you can do about it except perhaps informing the actual copyright owners for any possible license violations.
I was bit by an alleged open source claim from a company developing a video editing software. They would sell (actually a yearly subscription) extra packages for increased functionality. Well, they never released the source code for the base system, and they added time bombs into the executables. When I found out, that was the end of it and I never looked back.
That being said, I think that it is a big mistake to offer a product so versatile as the Omega(2(+)) without proper documentation, especially if it may eventually fall into the hand of people having different expectations and different knowledge levels, and it certainly did this time. Documentation is a big priority, and I see that the Onion Team is hard at work at it. For example, the docs now show how to use an Omega2 WITHOUT a dock, and different firmware upgrade strategies are also listed, all issues that first appeared in this community forum. KUDOS FOR THAT!
Now, for the Open Source aspect, it seems that there are regular updates here:
https://github.com/OnionIoT/
There are lots of stuff in there, and components on different levels of the operating system. Have a look from time to time to see what's new, if it might be of any use to you. As of now, my feeling is that Onion have plenty on their plate and are putting their energy on both fronts, with a clear priority on documentation. And that is the responsible way to go, imo.All that being said, I hate the Linux system because it's overly confusing to understand and use and so vulnerable to criminal attacks because of its complex structure. It's now a myth to say that Linux (and even Macs) don't have viruses. Android (Linux based) is now a big target these days. No enthusiast hackers can truly understand all the Linux system components, and they are all inter-related somehow. In the mid-long term, I want to totally replace my Omega2+ firmware with a different Operating System. I don't know what it is yet. I may try FreeBSD/Mips just for fun.
So guys, I support your right to build a good, working and efficient Omega(2(+)) firmware on a philosophical level. If the information is never released, to me, it means that there may have vulnerabilities that can be exploited by criminals, and that's not acceptable to me. It's true that if all the needed source code and config files are out there, an army of proficient programmers would help flush the bugs out in no time, the beauty of Open Source. I think that Onion would benefit tremendously from that, and perhaps allocate more resources to the much needed documentation project. Clearly, the ball is in the Onion camp!
-
@fossette said in GPL Source Code:
If you are not the copyright owner, there's absolutely nothing you can do about it except perhaps informing the actual copyright owners for any possible license violations.
With GPL programs running on the Onion Hardware such as but not limited to Das uBoot, busybox, LEDE, and of course the kernel...there are thousands of copyright owners...and any single one of those persons or entities can file in court...and if so would do so in there own jurisdiction ... think about that.
-
@WereCatf built a docker container buildroot for the lede project at borromeotlhs/omega2 on dockerhub.
I, probably incorrectly, chose the AR71xx as the target, but didn't see any other option. I figured a MIPS arch guess would be best. Also included objdump, motion and some other video streaming packages as I'm interested in using omega2 with webcams. It all built slowly with 'make -j1', and the resultant images are in that docker image (I think). Started pushing last night, and when I woke up this morning, my stupid laptop was restarting for updates, so I'm not sure it even finished pushing correctly
I'll post the dockerfile on github soon. Wife is mad at me for spending so much time yesterday getting docker up and running on Windows. . .
-
@Theodore-Borromeo said in GPL Source Code:
I, probably incorrectly, chose the AR71xx as the target, but didn't see any other option. I figured a MIPS arch guess would be best.
Why didn't you, you know, ask? There are things like e.g. endianness, which need to be correct -- you can't run big-endian binaries on a little-endian system! The correct profile is, in menuconfig, Mediatek Ralink MIPS -> MT7688 based boards -> Onion Omega2+, or manually, ramips omega2p.
-
@WereCatf I was just testing the ability for building to see if my Linux environment would build something, and I wanted to start from the omega 1 that I knew should have worked.
I'll fix that in v2 for the specific omega2
-
@Theodore-Borromeo said in GPL Source Code:
I'll fix that in v2 for the specific omega2
Okay, have fun with it and don't burn your build-machine down!
-
Building v2 now, will have it ready to push once done, and will post to the LEDE toolchain thread as well.
I'd love feedback once this is done as to what I could change about the docker image. Alternatively, folks can help @WereCatf out (not that he needs it) in making patches to his master branch, which is what I'm building off of. I had hoped that Onion,Inc. would build something like buildroot.org did to facilitate baking images to flash on your board once you got them. I think it'd aid greatly in this transparency discussion wrt GPL v2 and various other OSS licenses.
<3,
TJ
-
@administrators
@Kit-Bishop
@fossetteFor those of you that can not run the command
' git show 5cd49bb067cadfeba6eb7f09982f76558101ad5d '
This will show the Onion Corporation :
By virtue of it's submission to OpenWrt has read and understands the terms of the GPL and those of OpenWrt.
Knowingly and willfully committed code and thus acknowledges the GPL as a valid license.
commit 5cd49bb067cadfeba6eb7f09982f76558101ad5d
Author: John Crispin john@openwrt.org
Date: Fri Jul 24 09:09:49 2015 +0000ar71xx: add support for Onion Omega This patch adds support for the Onion Omega. https://onion.io/omega Signed-off-by: L. D. Pinney <ldpinney@gmail.com> Acked-by: Boken Lin <bl@onion.io> Tested-by: Jacky Huang <huangfangcheng@163.com> SVN-Revision: 46458
###CUT##
Actual patch removedcommitted code from :
target/linux/ar71xx/files/arch/mips/ath79/mach-onion-omega.cOnion Omega board support
Copyright (C) 2015 Boken Lin bl@onion.io
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.###CUT###
Please push the code...as required.
Thanks for your contribution to Open Source Software...
-
@Lazar-Demin is trying to merge profiles for Omega2(+) to LEDE, but it seems they have not been listening to anything we've said here on the forums or taken a look at what we've done. Their DTS still contains the same issue with the reset-button that I mentioned several times already and that I've fixed in my DTS, for example.
-
@WereCatf
Yes ... I see we have a new branch.It's very short of the complete source used.
However it is a start.
-
Here is my Device Tree Source :
"WE" should be able to fix a few things now
/dts-v1/;
#include "mt7628an.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>/ {
compatible = "onion,omega", "mediatek,mt7628an-soc";
model = "Onion Omega2";
chosen {bootargs = "console=ttyS0,115200"; }; gpio-leds { compatible = "gpio-leds"; system { label = "omega2:amber:system"; gpios = <&gpio1 12 GPIO_ACTIVE_LOW>; }; }; gpio-keys-polled { compatible = "gpio-keys-polled"; #address-cells = <1>; #size-cells = <0>; poll-interval = <20>; reset { label = "reset"; gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; linux,code = <KEY_RESTART>; }; };
};
&spi0 {
status = "okay";pinctrl-names = "default"; pinctrl-0 = <&spi_pins>, <&spi_cs1_pins>; m25p80@0 { #address-cells = <1>; #size-cells = <1>; compatible = "jedec,spi-nor"; reg = <0>; linux,modalias = "m25p80"; spi-max-frequency = <40000000>; m25p,chunked-io = <31>; partition@0 { label = "u-boot"; reg = <0x0 0x30000>; read-only; }; partition@30000 { label = "u-boot-env"; reg = <0x30000 0x10000>; }; factory: partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; }; partition@50000 { label = "firmware"; reg = <0x50000 0x1fb0000>; }; }; spidev@1 { #address-cells = <1>; #size-cells = <1>; compatible = "linux,spidev"; reg = <1>; spi-max-frequency = <40000000>; };
};
ðernet {
mtd-mac-address = <&factory 0x28>;
};&gpio0 {
status = "okay";
};&gpio1 {
status = "okay";
};&gpio2 {
status = "okay";
};&i2c {
status = "okay";
};&pwm {
status = "okay";
};&sdhci {
status = "okay";
mediatek,cd-high;
};&uart1 {
status = "okay";
};&uart2 {
status = "okay";
};&wmac {
status = "okay";
ralink,mtd-eeprom = <&factory 0x4>;
};&pinctrl {
state_default: pinctrl0 {gpio { ralink,group = "gpio", "i2c", "jtag", "perst", "pwm1", "refclk", "spis", "wdt", "wled_an", "wled_kn"; ralink,function = "gpio"; }; };
};
-
Not sure why this website mangles code ...
But if anybody wants it...I can send it another way
-
@Larry-Pinney said in GPL Source Code:
@WereCatf
Yes ... I see we have a new branch.It's very short of the complete source used.
However it is a start.
Yes, it's a start! Thanks @Lazar-Demin / greenbreakfast!
I hoped seeing the original Omega2 .dts would reveal why I can't get GPIO18/19 to work as GPIO in my LEDE build, while these work with standard Omega2 FW. However, no luck, the now posted .dts seems functionally identical to those figured out by @WereCatf and @Larry-Pinney (and my own).
From the voltage levels I see on these pins they are probably in Ethernet PHY mode, rather than GPIO, but I don't see why, and how to change that. omega2-ctrl does not seem to have an option for those pins.
Anyway, @onion please don't stop here! On my wishlist I see .config and the sources for omega2-ctrl in top positions
-
@Larry-Pinney said in GPL Source Code:
Not sure why this website mangles code ...
This my help you:
https://community.onion.io/topic/707/markdown-how-to-start-with-it
-
I prettified my DTS-files up some and merged the reboot-fix by @Larry-Pinney , and now I am working on making a reasonably useable default-configuration that I can share soon.
-
Why all the fuss? I just managed to build the omega2 firmware from https://github.com/lede-project/source.git
Checkout the onion-omega2 branch
run:
scripts/feeds update -a
scripts/feeds install -a
make menuconfigselect CPU MIPS, Soc MT7688, Board Omega2 (or 2+ if you like)
run:
make V=99enjoy
-
@Ghent-The-Slicer said in GPL Source Code:
Why all the fuss? I just managed to build the omega2 firmware from https://github.com/lede-project/source.git
Checkout the onion-omega2 branch
There is no such branch there. You may be referring to https://github.com/OnionIoT/source.git instead. Also, that branch appeared there less than two days ago, but this thread is quite a few days older than that already, so that's part of the "fuss." But sure, using your compiled image, try reboot... it won't work. Try the reset-button... it won't work.
-
Hm. The reboot-fix seems to have exposed another bug: the Omega2 now reboots fine, but doesn't shut down anymore! I don't know which one is better: to be able to reboot, or to be able to shutdown
-
With a device such as the Omega2...
Is the halt/shutdown command "really" useful?
Nice ..tend to agree...
But reboot seems to be used in practice much more often.
-
@Larry-Pinney That's kind of what I'm leaning towards. If you were to build some sort of a remote-sensor or whatever out of the Omega2, you'd probably want to be able to push an updated firmware, in case you have a bug somewhere, and be able to reboot to the new firmware without having to go and pull the plug to get it to reboot. But eh, I don't know.