In my opinion, it is spidev (package name, kmod-spidev), as it is the working module on OpenWrt 22.03 build for Omega2.
I could see hardware SPI driver is present under /dev/spi* after installing it.
Havent tested it yet by myself, though.
@nsmith The patch files are available in the links I provided, just replace them in your system. The patch files are in the same directory as the make file, under a patches directory:
The patch files refer to the version so it's surprising the build is trying to apply them to the wrong version.
This might help, https://github.com/dumtux/agpio-switch-mt7688
I wrote this for enabling all 5 ethernet ports for Ethernet switch.
But I think you can modify this for disabling all of them to use digital I/O, by modifying AGPIO_CFG.
@bilaljavaid01 the only place you are short on space is the ROM, Read Only Memory AKA you cannot write to it. So you actually have a lot of space available, but the installation is not using that space.
Step 1 look at python lite which is designed for low-resource devices, ie IoT devices like Omega2. Step 2, look at where the package is being installed and set up a symlink so that directory is linked to your sda2 device. For example, one of my apps used SQLite for a database which gets pretty large, so I create a symlink to /etc/<my app name>/data that points to /dev/mmcblk0p1 which is a 64GB SD card.
@luz my testing on OpenWrt 21 some time ago gave similar results, 90ish Mb/s depending on what services are running on the Omega2 at the time. My comments were an attempt to encourage the author to undertake a recognised testing methodology and report the results
@tonySP Since no one has chimed in on this, I'll share what I know.
I have a Huawei E8372 USB Dongle, branded Telstra here in Oz. The device supports 4G LTE and I have been able to use it on a VPN. I think it is discontinued by Huawei but Telstra still sells it here in Oz. There is an article on one of the OpenWrt forums that describes how to setup RNDIS using this device.
Not exactly what you asked but perhaps helpful.
@tom-muscleverse There are a lot of really knowledgeable folks in the Onion community, we've all struggled to kick off our projects so don't be afraid to ask questions. Of course it's great to have another Aussie on board
The Omega2 runs OpenWrt which is basically Linux minimised, so a lot of the concepts you want to understand about your Omega2 can be found googling Linux stuff. Now to each of your questions.
Questions 1 and 2 can be answered together. There are 2 main processes we use to deploy a customised version of the Omega2 firmware. 1) You can use the build system to roll your own version of the firmware; 2) Take an Omega2 and install/remove the required/undesired packages, add your scripts and configurations etc, once you have that device setup as you want to mass deploy, you clone that device to all of the new devices. Each of the two options have their pros and cons which will summarise here.
Option 1, roll your own firmware: New users without software development experience can find this a bit frustrating sorting out the various dependencies and error messages you need to resolve depending on the machine you are using to build this, the upside is that once you have this up and running you can configure the entire system and add scripts and files, then build a deployable firmware image, specific to your requirements. Importantly a factory reset will reset to your firmware build.
Onion provide a docker image to get you up and running with your build system quickly. Personally I prefer to install the build system myself. You use the build system on your PC, not on the Omega2 as IoT devices don't have enough capacity nor juice to build this stuff. Then you transfer your firmware to the Omega2 and run the firmware upgrade command: sysupgrade
Option 2: Set up a single Omega2 as you require, then clone it to multiple devices. Easier to do, but a factory reset will blow away your firmware and install the factory firmware. @Lazar-Demin wrote a great article on how to do this:
Also look at this thread for some good info:
Setting up a build system is documented here: https://docs.onion.io/omega2-docs/cross-compiling.html
I would suggest reading the whole document as it's very well written and provides a great understanding the Omega2 device.
With regard to question 3. Usernames are in /etc/passwd and their passwords are hashed and stored in /etc/shadow , just like *nix, google shadow password for a more detailed explanation of how and why *nix works this way. You use the command passwd to change your password, don't edit these files.
@bilaljavaid01 Localhost is a special case. Your Omega2 has a localhost, every one of your Omega2 has a local host. Each of these localhost points to themselves, so if from my machine I try to ping localhost, it will ping my machine, not your Omega2.
If you want any machine to be able to connect to your Omega2, you need to have your flask app listen on the externally accessible IP address, otherwise, no other machine will be able to access it.
Use the command ifconfig to find the externally accessible address you can see here, my IP for the apcli0 interface is 192.168.1.219:
apcli0 Link encap:Ethernet HWaddr 40:A3:6B:C3:22:61
inet addr:192.168.1.219 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::42a3:6bff:fec3:2261/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:1629 overruns:0 frame:0
So I would configure my server to listen on that address so other machines can connect to it. Your IP will be something different.