power_controller: read gpio pins from device tree

power_controller: read gpio pins from device tree

This commit is part of the effort to move configuration of hardware more
closely to the linux platform
  • [DH] src/app/bmc_application.rs
  • [DH] src/authentication/authentication_errors.rs
  • [DH] src/hal/gpio_definitions.rs
  • [DH] src/hal/helpers.rs
  • [DH] src/hal/power_controller.rs
  • [DH] src/serial_service.rs

power_controller: leds: support latest dts changes

power_controller: leds: support latest dts changes

A fallback is implemented to support both old and new definitions of the
status and power sysfs paths
  • [DH] src/api/legacy.rs
  • [DH] src/app/bmc_application.rs
  • [DH] src/app/event_application.rs
  • [DH] src/hal/power_controller.rs

pin_controller: load gpio pins by label

pin_controller: load gpio pins by label
  • [DH] src/hal/gpio_definitions.rs
  • [DH] src/hal/pin_controller.rs

Implemented v2.5 changes

Implemented v2.5 changes

Changes to the `PinController` and `PowerController`.

* The `bmcd` remains fully compatible with v2.4 and v2.5 hardware.
* The additional Node1 USB source switching for v2.5 is
not yet implemented. The switches are currently configured so that: USB0 is routed to the
usb hub and usb2 is routed to the USB-A port.
* The actual location of gpio pins inside gpiod is still tentative at
  this point for TPv2.5.
  • [DH] src/api/legacy.rs
  • [DH] src/app/bmc_application.rs
  • [DH] src/hal.rs
  • [DH] src/hal/gpio_definitions.rs
  • [DH] src/hal/pin_controller.rs
  • [DH] src/hal/power_controller.rs

update dependencies

update dependencies
  • [DH] Cargo.lock
  • [DH] Cargo.toml

remove peekpoke dependency

remove peekpoke dependency

peekpoke requires a clang toolchain in order to build.
Use a simple write to /dev/mem instead. which doesnt require any
additional packages.
  • [DH] Cargo.lock
  • [DH] Cargo.toml
  • [DH] src/app/bmc_application.rs
  • [DH] src/hal/power_controller.rs

authentication: fix loopback detection

authentication: fix loopback detection

When an request is coming from a loopback interface, authentication is
not required. This commit fixes ipv4 addresses mapped inside ipv6
addresses, by first converting to a canonical address. There addresses
were otherwise falsely tested as a non loopback addresses.
  • [DH] Cargo.toml
  • [DH] src/authentication/authentication_service.rs

add hostname to about

add hostname to about

related to https://github.com/turing-machines/BMC-Firmware/issues/188
  • [DH] src/api/legacy.rs

persistency fix

persistency fix

fixes https://github.com/turing-machines/BMC-Firmware/issues/191
  • [DH] src/persistency/app_persistency.rs

enable gpiod v2

enable gpiod v2

Now that we updated to kernel 6.6, we can disable v1 compatibility
mode.

fixes https://github.com/turing-machines/BMC-Firmware/issues/56
  • [DH] Cargo.toml

migrate to tracing fwk

migrate to tracing fwk

Use the tracing framework for logging purposes. It will enable us to do
better logging and tracing going forward. SimpleLogger is therefore removed.

This commit also adds hourly log-rotation to '/var/log/bmcd'
  • [DH] Cargo.lock
  • [DH] Cargo.toml
  • [DH] src/app/bmc_application.rs
  • [DH] src/app/upgrade_worker.rs
  • [DH] src/authentication/authentication_context.rs
  • [DH] src/authentication/authentication_service.rs
  • [DH] src/authentication/ban_patrol.rs
  • [DH] src/authentication/linux_authenticator.rs
  • [DH] src/authentication/passwd_validator.rs
  • [DH] src/hal/pin_controller.rs
  • [DH] src/hal/power_controller.rs
  • [DH] src/hal/stub/pin_controller.rs
  • [DH] src/hal/stub/power_controller.rs
  • [DH] src/main.rs
  • [DH] src/persistency/app_persistency.rs
  • [DH] src/persistency/binary_persistency.rs
  • [DH] src/serial_service/serial_handler.rs
  • [DH] src/serial_service/serial_websocket.rs
  • [DH] src/streaming_data_service.rs
  • [DH] src/streaming_data_service/data_transfer.rs
  • [DH] src/usb_boot.rs
  • [DH] src/usb_boot/rockusb.rs
  • [DH] src/usb_boot/rpiboot.rs
  • [DH] src/utils.rs
  • [DH] src/utils/event_listener.rs

Allow binding to a specific address.

Allow binding to a specific address.
  • [DH] default_config.yaml
  • [DH] src/main.rs

Use the IPv6-friendly default hostname.

Use the IPv6-friendly default hostname.
  • [DH] default_config.yaml

pete pushed to master in pete/cpi-ports

@pete pete pushed to master in pete/cpi-ports · September 20, 2024 22:51
1 commit to master
  • @pete a97cc6a
    Update drawterm; hopefully this version doesn't crash.

Update drawterm; hopefully this version doesn't crash.

Update drawterm; hopefully this version doesn't crash.

It had been crashing somewhere in exportfs/exportsrv and I'd
got as far as doing this:

--- a/exportfs/exportsrv.c
+++ b/exportfs/exportsrv.c
@@ -481,6 +481,8 @@ DEBUG(DFD, "blockingslave %d rendez got %p\n", pid, m);
                p = rendezvous((void*)(uintptr)pid, (void*)(uintptr)pid);
                if((uintptr)p == ~(uintptr)0)                   /* Interrupted */
                        continue;
+               if(p == NULL) /* I don't know why this would happen. */
+                       continue;

                DEBUG(DFD, "\tslave: %d %F b %d p %d\n", pid, &p->work, p->busy, p->pid);
                if(p->flushtag != NOTAG)

But that just *froze* it instead of crashing.  So, evidently off.

cinap's apparently rejiggered the doodad and all of that has changed.
So maybe p is never null and it doesn't get locked any more.
  • [DH] drawterm/Pkgfile

pete commented on commit pete/cats@9f7fad8df4

@pete pete commented on commit pete/cats@9f7fad8df4 · September 20, 2024 19:21

"Source source" wasn't a typo, it was a joke: the origin of the source is the source of the source, the source source.


pete commented on commit majacQ/cats@9f7fad8df4

@pete pete commented on commit majacQ/cats@9f7fad8df4 · September 20, 2024 19:45

"Source source" is not a typo, it's a joke: the origin of the source is the source of the source, or the source source. ( https://en.wikipedia.org/…


pete starred espressif/esp-idf

@pete pete starred espressif/esp-idf · September 19, 2024 05:17

Espressif IoT Development Framework. Official development framework for Espressif SoCs.

C 13.4k Updated Sep 19


pete pushed to master in pete/cpi-ports

@pete pete pushed to master in pete/cpi-ports · August 30, 2024 11:56
1 commit to master
  • @pete 7538d2a
    Right, synergy has been replaced with barrier. Partially sorry, Tim.

Right, synergy has been replaced with barrier. Partially sorry, Tim.

Right, synergy has been replaced with barrier.  Partially sorry, Tim.

...Partially.
  • [DH] synergy/.footprint
  • [DH] synergy/Pkgfile

Right, synergy has been replaced with barrier. Partially sorry, Tim.

Right, synergy has been replaced with barrier.  Partially sorry, Tim.

...Partially.
  • [DH] synergy/.footprint
  • [DH] synergy/Pkgfile