ValveSoftware / ValveSoftware/SteamOS
Steam Machine internal microSD slot keeps exposing card as /dev/sda but never creates /dev/sda1
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 2.6k
- Forks
- 83
- Avg merge
- 4m
- Merged PRs (30d)
- 3
Description
Your system information
- Steam client version: (not checked, can add if needed)
- SteamOS version: 3.8.16 (BUILD_ID=20260716.1, stable branch)
- Kernel: 6.16.12-valve24.5-1-neptune-616-gb2f7cfe85e45
- Opted into Steam client beta?: No
- Opted into SteamOS beta?: No
- Have you checked for updates in Settings > System?: Yes
Note: This is the Steam Machine's built-in microSD slot. The kernel exposes it through a USB storage path (Realtek 0bda:0316) instead of an mmcblk device.
Expected behavior:
When I create a partition table and partition on the internal microSD card, SteamOS should create a partition device like /dev/sda1 that I can format and mount normally.
What did happen:
SteamOS only ever shows /dev/sda with no partition node (sda1). The card is detected, raw reads/writes succeed, and partition tools sometimes report a valid partition table, but the kernel never creates /dev/sda1.
Key observations:
lsblkshows onlysda, neversda1partprobe -s /dev/sdareportsmsdos partitionsexistpartx -a /dev/sdafails withfailed to read partition tableblkid /dev/sdareturns nothing after formatting attempts- Raw writes to
/dev/sdasucceed (tested withdd) - The card was formatted in a Samsung phone, then reinserted into the Steam Machine. The Machine still detected only
/dev/sdaand no partition node appeared. - This removes ambiguity about whether the card itself is defective.
udev info shows the internal slot uses USB storage, not mmcblk:
(deck@steamdeck ~)$ sudo udevadm info --query=all --name=/dev/sda | grep ID_
E: ID_BUS=usb
E: ID_MODEL=SD_MMC_CRW
E: ID_MODEL_ID=0316
E: ID_VENDOR=Generic-
E: ID_VENDOR_ID=0bda
E: ID_USB_DRIVER=usb-storage
lsblk confirms USB transport:
(deck@steamdeck ~)$ lsblk -o NAME,MODEL,VENDOR,SERIAL,TRAN,SIZE
NAME MODEL VENDOR SERIAL TRAN SIZE
sda SD/MMC CRW Generic- 16140211162022000 usb 366.8G
zram0 7.6G
nvme0n1 KINGSTON OM3SGP4512K2-A00 50026B7283DE94F6 nvme 476.9G
├─nvme0n1p1 nvme 256M
├─nvme0n1p2 nvme 64M
├─nvme0n1p3 nvme 64M
├─nvme0n1p4 nvme 5G
├─nvme0n1p5 nvme 5G
├─nvme0n1p6 nvme 256M
├─nvme0n1p7 nvme 256M
└─nvme0n1p8 nvme 466.1G
sgdisk shows no partitions despite GPT header existing:
(deck@steamdeck ~)$ sudo sgdisk -p /dev/sda
Creating new GPT entries in memory.
Disk /dev/sda: 769277952 sectors, 366.8 GiB
Model: SD/MMC CRW
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 8E0E2707-7CE6-4E8F-B43D-4B2805DD4691
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 769277918
Partitions will be aligned on 2048-sector boundaries
Total free space is 769277885 sectors (366.8 GiB)
Number Start (sector) End (sector) Size Code Name
Raw writes succeed, proving the disk is writable:
printf "HELLOTEST" | sudo dd of=/dev/sda bs=1 seek=4096 conv=fsync
sudo dd if=/dev/sda bs=1 skip=4096 count=9 status=none
# Output: HELLOTEST
System info:
(deck@steamdeck ~)$ cat /etc/os-release
NAME="SteamOS"
PRETTY_NAME="SteamOS"
VERSION_CODENAME=holo
ID=steamos
ID_LIKE=arch
ANSI_COLOR="1;35"
HOME_URL="https://www.steampowered.com/"
DOCUMENTATION_URL="https://support.steampowered.com/"
SUPPORT_URL="https://support.steampowered.com/"
BUG_REPORT_URL="https://support.steampowered.com/"
LOGO=steamos
VARIANT_ID=steamdeck
VERSION_ID=3.8.16
BUILD_ID=20260716.1
STEAMOS_DEFAULT_UPDATE_BRANCH=stable
(deck@steamdeck ~)$ udisksctl status
MODEL REVISION SERIAL DEVICE
--------------------------------------------------------------------------
KINGSTON OM3SGP4512K2-A00 SDW02105 50026B7283DE94F6 nvme0n1
Generic- SD/MMC CRW 1.00 16140211162022000 sda
Steps for reproducing this issue:
- Insert a microSD card into the Steam Machine's built-in slot
- Observe that it appears as
/dev/sdawithTRAN=usb(not as/dev/mmcblk*) - Use
fdiskorsgdiskto create a new partition table and partition - Run
lsblkand observe that nosda1appears - Try
partx -a /dev/sdaand observe it fails withfailed to read partition table - Format the card in a phone (Samsung), reinsert, and observe the same issue persists
Related issues
Adding states of cases at time I messaged, two are still open, including #1208 which still returned at #1502
- Closed - SD card not being automatically mounted after updating to 3.5.5
- Open - SD card not being automatically mounted after updating to 3.5.19
- Closed - SD Card not working on Gaming Mode and not detected on Desktop Mode (SteamOS 3.5.17)
- Open - Steam deck not detecting SD Card
- Closed - (SteamOS 3.6/3.7) unable to mount any external storage devices
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the internal-slot behavior with the reported SteamOS 3.8.16 kernel, then inspect the udevadm and lsblk output for the USB storage path (Realtek 0bda:0316). Compare partition discovery using fdisk or sgdisk with partprobe and partx. Done means a valid partition table on /dev/sda results in a usable /dev/sda1 node.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100