X1009: Difference between revisions
| Line 130: | Line 130: | ||
'''1. Root Cause''' | '''1. Root Cause''' | ||
:The problem is triggered by ''upstream Linux kernel code changes''. The JMicron JMB585 controller chip equipped on the SATA hat has potential data corruption risks when running under 64-bit DMA mode on certain platforms. Therefore, the kernel forces this chip to work with 32-bit DMA mode. Without matching configuration adjustment, the system cannot probe and identify SATA disks via AHCI protocol normally. | :The problem is triggered by ''upstream Linux kernel code changes''. The '''JMicron JMB585 controller chip''' equipped on the SATA hat has potential data corruption risks when running under 64-bit DMA mode on certain platforms. Therefore, the kernel forces this chip to work with 32-bit DMA mode. Without matching configuration adjustment, the system cannot probe and identify SATA disks via AHCI protocol normally. | ||
'''2. Affected System & Kernel Versions''' | '''2. Affected System & Kernel Versions''' | ||
| Line 137: | Line 137: | ||
'''3. Configuration''' | '''3. Configuration''' | ||
:3-1. Manual Configuration Fix <span style="color:red;">''(Solution 1)''</span> | :3-1. Manual Configuration Fix <span style="color:red;">''(Solution 1 - Recommand)''</span> | ||
::Open the config file via terminal command: | ::Open the config file via terminal command: | ||
::<code>sudo nano /boot/firmware/config.txt</code> | ::<code>sudo nano /boot/firmware/config.txt</code> | ||
| Line 146: | Line 146: | ||
::Multiple dtoverlay entries are allowed, just write each on separate lines. | ::Multiple dtoverlay entries are allowed, just write each on separate lines. | ||
::Save and exit the editor. | ::Save and exit the editor. | ||
:3-2. One-click Command to Add Configuration <span style="color:red;">''(Solution 2)''</span> | :3-2. One-click Command to Add Configuration <span style="color:red;">''(Solution 2 - For reference, '''NOT''' tested by us)''</span> | ||
::Run this command directly in terminal to automatically insert the required setting: | ::Run this command directly in terminal to automatically insert the required setting: | ||
::<code>grep -qxF 'dtoverlay=pcie-32bit-dma-pi5' /boot/firmware/config.txt || sudo sed -i -zE 's/(.*\ndtparam=[^\n]*pciex1[^\n]*)/\1\ndtoverlay=pcie-32bit-dma-pi5/' /boot/firmware/config.txt</code> | ::<code>grep -qxF 'dtoverlay=pcie-32bit-dma-pi5' /boot/firmware/config.txt || sudo sed -i -zE 's/(.*\ndtparam=[^\n]*pciex1[^\n]*)/\1\ndtoverlay=pcie-32bit-dma-pi5/' /boot/firmware/config.txt</code> | ||
| Line 154: | Line 154: | ||
:Reboot your Raspberry Pi 5 device after modifying the configuration. The new setting will take effect during startup, and the SATA hat will detect disks properly again. | :Reboot your Raspberry Pi 5 device after modifying the configuration. The new setting will take effect during startup, and the SATA hat will detect disks properly again. | ||
'''5. Plus:''' Please refer to the [https://forum.openmediavault.org/index.php?thread/59049-psa-rpi5-users-of-the-radxa-sata-hat-now-need-to-use-dtoverlay-pcie-32bit-dma-pi/ original link]. The chip equipped on X1009 is the same as that of the author's Radxa Penta SATA HAT, both adopting JMicron JMB585. | '''5. Plus:''' | ||
:Please refer to the [https://forum.openmediavault.org/index.php?thread/59049-psa-rpi5-users-of-the-radxa-sata-hat-now-need-to-use-dtoverlay-pcie-32bit-dma-pi/ original link]. The chip equipped on X1009 is the same as that of the author's '''Radxa Penta SATA HAT''', both adopting JMicron JMB585. | |||
:Thanks to users who reported issues in the comments. Your feedback helps us improve and update product documents. | |||
</div> | </div> | ||
</div> | </div> | ||