OpenBSD Journal

Introducing uncm(4)

Contributed by Paul 'WEiRD' de Weerd on from the blobless-installs-r-us dept.

In a post to tech@, Jan Schreiber submitted a driver for USB network control mode, uncm(4). Jan writes:

I noticed newer Android devices (since Android 6 if I'm not mistaken)
do not use urndis(4) for USB tethering any more.
They now use CDC NCM which is missing a driver in OpenBSD.

Below is my first go at it.
I moved some defines and structs out of mbim.h into usbcdc.h
to not include everything for mobile broadband. (No functional change
for umb(4)).

After a little bit of back-and-forth, stsp@ then committed the driver to the tree the next day. Talk about fast turn around!

However, one benefit of this driver is that it requires no firmware blob. As such, it can be used for installs on machines that would otherwise need firmware to connect to a network, circumventing the catch-22 that presents. Therefore, Stefan then proceeded to include this driver in the installer kernel for amd64.

All of this was done just-in-time for the upcoming 8.0 release, so people who have a new laptop with a wireless network card that requires firmware can use their Android mobile phone to fetch the installation.

Many thanks to Jan for providing this driver!


Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]