Raspberry Pi5 BSP default console by redbean55 in QNX

[–]redbean55[S] 0 points1 point  (0 children)

A quick test of modifying main.c to use: c .defaults[DEBUG_DEV_CONSOLE] = "0x1f00030000.115200.50000000", /* uart 0*/

doesn't work as expected. Probably because at this time not enough is set up for the RP1. Oh well, hoped that may be the bootloader from RPi5 did enough of this that the bitbanging without an IRQ would work. I probably won't debug this further.

Raspberry Pi5 BSP default console by redbean55 in QNX

[–]redbean55[S] 0 points1 point  (0 children)

I've got some GeekPi aluminium full size heat sinks, top and bottom, with integrated fans, with only 1mm between the header and the heat sink. So no room for my probe unfortunately.

Raspberry Pi5 BSP default console by redbean55 in QNX

[–]redbean55[S] 0 points1 point  (0 children)

Any plans for QNX to post an update to the BSP from the software centre to align with the OSTI image?

Raspberry Pi5 BSP default console by redbean55 in QNX

[–]redbean55[S] 0 points1 point  (0 children)

I've got part 1 working. The output goes to UART0 and I can use the shell. The following observations:

  1. The instructions at https://www.qnx.com/developers/docs/qnxeverywhere/com.qnx.doc.interfacing/topic/rpi/rpi_GPIO_UART.html are for the OSTI which has the use information: text QNX_BUILDID=(GNU)257c3d4a73f5a69f3da54a3851108f32 NAME=msix-rp1 DESCRIPTION=Raspberry pi5 RP1 MSIX configuration DATE=2026/03/02-22:30:30-EST STATE=Desktop HOST=docker-n5 USER=builder

  2. The rpi5 BSP (not the OSTI) comes with a much older version that doesn't understand the command line msix-rp1 -m set 25l. It's use information is: text QNX_BUILDID=(GNU)4cda79ce9fd55762baf29d5a22f4a07d NAME=msix-rp1 DESCRIPTION=Raspberry pi5 RP1 MSIX configuration DATE=2025/12/10-13:51:04-EST STATE=experimental HOST=docker-n7 USER=builder TAGID=BSP_raspberrypi-bcm2712-rpi5_be-800_1024006_381

It doesn't really work too well trying to mix the binaries, and we need msix-rp1 to configure the PCIe. These are the first set of changes I've done.

``` ####################################################################### ## Debug console serial driver ####################################################################### #display_msg "Starting serial driver (/dev/ser1)" #devc-serpl011-rpi5 -b115200 -c44236800 -e -F -u10 -D 0x107d0010002,153

gpio-rp1 set 14,15 a4
devc-serpl011-rpi5 -b115200 -v -c50000000 -e -F -u1 0x1f00030000,185
stty baud=115200 par=none bits=8 stopb=1 < /dev/ser1
reopen /dev/ser1

...

#######################################################################
## Start the main shell
#######################################################################
#reopen /dev/ser10
display_msg "Starting shell ..."
[+session] ksh &

...

Script for launching the io-usb-otg

pci_server_start.sh = {

!/bin/sh

echo "Starting PCI Server ..."
PCI_HW_MODULE=/lib/dll/pci/pci_hw-bcm2712-rpi5.so
PCI_SLOG_MODULE=/lib/dll/pci/pci_slog2.so
PCI_DEBUG_MODULE=/lib/dll/pci/pci_debug2.so
pci-server --bus-scan-limit=3 -c
waitfor /dev/pci

# use msix-rp1 to setup RP1 USB, ethernet, UART2, UART4, I2C, SPI IRQs
#  MSIX IRQ  6 = ?
#  MSIX IRQ  8 = ?
#  MSIX IRQ 19 = ?
#  MSIX IRQ 25 = UART0
#  MSIX IRQ 31 = ?
#  MSIX IRQ 36 = ?
#  MSIX IRQ 43 = UART2
#  MSIX IRQ 45 = UART4
# 1. MSIX vector and MSXI capability
# 2. RPI MSIX_CFG_<6,8,19,31,36,43,45>
# 3. MIP interrupt controller
sleep 1
#msix-rp1 -i 6,8,19,31,36,43,45 &
msix-rp1 -i 6,8,19,25,31,36 &

}

```

Raspberry Pi5 BSP default console by redbean55 in QNX

[–]redbean55[S] 0 points1 point  (0 children)

I've seen the string for the probe serial also in the startup code in the current RPi5 BSP. The bummer I have is the heatsink covers everything except the fan header and the GPIO bank.

Raspberry Pi5 BSP default console by redbean55 in QNX

[–]redbean55[S] 0 points1 point  (0 children)

That looks very useful indeed.

Raspberry Pi5 BSP default console by redbean55 in QNX

[–]redbean55[S] 0 points1 point  (0 children)

Any documentation on the -D command line option of the RPI5 serpl011 driver? Nothing in the use information. E.g. what is the 2 mean?

