schmonz.com is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.
This server runs the snac software and there is no automatic sign-up process.
At EuroBSDcon 2026:
Linux emulation on NetBSD: How broken is it? https://events.eurobsdcon.org/2026/talk/WXCFYU/
Talk by Stephen Borrill
2026-09-12 13:00:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Porting STUNMESH-go to FreeBSD and macOS: Building Peer-to-Peer WireGuard Networks https://events.eurobsdcon.org/2026/talk/WHGJBN/
Talk by Yu-Chiang (Date) Huang
2026-09-12 15:00:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Keeping up with language-based packaging systems in Ports (especially Python) https://events.eurobsdcon.org/2026/talk/VDQ3JL/
Talk by Charlie Li
2026-09-13 16:15:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Supporting hibernate (S4) on FreeBSD https://events.eurobsdcon.org/2026/talk/TXRZP7/
Talk by Olivier Certner
2026-09-13 11:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Reducing the headache of VPNs with routing domains https://events.eurobsdcon.org/2026/talk/TUT8LU/
Talk by Martin Vahlensieck
2026-09-12 14:00:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
BSD as a Foundational Platform for Nationwide Semiconductor Education in Japan https://events.eurobsdcon.org/2026/talk/TDELZJ/
Talk by Hiroki Sato
2026-09-12 16:00:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
A Noob Goes OpenBSD https://events.eurobsdcon.org/2026/talk/T3MDAC/
Talk by Kent Inge Fagerland Simonsen
2026-09-12 15:00:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
FreeBSD on ARM64: A User's Perspective https://events.eurobsdcon.org/2026/talk/SKHWVL/
Talk by Michael Dexter
2026-09-12 16:00:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Managing FreeBSD jails with Sylve and Ansible https://events.eurobsdcon.org/2026/talk/S3ULVJ/
Tutorial Half Day by Patrick M. Hausen
2026-09-11 10:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
An Introduction to the Filesystems and Networking in the FreeBSD Open-Source Operating System https://events.eurobsdcon.org/2026/talk/RNEMNV/
Tutorial Full Day by Kirk McKusick
2026-09-10 10:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Network Management with the PF Packet Filter Toolset on OpenBSD and FreeBSD https://events.eurobsdcon.org/2026/talk/RKCHRW/
Tutorial Full Day by Peter N. M. Hansteen, Massimiliano Stucchi and Tom Smyth
2026-09-11 10:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
The night before CRAmas - why EU regulations are a gift to open source https://events.eurobsdcon.org/2026/talk/RER8UZ/
Tutorial Full Day by Alice Sowerby, Peter N. M. Hansteen and Pierre Pronchery
2026-09-10 10:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Hotplugging adventures in the bhyve hypervisor https://events.eurobsdcon.org/2026/talk/QVRGB9/
Talk by Bojan Novković
2026-09-13 11:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
rcd(8): modern service manager the FreeBSD way https://events.eurobsdcon.org/2026/talk/QTAQKG/
Talk by bapt
2026-09-12 16:00:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Incident Response done the FreeBSD way https://events.eurobsdcon.org/2026/talk/PBHXXC/
Talk by Maciej Jan Broniarz
2026-09-12 14:00:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
GEFS: The File Shredder of the Future. https://events.eurobsdcon.org/2026/talk/NVMSCJ/
Talk by Ori Bernstein
2026-09-13 11:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Introduction to TUI Programming with bsddialog https://events.eurobsdcon.org/2026/talk/MGL8PR/
Tutorial Half Day by Benedict Reuschling
2026-09-11 14:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Unix Manpages, Then and Now https://events.eurobsdcon.org/2026/talk/MDEE9H/
Talk by Kristaps Dzonsons
2026-09-12 17:00:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Base system packages in Production: A Practical Overview https://events.eurobsdcon.org/2026/talk/MBEDBM/
Talk by Lukas Engelhardt
2026-09-12 15:00:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
OpenNTPD - 20 years and a few milliseconds later https://events.eurobsdcon.org/2026/talk/MAHMBQ/
Talk by Henning Brauer
2026-09-13 16:15:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
nuageinit(7): make FreeBSD cloud native https://events.eurobsdcon.org/2026/talk/LZUXZ8/
Talk by bapt
2026-09-12 17:00:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
How Fast Can We Patch? https://events.eurobsdcon.org/2026/talk/LSR7EX/
Talk by Dave Cottlehuber (dch)
2026-09-13 14:15:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
FreeBSD Ports Any% Speedrun 180min https://events.eurobsdcon.org/2026/talk/KHHBZE/
Tutorial Half Day by Mateusz Piotrowski
2026-09-11 14:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
The night 142 of my servers went up in the clouds. Physically. https://events.eurobsdcon.org/2026/talk/KAEQA8/
Talk by Stefano Marinelli
2026-09-12 11:15:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Looney Tunes: FreeBSD, rsync, and ZFS https://events.eurobsdcon.org/2026/talk/JURFDY/
Talk by Mateusz Piotrowski
2026-09-13 17:15:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
The current state of "Green AI" https://events.eurobsdcon.org/2026/talk/JP73CG/
Talk by Anne Currie
2026-09-13 09:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Introduction to the Game of Trees version control system https://events.eurobsdcon.org/2026/talk/JJLZXQ/
Tutorial Half Day by Stefan Sperling and Omar Polo
2026-09-10 10:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Running BSD workloads in Linux environments as OCI containers https://events.eurobsdcon.org/2026/talk/JHXWDC/
Talk by Charalampos Mainas
2026-09-12 17:00:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Confidential VMs on FreeBSD: A Complete AMD SEV Host Stack for bhyve, with Attestation https://events.eurobsdcon.org/2026/talk/HSMCFS/
Talk by Zhen-Rong Wu
2026-09-13 10:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
The Realities of Enterprise FreeBSD https://events.eurobsdcon.org/2026/talk/HRXAHF/
Talk by Allan Jude
2026-09-12 11:15:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Advances in OpenBSD's pkg_add https://events.eurobsdcon.org/2026/talk/HFYB3N/
Talk by Marc Espie
2026-09-13 14:15:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Getting Extended Error Messages from the FreeBSD Kernel https://events.eurobsdcon.org/2026/talk/HA8JTA/
Talk by Kirk McKusick
2026-09-13 16:15:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
I/O and theorems and barriers, oh my https://events.eurobsdcon.org/2026/talk/FQJSPU/
Talk by Taylor R Campbell
2026-09-12 14:00:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Low friction temporary VMs on FreeBSD https://events.eurobsdcon.org/2026/talk/FMAKRV/
Talk by Martin Vahlensieck
2026-09-13 17:15:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
An Introduction to the Kernel Services and I/O System of the FreeBSD Open-Source Operating System https://events.eurobsdcon.org/2026/talk/EYQSJR/
Tutorial Full Day by Kirk McKusick
2026-09-11 10:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
ELKE - Encrypted & Lovely Kage Environment, using FreeBSD https://events.eurobsdcon.org/2026/talk/EXHKSR/
Talk by Vinícius Z.
2026-09-13 15:15:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
make buildworld && make install-future: Why FreeBSD's Adoption Story Runs Through Continuous Integration https://events.eurobsdcon.org/2026/talk/EA98CK/
Talk by Moin Rahman
2026-09-13 10:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Highly Available DNS via BGP
Talk by Beni Keller
2026-09-12 10:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
PFWall: building firewall images to run at scale https://events.eurobsdcon.org/2026/talk/DZ9GE3/
Talk by Pierre Emeriaud
2026-09-13 17:15:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Run Time Reoptimization for Modern Heterogenous Systems https://events.eurobsdcon.org/2026/talk/CPAE7W/
Talk by George Neville-Neil
2026-09-12 13:00:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
FreeBSD in Bioinformatics: The Good, The Bad and The Ugly https://events.eurobsdcon.org/2026/talk/CEZMMY/
Talk by Varinka Ohanyan
2026-09-13 15:15:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Bringing memory safety to BSD with CHERI https://events.eurobsdcon.org/2026/talk/AU3F7S/
Talk by Brooks Davis
2026-09-13 14:15:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
What has (can) the EU Cyber Resilience Act done (do) for you? https://events.eurobsdcon.org/2026/talk/9NVQAD/
Talk by Peter N. M. Hansteen
2026-09-12 10:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Hands On experience Chaos Education: Challenge your FreeBSD sysadmin skills by solving real world scenarios https://events.eurobsdcon.org/2026/talk/7KWLK9/
Tutorial Half Day by Andreas Kirchner 2026-09-11 10:30:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
At EuroBSDcon 2026:
Running stock FreeBSD on Windows Subsystem for Linux 2 https://events.eurobsdcon.org/2026/talk/39G3BV/
Talk by Balaje Sankar 2026-09-12 11:15:00
To register: https://tickets.eurobsdcon.org/eurobsdcon/brussels/
About EuroBSDcon 2026: https://2026.eurobsdcon.org
@eurobsdcon #eurobsdcon #freebsd #netbsd #openbsd #conference #brussels #bruxelles #freesoftware #libresoftware
Whilst researching this, I had a look at some of the libraries out there to see how they do it on different operating systems.
Microsoft Windows and Apple MacOS X provide system APIs for doing this.
On Linux, some libraries go poking around in `/dev/serial/*`, others go nosing through `/sys/class/tty/*`. Some just look for specific names in `/dev` and hope for the best. `pyserial` also checks `/proc/tty/drivers` on Linux, but everywhere else in POSIX land it uses `glob`.
Most do not consider BSD at all. You're on your own to learn what serial ports your computer has. It's a mess.
#NetBSD has a `/kern` virtual filesystem which is similar to `/sys` in Linux… so there *is* scope there to maybe put some sort of virtual text file that dumps a mapping of devices and what device nodes they're at. My mind also thinks about OpenFirmware's DeviceTree.
BSD in general, has the same problem Linux had years ago: it assumed the hardware never changed. In the 80s and 90s, that was mostly true, your devices were hard-wired into "busses". You mostly ignored that there was a ISA bus, you just "knew" you had a device at address 0x300 and "talked" to it. It was there at power on, and there at shutdown.
SCSI was a little more complicated, you spoke to your disk drive *through* this HBA card.
Then came along Firewire, USB and Bluetooth. Devices could come and go as they pleased. Moreover, USB is a tree structure and Bluetooth is a mesh radio network. A flat structure doesn't quite describe the situation. I'm seeing a lot of wisdom behind the idea of Open Firmware's DeviceTree… and it seems to me, the kernel of a modern OS needs to track a live changing representation of this. A big part of keeping track will be providing a mechanism for the userspace to learn of changes in this tree, and to find where things are.
While I don't expect them to wholesale copy Linux, I think there is merit in the kernel calling a userspace application to "set up" devices when they are detected, and "tear down" those devices when they are removed.
This is `udev` in Linux and it is very handy even if it can be a pain in the bum to debug.
I've also seen the virtual `/dev` filesystem route used. Linux used to have `devfs`, and SyllableOS also used such a system. Not saying that's the best approach, but it is another way of exposing this information to the system.
Not sure which is the "right" approach, but I don't think a static "nothing ever changes" approach is viable here.
Playing around with #NetBSD again… so I have a Intel NUC running it. One of the thing I frequently have to deal with, being an embedded software developer *and* an amateur radio operator, is #SerialPorts.
More often than not, USB serial ports. Now, I'm used to the Linux way of doing things, where everything is accessed through a /dev/tty* device.
We used to do it the BSD way with a device like /dev/cua0 (16550 UART on ISA 0x3f8 IRQ 4; COM1 for you DOS people) being your serial port ignoring carrier detect, and /dev/ttyS0 was the same serial port but required CD to be up. This got deprecated years ago, so /dev/cua0 disappeared, and we were left with /dev/ttyS0.
I grabbed a test rig I made for work, this is Zephyr RTOS on a Raspberry Pi Pico. It enumerates two CDC-ACM serial ports, one with the Zephyr shell, and the other is a USB serial port. You use the shell port to tell it how to route the RXD/TXD lines on the other serial port, with the board supporting RS-485, RS-422 and TTL serial. On Linux, it shows up as `/dev/ttyACM${n}` and `/dev/ttyACM$(( ${n} + 1 )`. `udev` also creates these symbolic links:
```
stuartl@rikishi ~ $ ls -l /dev/serial/by-id
total 0
lrwxrwxrwx 1 root root 13 Jul 26 10:58 usb-WideSky.Cloud_Pty_Ltd_WideSky_Hub_Test_Rig_E663AC91D3665F30-if00 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 Jul 26 10:58 usb-WideSky.Cloud_Pty_Ltd_WideSky_Hub_Test_Rig_E663AC91D3665F30-if02 -> ../../ttyACM1
stuartl@rikishi ~ $ ls -l /dev/serial/by-path/
total 0
lrwxrwxrwx 1 root root 13 Jul 26 10:58 pci-0000:00:14.0-usb-0:2:1.0 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 Jul 26 10:58 pci-0000:00:14.0-usb-0:2:1.2 -> ../../ttyACM1
lrwxrwxrwx 1 root root 13 Jul 26 10:58 pci-0000:00:14.0-usbv2-0:2:1.0 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 Jul 26 10:58 pci-0000:00:14.0-usbv2-0:2:1.2 -> ../../ttyACM1
```
This is handy because if I have two of these, it doesn't matter which gets detected first, I know which device is which. The links ending in `-if02` or `.2` will be the data port, and the `-if00` / `.0` ones will be the shell control port.
In NetBSD, I plug this same MCU in and I get 4 devices:
- `/dev/dtyU0`
- `/dev/dtyU1`
- `/dev/ttyU0`
- `/dev/ttyU1`
The files actually always exist, but they get mapped to this physical device when the driver detects it and enumerates it on USB.
If I plug in another dongle, I get another pair, a `/dev/dtyU2` and a `/dev/ttyU2`. The choice of `/dev/dtyU[012]` is dependent on which order the devices is detected… which on USB is indeterminate as they can be hotplugged.
The only clue I get is the `usbdevs -v`; it shows a device number and serial number information.
```
vk4msl-nbsd# usbdevs -v
Controller /dev/usb0:
addr 0: super speed, self powered, config 1, xHCI root hub(0x0000), NetBSD(0x0000), rev 1.00(0x0100)
port 1 disabled
port 2 disabled
port 3 disabled
port 4 disabled
Controller /dev/usb1:
addr 0: high speed, self powered, config 1, xHCI root hub(0x0000), NetBSD(0x0000), rev 1.00(0x0100)
port 1 powered
port 2 addr 17: full speed, power 100 mA, config 1, USB-Serial Controller D(0x2303), Prolific Technology Inc.(0x067b), rev 4.00(0x0400)
port 3 addr 1: low speed, power 100 mA, config 1, CASUE USB KB(0x6a21), vendor 2a7a(0x2a7a), rev 0.01(0x0001)
port 4 addr 18: full speed, self powered, config 1, WideSky Hub Test Rig(0x5678), WideSky.Cloud Pty Ltd(0x1234), rev 4.03(0x0403), serial E663AC91D3665F30
port 5 powered
port 6 powered
port 7 addr 3: full speed, self powered, config 1, product 0a2a(0x0a2a), Intel(0x8087), rev 0.01(0x0001)
port 8 powered
port 9 powered
port 10 powered
port 11 powered
…
```
lacking is the knowledge that there are *two* devices allocated to device 18 (the test rig).
Given a `/dev/ttyU${n}` or `/dev/dtyU${n}` device node, how do I find out about the device attached to it? Seems assuming a device node is fraught with danger.
boostedSome binary packages missing for #NetBSD #pkgsrc ... but i suspect it is a work in progress.
https://github.com/NetBSD/pkgsrc/issues/182
In case any of you has missed it RC 7 of NetBSD 11 is out