OpenBSD Journal

p2k15 Hackathon Report: stsp@ on wifi and games

Contributed by tj on from the porting-wirelessly dept.

Stefan Sperling (stsp@) writes in with our third report from the p2k15 ports hackathon:

I spent the week before hackathon reviving a lingering work-in-progress implementation of a wireless driver for RTL8188CE devices. These are essentially urtwn(4) devices on the PCI bus instead of USB. The driver started out as a copy of urtwn(4) which I'm gradually moving over to PCI. With help from uwe@ I could clear some roadblocks that had prevented progress and got the driver up to the point where the firmware loading process completed successfully.

Upon my arrival in Exeter I immediately updated the Apache Subversion port in 5.6-stable to fix security issues fixed in Subversion 1.8.13.

With that out of the way I focused back on the wireless driver and implemented support for receiving frames. Once beacons appeared in tcpdump I was eager to look into fixing the transmit code path but ran into an annoying problem: The chip didn't reset properly after a transmit failure unless I power-cycled the system. So that problem had to be fixed first. It took a while to get the driver into a stable state while running ifconfig down/up in a loop. I got very useful hints from deraadt@ who happens to have intricate knowledge of the Intel 8051 chip which runs the RTL8188CE firmware. As usual, no hardware docs are available so adding support involves a lot of time wasted on trial and error. In the end, the final fix involved moving a single line of code (a tsleep(9) call) up by about 6 lines, but it took a few days to figure this out.

After that ordeal I had appetite for something more lightweight so I decided to work on some games in ports. I updated megaglest and stone-soup, and added fillets-ng (a puzzle game with fish -- unfortunately there are no puffy sprites but it's fish nonetheless).

Exeter is a lovely place to visit, the university campus was excellent, and our hosts (sthen@'s family) were very kind and supportive. Thanks!

(Comments are closed)

  1. By Anonymous Coward ( on

    Your suffering over the RTL8188CE is appreciated tremendously.

  2. By Anonymous Coward (2605:e000:860d:a300:cc9d:4421:5878:3d9) on

    Really awesome to see work on the RTL8188. I have an RTL8187SE so I'm hoping my chip might just work as well.


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 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.]