Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 12:42
    bulldozer-balena[bot] closed #60
  • 12:39
    bulldozer-balena[bot] closed #168
  • 12:37
    bulldozer-balena[bot] closed #57
  • 12:36
    balena-ci edited #440
  • 12:34
    thgreasi commented #60
  • 12:34
    thgreasi commented #168
  • 12:33
    thgreasi commented #57
  • 12:32
    thgreasi opened #168
  • 12:32
    thgreasi opened #60
  • 12:28
    thgreasi opened #57
  • 12:22
    Page- commented #1266
  • 12:22
    Page- opened #1266
  • 09:37
    bulldozer-balena[bot] closed #130
  • 09:34
    thgreasi synchronize #130
  • 08:58
    thgreasi edited #130
  • 07:34
    mcraa labeled #3817
  • 07:34
    mcraa labeled #3817
  • 07:34
    mcraa labeled #3817
  • 07:32
    mcraa labeled #3734
  • 07:32
    mcraa labeled #3734
Gutemberg Ribeiro
@galvesribeiro
btw, @imrehg / @shaunmulligan can we contribute base images to the repo? I’m seeing a PR for .Net Core images but it is almost an year stalled there...
Balena team
@balenaio
[Gergely Imreh (imrehg)] Sure thing! A lot has changed in a year, though, I think it was maybe @richbayliss who was doing .Net? (Sorry if my memory's wrong) The current balenalib base images (and our setup that propagates changes across architectures) is likely a bunch better state to build upon. Cc @nghiant2710 , our base images guru.
Gutemberg Ribeiro
@galvesribeiro
ahh cool! I’ll build it first locally and make sure everything works, then I’ll fork and push a PR later on for review
we’re heavly based on .Net Core here… and one of the reasons in favor of balena is the fact that we can keep using it for our local-microservices. The UI is built on top of Google Flutter and since it is a per-device port of the engine, maybe it will requires more magic to make it generic so others can re-use it so will do the .Net Core and later think more on how it could work for flutter
Balena team
@balenaio
[Rich Bayliss (richbayliss)] I did start to look at it @imrehg but then MS made their own docker images for ARM. If we have some interest in this then maybe we should see about making some official balenalib based ones
Gutemberg Ribeiro
@galvesribeiro
@richbayliss yes, they recently (.net core 2.x+) released their own images
what I’ll do, is to look what they do on their dockerfiles and instead of use their OSes base image, use balena ones
Balena team
@balenaio
[Rich Bayliss (richbayliss)] Nice. I was a Dotnet guy before joining balena, and was really impressed with the Dotnet Core frameworks.
Gutemberg Ribeiro
@galvesribeiro
then it would be something like: balenaOS -> .Net Core ${targetOs}
where targetOS can be alpine, Ubuntu, fedore, etc… Anything that is both supported by MSFT and also on baselib
yeah, .Net rulz :P
Gutemberg Ribeiro
@galvesribeiro
funny
it looks like alpine images only exist for specific frameworks
no OS-only image exist :/
nvm
found the error
Gutemberg Ribeiro
@galvesribeiro
image.png
Hello .Net Core from a container in Balena :)
Gutemberg Ribeiro
@galvesribeiro
@imrehg for whatever reason the image you sent me yesterday looks like isn’t allowing hardware access
I’ve add privileged: true to the service and it isn’t able to open the framebuffer
Balena team
@balenaio
[Gergely Imreh (imrehg)] @galvesribiero that doesn't depend on the image, all happens in the application level. Do you have e.g. a simple application code that we can try out as well? (So we can work on the same level of understanding) What does it mean not allowed to open that fb? And when connected to the host OS do you see that framebuffer device listed? Cc @pcgeek86
Gutemberg Ribeiro
@galvesribeiro
@imrehg I made one progress yesterday before sleep
the problem is that for whatever reason, ioctl calls are failing
which I use to figureout some of the display capabilities
so I’ve hardcoded the /dev/fb0
and it don’t crash anymore. Hoever, it doesn’t draw anything to the screen
I’m checking on that now
Gutemberg Ribeiro
@galvesribeiro

ok, now changing the compose file to include:

     devices:
      - "/dev/fb0:/dev/fb0"
    cap_add: 
      - SYS_RAWIO

