General Improvements for Sculpt

Josef Söntgen josef.soentgen at
Mon Feb 22 11:39:05 CET 2021

Hello Edoardo,

> I don't know if  "Chocolate Doom" is the homonymous video game, but
> unfortunately I wasn't able to play it cause an infinite "I_init:
> setting up machine state", the audio driver was the bsd_audio_drv
> while the wm was the themed_wm (internet connection under nic_router),
> do you know if I am doing anything wrong? I am not big fans of video
> games, but I would like to try it!

This is a known problem - some archives referenced by my index no
longer work on vanilla Sculpt-20.08. Since I do not plan to update the
archives I removed my index file to prevent others from stumpling upon
this issue.

> Josef, I started yesterday studying how Genode handles wifi connections,
> it is almost identical to Linux, for the software stack (mac80211 and
> cfg80211) but I haven't understood why in ( the text file
> you linked to me ), in Fw_list struct some firmware images have NULL
> as available name while others have their correspondent name? Are
> still unimplemented some models ?

For some devices the driver will ask for a different firmware version
than is available because the the driver supports a range of different
versions. However, not all supported firmware versions are publicly
available (or were not at the time support for a device was added to
the wifi_drv). In this case we supply the firmware version we have at
hand. If you follow the implementation of 'request_firmware_nowait()'
the intention becomes clear.

> I would like to start writing a software stack for BLE, any hints?
> Bluez could be a good starting point but honestly, I have no idea of
> how to port it on A non Unix system.

I have no experience with BLE; the general approach would be to look at
how other OS' implement the stack - which parts are implemented by a
kernel driver and which parts are implemented as user-land component
and go from there.

One example would by our USB LTE modem stack where we ported the kernel
driver from Linux and created a driver component that presents the data
channel as a Uplink session and the management channel as a Terminal
session. The 'mbimcli' port uses the Terminal session via the libc and
VFS to perform the necessary configuration of the modem while the Uplink
is used to transfer the data. So in this case you have two components,
a driver and a configuration component.


Josef Söntgen
Genode Labs ·
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <>

More information about the users mailing list