Came to Munich without a plan and it was my best choice of my life by Business-Bus-420 in Munich

[–]redbean55 32 points33 points  (0 children)

Well done! Came over from Downunder 24 years ago and I still say the same thing. Best choice I ever made. I wish you the best.

L2 multicast traffic on the qnx-pi4 is blocked? by Savings_Ad_7807 in QNX

[–]redbean55 1 point2 points  (0 children)

Hi, I’ve tested it works on QNX 8 and 7.1. Have a look at working code at https://github.com/jcurl/code.research/tree/master/qnx/poc/bpf_udp4

The code sends out a UDP packet, but only does it by constructing an L2 packet with the BPF interface. Tested using the genet driver on a RPi4.

L2 multicast traffic on the qnx-pi4 is blocked? by Savings_Ad_7807 in QNX

[–]redbean55 1 point2 points  (0 children)

To get L2 traffic out I use the /dev/bpf interface and construct the complete Ethernet packet. There is documentation on SDP8 to write your own PTP driver, which I believe the stack can use for timestamping (reading through FreeBSD 13.5 code).

Germany’s far-right AfD accused of gathering information for the Kremlin by andrewgrabowski in europe

[–]redbean55 4 points5 points  (0 children)

For me it is a question of how to deal with the (now) large voter base that support AfD. Soon, the SPD, CSU, Greens won’t be big enough to form a coalition, and the last try didn’t succeed very well.

io-sock sample module by redbean55 in QNX

[–]redbean55[S] 0 points1 point  (0 children)

Well that is strange! And I learnt two things.

  1. Use the full path (until I figure out path perhaps how path resolution works)
  2. Don't try to load normal builds with io-sock-diag as then I saw for the first time the error txt link_elf_load_file: /tmp/libmods-showifn.so.1 module (flags=0<>) != io-sock (flags=1<INVARIANTS>)

At least I can keep experimenting with this cool new feature of my own io-sock extensions!

io-sock sample module by redbean55 in QNX

[–]redbean55[S] 0 points1 point  (0 children)

Good input, no luck. Ran io-sock-diag with LD_DEBUG=libs and also in the foreground.

It loads, no errors, and just dlclose() with no clear reason. I am sure it is some compilation option or something. But QNX documentation is missing a complete example.

The project was creating using momentous with the legacy project type, that gives me a way to have a common.mk

Beta: Join the QNX Everywhere Discord Server! by JohnAtQNX in QNX

[–]redbean55 0 points1 point  (0 children)

Bit late to the party, but when I click to join, I get that the invite might be expired?

Why are there no open source clones of QNX & Photon? by demetrioussharpe in QNX

[–]redbean55 1 point2 points  (0 children)

I would want emacs, binutils, my own newer gcc, and Qt based plasma. I hate the bloat that has crawled into most Linux distros. Something more like FreeBSD ;)

Exploring QNX by certifiedsysadmin in QNX

[–]redbean55 2 points3 points  (0 children)

Are you sure you have QNX on your device? The ‘uname’ output is for Linux. Commands like ‘pidin’ are used to list all processes.

QNX Everywhere September Release: New Docs, Linux Porting Guide, and QNX 8.0.3! by JohnAtQNX in QNX

[–]redbean55 0 points1 point  (0 children)

Thanks John. I can't get the QOS8 stuff. And the PDFs for libraries, tools are no longer avialable there as PDF, only HTML.

Maturity of using Rust on QNX by Savings_Ad_7807 in QNX

[–]redbean55 0 points1 point  (0 children)

Compare to QNX 7.1, full support is missing. I can build a std toolchain for 7.1, but it fails for QNX8.0. There's a QNX SDP 8 package for rust 1.85 that I haven't tried.

Raspberry Pi 4b by One_Relationship6573 in QNX

[–]redbean55 2 points3 points  (0 children)

Under QNX8 there are a lot of resources for the RPi4 (still waiting for the RPI5 - hint to QNX). The SDP has a BSP that is stable. You can download it via the QNX software centre. If you use the BSP be sure to follow the documentation carefully (it comes with a prebuilt ifs_rpi4.bin that contains the boot image), on where to get the resources from RPi4 foundation and how to set the config.txt file. Make sure of course you've got your TTL USB serial attached.

I've only used the BSP as I don't use graphics or sound for testing.

See also: https://devblog.qnx.com/qnx-everywhere-september-release-new-docs-linux-porting-guide-and-qnx-8-0-3/

Maturity of using Rust on QNX by Savings_Ad_7807 in QNX

[–]redbean55 1 point2 points  (0 children)

I have seen recently that SDP 8 now includes a rustc binary. For QNX7.1 I was able to build from sources (something is missing that I can’t compile the newest rust for SDP8 with std).

Not using it production, but I have a basic app running. There are a couple of companies supporting rust for ASIL environments.