---
name: "rtsx"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd", "openbsd"]
url: "https://new.carta.tech/rtsx"
---

# rtsx(4)

Realtek SD card reader

## NAME

**rtsx** – Realtek SD card reader

## SYNOPSIS

To compile this driver into the kernel, place the following lines in the kernel configuration file:

**device** **mmc** **device** **mmcsd** **device** **rtsx**

Alternatively, to load the driver as a module at boot time, place the following lines in [loader.conf(5)](/loader.conf/5.md):

```
mmc_load="YES"
mmcsd_load="YES"
rtsx_load="YES"
```

## DESCRIPTION

The **rtsx** driver provides support for Realtek SD card reader. Driver attaches mmc bus on card insertion and detaches it on card removing.

## HARDWARE

The **rtsx** driver supports the following Realtek SD card readers:

- RTS5209

- RTS5227

- RTS5229

- RTS522A

- RTS525A

- RTS5260

- RTL8411B

- RTS5249 (unverified)

- RTL8402 (unverified)

- RTL8411 (unverified)

## SEE ALSO

[mmc(4)](/mmc/4.md), [mmcsd(4)](/mmcsd/4.md) *SD Specifications, Part 2, SD Host Controller, Simplified Specification*, *SanDisk Secure Digital Card*.

## HISTORY

The **rtsx** driver appeared in FreeBSD 13.0 and was ported from OpenBSD with modifications found in Linux and NetBSD.

## AUTHORS

Henri Hennebert ⟨*hlh@restart.be*⟩ Gary Jennejohn ⟨*gj@FreeBSD.org*⟩ Jesper Schmitz Mouridsen ⟨*jsm@FreeBSD.org*⟩

## CONTRIBUTORS

Lutz Bichler ⟨*Lutz.Bichler@gmail.com*⟩

## DEBUGGING INFORMATION

*dev.rtsx.0.debug\_mask* can be set with the following masks:

- 0x01 - to show the basic flow of the driver,

- 0x02 - to trace the SD commands,

- 0x04 - to trace the tuning phase.

## BUGS

- RTS522A on Lenovo T470p, card detection and read-only switch are reversed. This is solved by adding in *[loader.conf(5)](/loader.conf/5.md)*:

  **dev.rtsx.0.inversion=1**

  The driver tries to automate those exceptions. If this automation is wrong, it can be avoided by adding in *[loader.conf(5)](/loader.conf/5.md)*:

  **dev.rtsx.0.inversion=0**

- Mounting a filesystem with write access on a card write protected may involve a kernel crash.

- Suspend/Resume do not work under MMCCAM.

- For some chips (e.g. RTS5260) after **devctl** **disable/enable** or **kldunload/kldload** the driver can't detect a card correctly.
