{5} Accepted, Active Tickets by Owner (Full Description) (33 matches)

List tickets accepted, group by ticket owner. This report demonstrates the use of full-row display.

Christian Mauderer (2 matches)

Ticket Summary Component Milestone Type Created
Description
#3222 libbsd: WiFi Support needs rc.conf integration network/libbsd Indefinite enhancement 11/09/17

Currently WLAN is still only poorly integrated into libbsd. A number of manual commands are necessary to create a WLAN device.

FreeBSD supports rc.conf lines like the following one for setting up a WLAN device (see rc.conf(5) section ''network_interfaces''):

wlans_rtwn0="wlan0"
ifconfig_wlan0="DHCP"

The rtems-libbsd should support this notation too.

Problematic in this context is that all currently supported WLAN devices are USB devices. These devices need some time to enumerate or can even be hot plugged. Therefore they might not be available during the first parsing of rc.conf.

We need a method to handle such hot plugged events. For that it will be necessary to keep relevant information from the rc.conf available.

Possible Approach The way freebsd handles hot-plug events in general or network device events in special should be analyzed. If possible, a similar method should be implemented in rtems-libbsd.

Necessary Hardware Some board which is supported in rtems-libbsd and has a (supported) USB host connection and a (supported) USB-WiFi?? interface is necessary. A known working board is the Beagle Bone Black with a RTL8188 USB dongle. Some kind of hardware debugger (Segger J-Link, Flyswatter 2, something supported by OpenOCD, ...) is strongly recommended.

Related projects #3223 will need some WiFi?? related rc.conf integration too and maybe depends on some of the functionality here (creating interfaces).

Skills C and low-level programming skills are needed.

This is a large (350-hour) project of hard difficulty.


#3223 libbsd: wpa_supplicant has to be started dynamically network/libbsd Indefinite enhancement 11/09/17

To connect to a WPA encrypted network using libbsd it is currently necessary to restart the wpa_supplicant for each new connection. A better solution for that should be found.

In FreeBSD, the wpa_supplicant will somehow automatically be started if the ifconfig_<interface> line or rc.conf contains a WPA (see rc.conf(5) section network_interfaces).

The rtems-libbsd should have a similar mechanism. One possibility would be to try to make the dhcpcd script hooks usable on RTEMS and start wpa_supplicant from a hook.

Possible Approaches The DHCP client used in the libbsd (dhcpcd) has a script hook support. That support has been removed in the RTEMS port because there is no script interpreter. One possibility would be to try to make the dhcpcd script hooks usable on RTEMS so that they can call C functions instead of the scripts. Such a hook could then start a wpa_supplicant from a hook. Another solution would be to take a detailed look at the FreeBSD implementation and create something similar.

Additional Problems Most likely it will be necessary to start more then one instance of wpa_supplicant (for example if two interfaces are connected). Currently that is not possible. The wpa_supplicant should be reviewed whether it can be started multiple times in parallel.

Necessary Hardware I would recommend some real hardware (like a Beagle Bone Black with a RTL8188 based USB WiFi?? dongle) and a hardware debugger (Segger J-Link, Flyswatter 2, something supported by OpenOCD, ...). Real hardware with WiFi?? is the most likely later use case. Theoretically WPA should be usable on wired interfaces. So it might be possible to develop this in a simulator too. The advantage of this is that there are no hardware costs and a simple debug integration. If you think about that solution, please discuss it with your (planned) mentor before starting.

Related projects #3222 will need some WiFi?? related rc.conf integration too. Maybe the hot-plug detection of that project could be of some use too.

Skills C programming and understanding of system configuration/administration.

This is a 350-hour project of hard difficulty.


Amar Takhar (12 matches)

Ticket Summary Component Milestone Type Created
Description
#3138 RTEMS server `service2` root disk is full admin Indefinite infra 09/15/17

The root disk of service2 is full. Some of the jail's data can be moved to the TrueNAS server.


#3606 Crontab Let's Encrypt certificates. admin Indefinite infra 11/13/18

Doing this manually over as many certificates we have is causing too many issues.

This needs to be crontabed for every 30 days safely.


#3617 Ticket attachments for foreign languages sometimes don't work. admin Indefinite infra 11/25/18

As per Chris, see:

https://devel.rtems.org/ticket/3616


#4784 Update servers to latest FreeBSD 13.1 admin Indefinite infra 01/19/23

