JMB595 connected to pcie expande-pi5

Open
#7,355 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
c, linux

Research direction

Reproduce the failure on a Raspberry Pi 5 with a JMB585 under a 6.18+ kernel, then inspect the ahci driver change identified by commit ee95f3c56a0d8942f43086abbb832244312c08d2. Compare startup behavior with and without that change, using the provided kernel log and PCI listings. Done means the controller probes successfully and SATA drives appear without regressing supported hardware.

Written by the indexing model from the issue text.

Description

Describe the bug

commit ee95f3c56a0d8942f43086abbb832244312c08d2
Author: Arthur Husband artmoty@gmail.com
Date: Mon Apr 6 15:23:35 2026 -0700

ata: ahci: force 32-bit DMA for JMicron JMB582/JMB585

[ Upstream commit 105c42566a550e2d05fc14f763216a8765ee5d0e ]

This patch causes my jmb585 to error on startup, hence the drives don't show up.

from my journal
May 09 12:13:07 pi5.internal3 kernel: ahci 0001:01:00.0: enabling device (0000 -> 0002)
May 09 12:13:07 pi5.internal3 kernel: ahci 0001:01:00.0: controller can't do 64bit DMA, forcing 32bit
May 09 12:13:07 pi5.internal3 kernel: ahci 0001:01:00.0: SSS flag set, parallel bus scan disabled
May 09 12:13:07 pi5.internal3 kernel: ahci 0001:01:00.0: AHCI vers 0001.0301, 32 command slots, 6 Gbps, SATA mode
May 09 12:13:07 pi5.internal3 kernel: ahci 0001:01:00.0: 5/5 ports implemented (port mask 0x1f)
May 09 12:13:07 pi5.internal3 kernel: ahci 0001:01:00.0: flags: ncq sntf stag pm led clo pmp fbs pio slum part ccc apst boh
May 09 12:13:07 pi5.internal3 kernel: ahci 0001:01:00.0: failed to start port 0 (errno=-12)
May 09 12:13:07 pi5.internal3 kernel: ahci 0001:01:00.0: probe with driver ahci failed with error -12

lspci-v
0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 38
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
Memory behind bridge: 80000000-800fffff [size=1M] [32-bit]
Prefetchable memory behind bridge: [disabled] [64-bit]
Capabilities: [48] Power Management version 3
Capabilities: [ac] Express Root Port (Slot-), IntMsgNum 0
Capabilities: [100] Advanced Error Reporting
Capabilities: [160] Virtual Channel
Capabilities: [180] Vendor Specific Information: ID=0000 Rev=0 Len=028 <?>
Capabilities: [300] Secondary PCI Express
Kernel driver in use: pcieport

0001:01:00.0 SATA controller: JMicron Technology Corp. JMB58x AHCI SATA controller (prog-if 01 [AHCI 1.0])
Subsystem: JMicron Technology Corp. Device 0000
Flags: bus master, fast devsel, latency 0, IRQ 170
Memory at 1b80010000 (32-bit, non-prefetchable) [size=8K]
Expansion ROM at 1b80000000 [virtual] [disabled] [size=64K]
Capabilities: [80] Power Management version 3
Capabilities: [90] MSI: Enable+ Count=8/8 Maskable- 64bit+
Capabilities: [c0] Express Legacy Endpoint, IntMsgNum 0
Capabilities: [100] Advanced Error Reporting
Capabilities: [150] Device Serial Number 00-00-00-00-00-00-00-00
Capabilities: [160] Power Budgeting <?>
Capabilities: [1b8] Latency Tolerance Reporting
Capabilities: [300] Secondary PCI Express
Capabilities: [900] L1 PM Substates
Kernel driver in use: ahci
Kernel modules: ahci

0002:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 39
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
Memory behind bridge: 00000000-004fffff [size=5M] [32-bit]
Prefetchable memory behind bridge: [disabled] [64-bit]
Capabilities: [48] Power Management version 3
Capabilities: [ac] Express Root Port (Slot-), IntMsgNum 0
Capabilities: [100] Advanced Error Reporting
Capabilities: [160] Virtual Channel
Capabilities: [180] Vendor Specific Information: ID=0000 Rev=0 Len=028 <?>
Capabilities: [240] L1 PM Substates
Capabilities: [300] Secondary PCI Express
Kernel driver in use: pcieport

0002:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge
Flags: bus master, fast devsel, latency 0, IRQ 39
Memory at 1f00410000 (32-bit, non-prefetchable) [size=16K]
Memory at 1f00000000 (32-bit, non-prefetchable) [virtual] [size=4M]
Memory at 1f00400000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [40] Power Management version 3
Capabilities: [70] Express Endpoint, IntMsgNum 0
Capabilities: [b0] MSI-X: Enable+ Count=61 Masked-
Capabilities: [100] Advanced Error Reporting
Kernel driver in use: rp1

lspci -n
0001:00:00.0 0604: 14e4:2712 (rev 21)
0001:01:00.0 0106: 197b:0585
0002:00:00.0 0604: 14e4:2712 (rev 21)
0002:01:00.0 0200: 1de4:0001

Steps to reproduce the behaviour

Boot a kernel on a pi5 with the specified patch. SATA drives do not show up.

Device (s)

Raspberry Pi 5

System

Affects kernels 6.18+

Logs

No response

Additional context

No response

Dominant language
C
Stars
13.2k
Forks
5.5k
Avg merge
2d 21h
Merged PRs (30d)
21

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from raspberrypi/linux

All issues in raspberrypi/linux

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.