Projects
Online DRV-01

MyGica A681: a Linux driver for a USB TV tuner

A DKMS driver for the MyGica/Geniatech A681B USB TV tuner on current Linux kernels. Supports ATSC 1.0 and clear QAM.

Cartoon of a Raspberry Pi with a USB TV tuner plugged into one of its USB ports, a coax cable running to a flat indoor antenna, a retro TV glowing beside it, and a distant broadcast tower sending radio rings.

I couldn’t find a driver for the MyGica/Geniatech A681B USB TV tuner on current Linux kernels, so I created this DKMS-based port with assistance from Codex and Claude.

It only supports USB ID 1f4d:a681. It installs as its own module, mygica_a681.ko, and doesn’t touch the distro’s dvb-usb-cxusb module.

Install

pi@tuner:~/mygica-a681-dkmsDKMS
$ sudo apt install dkms build-essential linux-headers-$(uname -r)
$ sudo ./install-dkms.sh
$ ls /dev/dvb/adapter*/frontend0
$ dmesg | grep -i mygica

The install script registers it with DKMS, builds it for your kernel and installs it. Run sudo ./uninstall-dkms.sh to remove it.

Tested and verified

DeviceOSKernel
Raspberry Pi 5 / CM5Raspberry Pi OS6.18.34+rpt-rpi-2712
Raspberry Pi 4 / CM4Raspberry Pi OS6.18.34+rpt-rpi-v8
Raspberry Pi 3Raspberry Pi OS6.18.34+rpt-rpi-v8
Lenovo LOQ 17IRB8Debian 136.12.86+deb13-amd64

Watching TV

I use NextPVR. For antenna channels in North America I used the atsc-072020-repack-recommended option when scanning. The full steps are in the README. I also use it for the TV page in Azimuth.

Limits

  • No ATSC 3.0
  • QAM only works on unencrypted cable channels

// alientrails