This list of tasks is not exhaustive there are many other changes that need to happen during this transition. It's been close to 9 years since this hardware was setup there is going to be a lot that is missing here.

  • Switch jails from no longer maintained EZ-Jail to Bastille
  • Update all services to latest version from ports.
  • Modernise config files many services use older configurations such as Postfix or require older versions.
  • Will require rolling downtime of services during OSL business hours.
  • Ticket will be updated with changes as work is completed
  • Weekly certificate updates to avoid certificate expiration

#4785 Setup log rotation to prevent service disruptions admin Indefinite infra 01/19/23
  • rtems.org receives a lot of attacks which can generate several GB of logs per hour these need to be rotated off.

We have a system in place for offline storage services need to be gracefully restarted to avoid service disruption when logs are rotated.


#4786 Formalise backups admin Indefinite infra 01/19/23
  • Currently we use more than one system for backups formalise all of this under one system using restic.net

This does not mean we aren't backing up. We need a formal procedure and to use one method across all backups required.

While we can use the same tool to do the backups certain tasks require the additional use of external software or commands such as databases.


#4787 Update Trac admin Indefinite infra 01/19/23
  • Our Trac install is very old this needs updating
  • Many modules are no longer developed and will not work with latest Trac alternatives need to be found
  • Custom modules used for SPAM, ticket updating and emailing need to be updated for latest Trac

#4788 Update firewalls admin Indefinite infra 01/19/23
  • Update firewalls to latest FreeBSD 13.1
  • Firewalls are dual redundant and share state using pfysnc
  • May require several hours of downtime during OSL business hours.

This needs to be done while the OSL has workers in the case of a severe issue. If it's done outside of typical RTEMS activity there will be noone there to help.


#4789 Better Github mirroring admin Indefinite infra 01/19/23
  • Current setup is stable but annoying to update
  • Check for any opensource tools to handle this
  • Last setup 8 years ago using custom method.

Hopefully there is a tool that helps with this. I have not investigated this any further the last tool I saw years ago had already been abandoned and had unresolved issues.


#4839 Ensure TLS 1.3 is enabled for *.rtems.org admin Indefinite infra 02/06/23

Passing along a report from a user that their IT has blocked pages using TLS 1.2. This impacts at least the RSB downloading patches associated with RTEMS tickets.

Here is their curl verbose output in case it helps:

$ curl -vvvv https://devel.rtems.org/raw-attachment/ticket/4783/0001-checks.c-Ensure-argument-is-an-integer-v2.patch
*   Trying 140.211.10.146...
* TCP_NODELAY set
* Connected to devel.rtems.org (140.211.10.146) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS alert, bad record mac (532):
* error:140943FC:SSL routines:ssl3_read_bytes:sslv3 alert bad record mac
* Closing connection 0
curl: (35) error:140943FC:SSL routines:ssl3_read_bytes:sslv3 alert bad record mac

#4840 Single Sign On using GitLab instance admin Indefinite infra 02/07/23

If we migrate to a new system, it should support authentication with well-known services to reduce the hurdle for new users.

The GitLab that is suggested in #4790 supports for example


#2932 Account manager plugin sends email to all. unspecified Indefinite infra 03/15/17

For some reason either the plugin or trac is ignoring the notify settings. Previously the plugin ignored the CC-all setting now it doesn't. This means the verify emails are getting sent out to bugs.

This is a known issue for trac v1.2 see: ​https://trac-hacks.org/ticket/8796


Cedric Berger (1 match)

Ticket Summary Component Milestone Type Created
Description
#4923 FPU context init/switch not working well on more than 2 tasks on Cortex-Mx/ARMv7-M platform arch/arm 6.1 defect 07/07/23

While working on stm32h7 I've noted strange results from fpu calculations when several tasks are involved. I've minimized that to attach testcase. The testcase runs well on Xilinx/A9/Qemu and BeagleBone? White platforms (ARMv7-A), but fails by providing wrong output on ARMv7-M (STM32H757i-eval).

The core of the testcase is a comparison of power of two done on integer by shifting and by calling C pow function with using double. When there is discrepancy in comparison of those, error is signaled and counted. The output then prints number of test run/number of failures and this all for Init and 4 other tasks created. The first error in comparison is also signaled for every task where it happen by clear 'ERROR' message. The output from H7 looks like:

initializing...
main task infinite loop.
ERROR, computation failed in fpu_task_pow2
ERROR, computation failed in fpu_task_pow3
ERROR, computation failed in fpu_task_pow4
ERROR, computation failed in Init
INIT: 1000/1000, T1: 38985/0, T2: 39802/39802, T3: 39735/39735, T4: 39804/39804
INIT: 2000/1000, T1: 78030/0, T2: 79663/79663, T3: 79508/79508, T4: 79650/79650
INIT: 3000/1000, T1: 117100/0, T2: 119517/119517, T3: 119281/119281, T4: 119513/119513
INIT: 4000/2000, T1: 156138/0, T2: 159385/159385, T3: 159054/159054, T4: 159355/159355
INIT: 5000/2000, T1: 195198/0, T2: 199242/199242, T3: 198827/198827, T4: 199195/199195
INIT: 6000/2000, T1: 234238/0, T2: 239111/239111, T3: 238599/238599, T4: 239054/239054
INIT: 7000/2000, T1: 273278/0, T2: 278961/278961, T3: 278372/278372, T4: 278903/278903
INIT: 8000/2000, T1: 312315/0, T2: 318807/318807, T3: 318145/318145, T4: 318740/318740
INIT: 9000/2000, T1: 351353/0, T2: 358628/358628, T3: 357918/357918, T4: 358600/358600
INIT: 10000/2000, T1: 390393/0, T2: 398463/398463, T3: 397691/397691, T4: 398444/398444
INIT: 11000/2000, T1: 429431/0, T2: 438302/438302, T3: 437464/437464, T4: 438279/438279
INIT: 12000/2000, T1: 468470/0, T2: 478152/478152, T3: 477236/477236, T4: 478123/478123
INIT: 13000/2000, T1: 507506/0, T2: 518006/518006, T3: 517009/517009, T4: 517961/517961 
...

as you can see computation is always good (0 error) on T1 task while it is always bad on T2, T3, T4 tasks. Sometimes it is even bad on Init task.

Expected output from BeagleBone? looks:

initializing...
main task infinite loop.
INIT: 1000/0, T1: 8028/0, T2: 8042/0, T3: 8043/0, T4: 8043/0
INIT: 2000/0, T1: 16053/0, T2: 16084/0, T3: 16084/0, T4: 16085/0
INIT: 3000/0, T1: 24076/0, T2: 24125/0, T3: 24125/0, T4: 24126/0
INIT: 4000/0, T1: 32097/0, T2: 32163/0, T3: 32165/0, T4: 32167/0
INIT: 5000/0, T1: 40120/0, T2: 40204/0, T3: 40207/0, T4: 40208/0
...

The idea here is that task context initialization or switch is not working well on v7-M platform.


Chris Johns (7 matches)

Ticket Summary Component Milestone Type Created
Description
#2861 Collaspe boxes hover on docs.rtems.org should indicate clickable. doc Indefinite defect 01/14/17

Make the collapse boxes change colour when hovering to indicate the box can be clicked.


#3439 buffer overflow in rtems_rfs_bitmap_create_search() fs/rfs defect 05/30/18

I am encountering a buffer overrun in rtems_rfs_bitmap_create_search(). It seems that whenever the bitmap uses the last bit of its search_map (i.e. (control->size + 31) % 32 == 32)), the loop will write to the word one beyond the end of search_map.

Attached is a simple patch that fixes the problem.


#2612 R_ARM_GOT_BREL relocation type unsupported lib/dl enhancement 02/24/16

If a run-time loaded library contains global variables, its load fails because of an unsupported relocation type. The following is the dlerror message:

.text: Unsupported relocation type 26 in non-PLT relocations

After examining the library's object file, the relocation type for the symbol was determined to be R_ARM_GOT_BREL.

I will update the ticket with a small program that reproduces the error within a couple of days.


#3120 RTEMS - EtherCAT SOEM integration network/legacy Indefinite task 09/05/17

Aim of this ticket is to track the progress of the effort to integrate the EtherCAT Simple Open Source EtherCAT Master (SOEM) with RTEMS.

Issues to be tackled:

  • Generate the required config files to build the upstream source
  • Create the required patches in SOEM to support the RTEMS libraries

#2486 RSB: 4.10 invalid kernel URL tool/rsb 4.10.3 defect 12/08/15
config: tools/rtems-kernel-4.10.2.cfg
package: arm-rtems4.10-kernel-4.10.2-1
download: http://ftp.rtems.org/pub/rtems/4.10.2/rtems-4.10.2.tar.bz2 -> sources/rtems-4.10.2.tar.bz2

download: http://ftp.rtems.org/pub/rtems/4.10.2/rtems-4.10.2.tar.bz2: error: HTTP Error 404: Not Found
error: downloading http://ftp.rtems.org/pub/rtems/4.10.2/rtems-4.10.2.tar.bz2: all paths have failed, giving up
Build FAILED
  See error report: rsb-report-arm-rtems4.10-kernel-4.10.2-1.txt
