Hacker News new | ask | show | jobs
by cushychicken 1146 days ago
Writing or modifying an existing driver for something like an I2S DAC would suit you, I think.

You'd have to figure out phandle support for the I2C configuration channel, fire up I2S streaming by enabling it in the kernel and piping audio to the DAC, then playing it into some speakers.

Could expand it by adding some filtering. Many DACs have filter banks that you can populate with coefficients via I2C.

There's some decent kernel module resources and examples in this repo if this is something you're brand new to:

https://github.com/Johannes4Linux/Linux_Driver_Tutorial

If you have any interest or experience in cybersecurity and have considered doing that professionally, my company is hiring and likely will be all year. We probably have a use for a new SWE on the embedded side. Email me at my username at Gmail.

2 comments

Proper codec driver would be heavily abstracted though. I2C hidden behind regmap. Regmap mostly hidden behind ALSA kcontrol API. A lot of codec drivers consist mostly of tables of mappings between abstract controls and register locations/values. Not very exciting stuff. Finding an acquirable SoC that doesn't have DAI driver implemented may also be a challenge.

But why not I guess. :)

Camera sensor drivers are a bit less abstracted and many sensors don't have upstream drivers. But there's also a lack of quality documentation for HW in this area, oftentimes... v4l2 API is a bit more approachable than alsa PCM API, IMO. And on advanced SoCs you can pass around video buffers bewteen various v4l2 mem2mem devices to transform/process the data in HW. Drivers for HW acceleration of image or video data processing are seldom exercised in all their features, so there are many bugs there waiting to be squashed, and features to be implemented. It's a deep rabbit hole.

Anywhere is a good place to start.

Let the fella learn.

Thank you, that does sound interesting, and I do have an interest in cybersecurity (just not IT security as in firewalls, incident response ...etc). I saw some interesting stuff being done recently from programming/writing code to emulate a microcontroller/CPU in something like qemu, to power glitching and bypassing protection on some chips to allow accessing serial/debug interface or even some of the mobile baseband reverse engineering/emulation being done by experienced security researchers. but I couldnt tell what kind of experience I would need to have for that sort of job, or where to start, at least I think starting with embedded projects and low level OS-related stuff would someday lead me to that career path.

> my company is hiring and likely will be all year. We probably have a use for a new SWE on the embedded side. Email me at my username at Gmail.

I'll keep this mind, thank you.

We don't do IT cybersecurity. That stuff is boring. :)

Our work is much closer to the metal. There's a big hardware component. Based on what you describe, we have work that I strongly suspect you'd find interesting. Your intuition was correct - low level coding and OS stuff is where all the goods are at.

Shoot me an email at cushychicken@gmail.com and I can tell you about what we do in a bit more detail.