And on the Dockerfile:

ENV UDEV=1
it works
but for whatever reason the app screen is showing that tons of messages :/
Gutemberg Ribeiro
@galvesribeiro
okey
I was able to build the kernel module for my touch display and load it
[Logs]    [4/7/2019, 9:06:06 AM] [main] OS Version is 2.31.5+rev1
[Logs]    [4/7/2019, 9:06:06 AM] [main] Loading Elo Touch Kernel Module: elo_mt_input_mod_2.31.5+rev1.ko
[Logs]    [4/7/2019, 9:06:09 AM] [main] elo_mt_input_mod       16384  0
@imrehg however, I had to hack the build scripts from the sample u gave me… it isn’t able to find the kernel module headers for that 2.31.5+rev1 yet so I’ve change it to get the 2.26.0+rev1 ones and then renamed the module to use the .31 one and it loaded… I guess it is because the version you gave me isn’t pushed to production yet so we don’t have the headers
now need to figure out how to get files from the build container in balena :)
Balena team
@balenaio
[Gergely Imreh (imrehg)] @galvesribiero yeah, those files are uploaded when the version is released, which hasn't happened yet. Should have been clearer.
Not sure what you mean by getting the Iles from the build container in balena. Are those the kernel modules? If so it is just a modprobe inside the container, isn't it?
We'll be able to help more during the week though, when the release is done and the team is around.
What hardware you use for your screen? What driver is needed? The touch support? If so, where is the source you use for that module?
Gutemberg Ribeiro
@galvesribeiro

Not sure what you mean by getting the Iles from the build container in balena.

I meant files :) Already got it thanks to transfer.sh :P

Are those the kernel modules? If so it is just a modprobe inside the container, isn't it?

The touch display has its own kernel module and a daemon that is started. Without that running, the kernel report wrong events to evdev

that is the touch display
let me get the driver source
the daemon is already built (proprietary code from Elo) for armv7lhf but they provide the driver source there so we can build for different kernels
there is a readme.txt on the root that explain what they want in order to build it
Balena team
@balenaio
[Trevor Sullivan (pcgeek86)] Is there a thread with context? @imrehg
me-sosa
@me-sosa

@resinio I faced a strange error on one device running supervisor 9.11.3.
Deployment was successful to the app and only the device running the most recent version of the supervisor did not download the latest release. I tried issuing a restart of the app running in that device and a red banner popped up with the message
"Request error: There was an error validating configuration input for key: persistentLogging, with value:" and the device does not respond at all.
I also tried enabling "persistent logging" and the config.json inside the supervisor is also not being affected .
I Then also checked supervisor logs and got

Supervisor API: GET /v1/healthy 200 - 10.530 ms
[2019-04-08T08:25:15.438Z] Event: Restart container (v1) {"appId":6666666}
Supervisor API: POST /v1/restart 503 - 101.114 ms
[2019-04-08T08:26:46.023Z] Applying target state
[2019-04-08T08:26:46.148Z] Scheduling another update attempt due to failure: 900000 { t: There was an error validating configuration input for key: persistentLogging, with value:
at t.checkValueDecode (/usr/src/app/dist/app.js:300:130397)
at /usr/src/app/dist/app.js:300:127019
message: 'There was an error validating configuration input for key: persistentLogging, with value: ',
name: 't' }

Any ideas?

Balena team
@balenaio
[Cameron Diver (CameronDiver)] @me-sosa the parsing of values for environment and configuration values has been tightened up recently. This specific error comes from the fact that you have an empty string as the value for `RESIN_SUPERVISOR_PERSISTENT_LOGGING` on the dashboard, or you have `"persistentLogging": ""` in your config.json. If you remove the offending entry, and restart the supervisor `systemctl restart resin-supervisor` you should be good to go
[Cameron Diver (CameronDiver)] this has also been changed in later versions of the supervisor, which will fall back to the default value when an environment variable fails parsing
me-sosa
@me-sosa
ok, done. Now that device is being updated. Thanks.
me-sosa
@me-sosa
Are you planning a new release? Do you have an ETA and github link to follow?
I am asking this since there are also more devices in prod with the same config.