error: downloading http://ftp.rtems.org/pub/rtems/4.10.2/rtems-4.10.2.tar.bz2: all paths have failed, giving up
Build Set: Time 0:09:29.097373
error: downloading http://ftp.rtems.org/pub/rtems/4.10.2/rtems-4.10.2.tar.bz2: all paths have failed, giving up
Build Set: Time 0:09:34.367852
Build FAILED

#2960 RSB: Reports modified Git version in case RSB is a Git submodule tool/rsb Indefinite defect 03/30/17

In case the RSB is used as a Git submodules the git status yields

git status
# HEAD detached at b64b38e
nothing to commit, working directory clean

leading to

RTEMS Source Builder - Set Builder, 4.12 (b64b38ef076c modified)

#3230 RSB does not report --rsb-file for patches correctly. tool/rsb 6.1 defect 11/12/17

The reports from the RSB do not report the --rsb-file option correctly.


Gedare Bloom (2 matches)

Ticket Summary Component Milestone Type Created
Description
#3939 sparc64: _CPU_ISR_Disable seems broken admin 7.1 defect 04/06/20

Both sparc64 BSPs (usiii, niagara) hang at the first call to _CPU_ISR_Disable in boot_card when run using qemu-system-sparc64.


#2004 sparc64: problem using softint and timer together bsps Indefinite defect 02/01/12

sparc64 hardware shares an interrupt level (14) between tick comparison and software-raised interrupts. current bsps do not handle the situation of both interrupt sources simultaneously, so software interrupts cannot be used when the timer also is used. What happens is the interrupt level (PIL) does not get set/reset properly and interrupts are missed.

The attached patch is a work-around that hacks the clock isr, but I need to look more closely at the generic ISR handling code to see if the bug is due to interactions between PIL assignment, interrupt enable/disable, and scheduling.


Hesham Almatary (5 matches)

Ticket Summary Component Milestone Type Created
Description
#3932 RISC-V Clang/LLVM support in the new RTEMS build system (waf) build Indefinite task 04/05/20

That's basically done [1], just need to submit those patches.

[1] https://github.com/CTSRD-CHERI/rtems/compare/967b62464bf39602f8b0f2baf57617ad74c3643d...8847fa44e68a0d7e0f9e96faf54c88928f8ac141


#3933 rtems_waf support to build with Clang/LLVM build Indefinite task 04/05/20

Patch submitted, but still needs review/corrections [1]

[1] https://lists.rtems.org/pipermail/devel/2020-March/058307.html


#3934 RISC-V libbsd support network/libbsd Indefinite task 04/05/20

I am currently working on RISC-V libbsd and will be submitting patches as soon as I can. Basic applications can build with GCC and internal networking apps (i.e., no ethernet) do seem to be passing. I have on-going Clang/LLVM WIP as well.

Hesham should looped in to get work in process.

Possible Mentors: Hesham, Chris Johns Skills: C Difficulty: Medium


#3930 RISC-V Clang/LLVM support rtems Indefinite task 04/05/20

This ticket is to monitor progress and RTEMS repos that need to be Clang/LLVM aware. RISC-V is the target backend I work with for RTEMS, and can be used a reference for other architectures.


#3931 Upstream support for RTEMS backend in Clang/LLVM unspecified task 04/05/20

Currently, Clang/LLVM don't have support for RTEMS as a backend. I have pending support that I am planning to submit to Clang/LLVM upstream [1].

[1] https://github.com/CTSRD-CHERI/llvm-project/commits?author=heshamelmatary


Sebastian Huber (3 matches)

Ticket Summary Component Milestone Type Created
Description
#3034 Convert all serial device drivers to use the new Termios device API bsps Indefinite enhancement 06/08/17

The new Termios device API is documented here:

https://docs.rtems.org/branches/master/bsp-howto/console.html

Legacy drivers can be found via the rtems_termios_open() function.


#3703 Technical Specification (TS) for space profile doc 7.1 task 02/26/19

A Technical Specification (TS) is required by ECSS-E-ST-40C and consists of

  • the Software Requirements Specification (SRS, ECSS‐E‐ST‐40C Annex D), and
  • the Software Interface Control Document (ICD, ECSS‐E‐ST‐40C Annex E).

There is currently no requirements document for RTEMS. Requirements must be reverse engineered from the documentation, the source code and the tests. The TS will be created for the space profile of RTEMS SMP. It should be easy to extend the TS so that more functionality can be covered once the ground work is done.

ECSS-E-ST-10-06C places requirements on requirements and the specification content.

We need a format for requirements. One idea is to define a custom XML data model for RTEMS requirements and use an XML document to store the requirements in the RTEMS kernel repository (requirements master document, RMD). The RMD can be used to generate human readable documents via Sphinx.

