lte modem: missing antenna is not handled correctly
Sh-Anand opened this issue · 5 comments
When booted without an antenna, mbimcli
does not connect to network even if the antenna is attached during runtime.
mbimcli
instead errors:
Error: Device not registered after 101 tries
and then exits immediately.
Instead of exiting after a set number of tries mbimcli
should retry forever with a backoff strategy.
As @Sh-Anand is currently working on his master thesis, I have taken over this Issue from him.
When I did want to test his changes, using the mbimcli
run script I discovered, that this no longer works after the update to Genode 23.02. Therefore I created a separate commit that fixes this run script.
As I do not have the hardware for most of the platforms, I hope, this doesn't break anything. I was able to build it for all platforms up to where it tries to launch it. Except for RPI where I got the following error:
building targets: bootstrap/hw core/hw
spawn make bootstrap/hw core/hw
make[1]: Entering directory '/data/genode/build/arm_v7a'
checking library dependencies...
Library-description file bootstrap-hw-rpi.mk is missing
Library-description file core-hw-rpi.mk is missing
make[1]: Leaving directory '/data/genode/build/arm_v7a'
genode build completed
error copying "bin/core-hw-rpi.a": no such file or directory
while executing
"file copy -force $src $dst"
(procedure "copy_file" line 2)
invoked from within
"copy_file bin/core-hw-[board].a [run_dir]/genode/ "
(procedure "run_boot_dir" line 17)
invoked from within
"run_boot_dir $binaries"
(procedure "build_boot_image" line 35)
invoked from within
"build_boot_image $boot_modules"
(file "/data/genode/repos/world/run/mbimcli.run" line 215)
invoked from within
"source $include_name"
("foreach" body line 6)
invoked from within
"foreach include_name [get_cmd_arg --include ""] {
# first check if the include name is absolute
if {[string first "/" $include_name] == 0} {
puts ..."
(file "/data/genode/tool/run/run" line 1169)
make: *** [Makefile:431: run/mbimcli] Error 1
make: Leaving directory '/data/genode/build/arm_v7a'
This could be due to my personal setup, as I normally do not build for any arm_v7a
platform.
When doing further tests, we discovered, that after a signal loss (simulated by removing the antenna) the connection isn't re established. I created a separate commit that fixes this.
Except for RPI where I got the following error:
building targets: bootstrap/hw core/hw spawn make bootstrap/hw core/hw make[1]: Entering directory '/data/genode/build/arm_v7a' checking library dependencies... Library-description file bootstrap-hw-rpi.mk is missing Library-description file core-hw-rpi.mk is missing
[...]
This could be due to my personal setup, as I normally do not build for any
arm_v7a
platform.
The script fails as rpi is an arm_v6 platform. Mind the missing library mk files, which can be found in the /lib/mk/spec/arm_v6/bootstrap-hw-rpi.mk subdirectory that is not visible in an arm_v7a build.
@chelmuth when I try to build base-hw
for rpi (arm_v6
) with the following branches
- genode: 23.02 (57fcc7a25f)
- genode-rpi: master (fe52ae28c3)
I get, beside others, the following error:
/data/genode/depot/genodelabs/src/base-hw-rpi/2023-04-17T1042/src/core/spec/arm/bcm2835_pic.cc:18:17: error: ‘Core’ is not a namespace-name
18 | using namespace Core;
| ^~~~
If I remember correctly the namespace Core
was introduced in 23.02. Is there a known good combination of genode/genode-imx repositories, that I can use to build? Or are you fine if I do not investigate further?
I guess something got tangled up here.
- genode-rpi and genode-imx cannot be used in combination, most basically because rpi is arm_v6 and imx is arm_v8a.
- The
Core
namespace was introduced after release 23.02. - The available sync points between all genode repositories are the release tags.
So, please checkout tag 23.02
in both - genode and genode-rpi.