Commit Graph

21 Commits

Author SHA1 Message Date
Tobias Mueller
d4886a54a9 volatile-macs: define the service self-sufficiently
This makes it hopefully a bit easier to see what we're doing because you
don't need to chase the files down. We don't re-use that functionality
anywhere. Neither would we.
A more important change is not restarting the gl-tertf service.
First of all, there seems to be no process attached to gl-tertf. It is
the "Bandwidth Monitor" and part of the kmod-gl-sdk4-tertf package, so
it's kernel module. It does not appear to be holding the clients.db.
There is, however, gl_clients which also makes sense, naming wise.
That service defines that /usr/bin/gl_clients_update ought to be run.
And stracing it shows that it does indeed touch the database:
open("/etc/oui-tertf/client.db",
O_RDWR|O_CREAT|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC, 0644) = 7

It also appears to be re-creating the file when it's missing.

Anyway, we have the service stopped during installation so that we can
safely delete the file without the process complaining. We also install
our volatile mac service s.t. it runs ahead of the gl-client service so
that the clientdb gets saved in volatile memory.
2023-10-18 14:27:55 +02:00
Tobias Mueller
ed6856c490 switch: split the switch action into separate stages
When toggling the switch, a lock is held for a relatively long time,
preventing another toggling of the switch to be noticed. With this
change, I hope we can first shutdown the modem, wait for a toggle, and
then continue.
We're losing the abort function but I currently don't know how we would
be able to keep that functionality given that the toggle is queued and
we don't get the notification.
2023-10-17 15:15:28 +02:00
Tobias Mueller
b15a9390ec Install Python script as executable
This makes it a tiny bit easier to develop on the device because we can
execute the script directly rather than having to prefix it.
2023-10-16 16:25:23 +02:00
Tobias Mueller
119a287304 postinst: show a brief message
Somehow it disconnects me from the wifi, I guess it's related to
restarting the gl-tertf service. I wonder whether the installation
completes so I make a message appear.
2023-10-16 16:09:55 +02:00
Tobias Mueller
9bd78b4a1d postinst: Define button action after install
I've seen this in /etc/rc.button/switch
2023-10-16 15:16:51 +02:00
Tobias Mueller
4a4b5a4e0b dependencies: Depend on python3-serial only to avoid heavy python package
python3-serial depends on python3-light which is hopefully, well,
lighter.
2023-10-16 15:16:00 +02:00
Tobias Mueller
6137fc0ea7 remove bash and patch dependency
I couldn't find a file requiring bash. And we don't patch anything
during installation so I hope we can live without those dependencies.
2023-10-16 14:21:56 +02:00
Tobias Mueller
8327c706d6 EXTRA_DEPENDS with comma and space
So with the commas only, it installed without complaining. Which is
weird, because what does it recognise as dependency that it think is
fulfilled? The long name with all the commas?
2023-10-16 14:16:09 +02:00
Tobias Mueller
0e6af2eb77 install: make script in /etc/gl-switch.d/ executable
Then we should be able to have it executed when the button is switched.
2023-10-16 14:03:10 +02:00
Tobias Mueller
7531d2b691 encode dependencies with commas
The intention is to have the system recognise our dependencies and to
reject installation if the dependencies are not met. Better yet, have it
install the dependencies!
2023-10-16 13:57:26 +02:00
Tobias Mueller
e867547c4f preinst: remove MCU version check
The gl-sdk4-mcu looks sufficiently recent so we skip the MCU parts in
the preinst. This makes the code easier and less error-prone.
2023-10-16 13:37:49 +02:00
Tobias Mueller
04b1e6dfcb Depend on luci rather than GL
In v4 firmware neither gl-ui nor gl-e750-mcu exists.
2023-10-16 13:28:13 +02:00
Tobias Mueller
6e6a7fdca6 Merge branch 'main' of https://github.com/srlabs/blue-merle into luci 2023-10-16 12:49:22 +02:00
Tobias Mueller
9894f936e0 Prepare for a new version with v4 compatibility 2023-10-16 12:44:11 +02:00
Jakob Rieck
862ad1f7e3 Fixes Makefile (EXTRA_DEPENDS) 2023-10-16 09:12:23 +02:00
Jakob Rieck
ef35ca9899 Initial CI implementation
- Triggers on push events to any branch
- Builds the blue-merle package using the 23.05.0 SDK
- Currently does not sign the package
- Adapts Makefile: switches from Runtime + Buildtime dependencies
  to Runtime dependencies only
2023-10-14 11:27:31 +02:00
Tobias Mueller
928d4360ca depend on gl-ui and gl-e750-mcu because we modify those packages
We do need the MCU package and we modify the web UI so let's actually
depend on the relevant packages.
2023-08-28 10:41:13 +02:00
Tobias Mueller
d934a6c028 check for the actual version 3.215
I've made a typo in the previous attempt. Now I'm checking for the
correct version and it works much better.
2023-08-28 10:39:49 +02:00
Tobias Mueller
7aaf65e8bd support a clean uninstall of blue-merle
Before this change, uninstalling the package would complain about
/tmp/sim_change_start not existing:

root@GL-E750:/tmp# opkg remove blue-merle
Removing package blue-merle from root...
The /tmp/ directory exists.
The /etc/ directory exists.
killall: gltertf: no process killed
No file found within /tmp/tertf. No shredding to be done there.
No file found within /etc/tertf. No shredding to be done there.
Looks like /tmp/ is clean!
Looks like /etc/ is clean!
rm: can't remove '/tmp/sim_change_start': No such file or directory
rm: can't remove '/tmp/sim_change_switch': No such file or directory
No packages removed.
Collected errors:
 * pkg_run_script: package "blue-merle" postrm script returned status 1.
root@GL-E750:/tmp#

So we use -f to not raise an error if the file does not exist.
2023-08-28 09:55:41 +02:00
Tobias Mueller
0f2b358b31 Makefile: detect version 4 and bail out while soft-failing for version 3
We assume that the version 3 series is compatible, but still prompt the
user if they are using a version that we have not yet tested.

We know that version 4 is not compatible, so we bail out directly.

The double-dollar is for escaping the Makefile.
2023-08-28 09:33:28 +02:00
kantorkel
cb4d73731f Initial commit 2022-10-21 10:14:38 +02:00