ECSS-E-ST-10-06C and ECSS-E-ST-40C mandate some of traceability information:

  1. ECSS-E-ST-10-06C, 8.2.3 Configuration management and traceability: The history of requirements shall be traceable. In the XML documents the history of requirements changes, removals, additions, etc. could be stored in a special section along with additional information, e.g. reason for change, date, approval status, etc. A Git pre-commit hook could check that changes in the requirements document follow a specified procedure, e.g. one commit may change at most one requirement and there must be a corresponding revision entry for this change.
  1. ECSS-E-ST-10-06C, 8.2.3 Configuration management and traceability: If a requirements is derived from other requirements, then this information must be visible (backward traceability).
  1. ECSS-E-ST-40C, 5.8.3.3 Verification of the software architectural design: Each software component shall provide a link to the requirements it implements (forward traceability). Software architectural design to requirements traceability matrices shall be provided.
  1. ECSS-E-ST-40C, 5.8.3.5 Verification of code: Source code shall be traceable to design and requirements. Software code traceability matrices shall be provided.
  1. ECSS-E-ST-40C, 5.8.3.6 Verification of software unit testing (plan and results): Unit test shall be traceable to software requirements. Software unit tests traceability matrices shall be provided.

The presentation in a human readable form of the traceability information should be done by tools using the RMD as input and the overall source code with requirement link annotations. This requires that we have a human and machine readable requirements identifier (also ECSS-E-ST-10-06C, 8.2.6 Identifiability).


#3701 RTEMS Pre-Qualification (ECSS) for SMP rtems 7.1 project 02/26/19

This ticket summarises activities carried out by a 24 month project sponsored by the European Space Agency (ESA). The project start was February 2019.

The main goal of the project is to enable European space missions to use RTEMS as a software product in criticality category C (this is basically category B without independent software verification and validation, ISVV). Criticality category C means according to ECSS-Q-ST-80C:

"Software that if not executed, or if not correctly executed, or whose anomalous behaviour can cause or contribute to a system failure resulting in: Major consequences"

In ECSS-Q-ST-40C major consequences are characterized in Table 6-1 as a major mission degradation without effects to the outside world of the system. A future activity may perform ISVV to enable a use in category B settings.

The qualification will be done according to ECSS standards (ECSS-E-ST-40C and ECSS-Q-ST-80C). The standards are available at

http://ecss.nl/

free of charge after registration.

The project consists of four major tasks.

  1. Qualification toolchain

    This task aims to produce a tool chain so that qualification related work can be carried out efficiently. For example: document generation, test suite runs (including code coverage), test reporting, test result archiving, code metrics, static code analysis, traceability (e.g. requirements to tests), etc.
  1. RTEMS SMP qualification data package

    This task covers the main RTEMS components (source code, tests, documentation; new: requirements document, ECSS standard tailoring) so that a data package for space mission consumers can be generated.

    • #3702: Space profile for RTEMS SMP
    • #3703: Technical Specification (TS) for space profile
      • #3715: Add Requirements Engineering chapter to RTEMS Software Engineering Handbook
      • #3726: Select a requirements engineering tool
    • #3705: Software Design Document (SDD) for space profile
      • #3704: Review and update Doxygen recommendations
      • #3706: Create a hierarchy of RTEMS software components using Doxygen groups
      • #3707: Assign each code file to a Doxygen group
      • #3708: Remove Doxygen comments from confdefs.h
    • #3716: Unit, integration and validation tests for space profile
      • #3717: Add test guidelines chapter to RTEMS Software Engineering Handbook
      • #3718: Add support for test plans
      • #3199: New test framework
  1. RTEMS SMP formal verification

    This is a research project. The aim is to apply formal methods for the verification of a subset of the RTEMS SMP algorithms.
  1. RTEMS SMP application porting

    The goal of this task is to port an existing uniprocessor space software from RTEMS 4.8 (RTEMS Improvement by Edisoft) to RTEMS SMP. The algorithms used by the software needs to be parallelized.

The project partners are:

  • Lero with Lero researchers from Trinity College Dublin and University of Limerick from Ireland

The results of this activity should be open source and available to the RTEMS community.


Jan Sommer (1 match)

Ticket Summary Component Milestone Type Created
Description
#4464 gpiolib: Add support for newer grgpio features arch/sparc Indefinite defect 07/01/21

Current version of gpiolib is not aware of the input enable register of the grgpio core, when presence is indicated through capability register.

Also currently only interrupt support for "irqgen == 0" is supported. Our interface card has the mode "irqgen == 1" according to the capabilities register.


Note: See TracReports for help on using and creating reports.