[SOLVED] Hard drives missing after hardware upgrade


Recommended Posts

So recently I decided to upgrade the hardware of my unRAID server, since it is doing a lot more than I originally expected it would be doing after the last upgrade I made 4+ years ago and the AMD Ryzen sales looked pretty good.  I bought a Ryzen 7 2700, Asus ROG STRIX X470-F GAMING, 16GB DDR4, and a XFX RX570.  This weekend I decided to make a backup of my appdata and USB and go ahead and upgrade the hardware.  The upgrade of the hardware went without issue, albeit is a little cramped in my Antec Nine Hundred.  After booting up last night, I couldn't get unRAID to boot.  After the boot menu, I would get an error that there wasn't enough memory to load the OS.  After some reading, I found that the RAM I bought wasn't in Asus's list for the motherboard.  So I went over to Micro Center and picked up RAM that was on the list, popped it in and we're getting further.  I got into a boot loop when trying to boot into GUI mode, but booting into regular unRAID OS boots fine.  So that's troubleshooting for another day.

 

After I was able to get to the web GUI for my server, I went ahead and put my encryption key in and started the array.  I went to the docker tab and received an error that it couldn't start.  I went into the docker settings and it said it couldn't find the docker image file.  Weird, I knew my cache drives were connected.  So I went to the main tab and lo and behold, my cache drives weren't there.  After much playing around in the BIOS and then much searching on the forums here, I found I was running into the dreaded Marvell PCI to SATA card issue. Both my cache drives are connected to a PCI-e to SATA card, specifically a ASM1061 Chipset card.  The card is plugged into the PCIe 2.0 x1_3 slot on the motherboard, and when the system boots up I can see the card recognized and the two hard drives on it are recognized as well.  I went into the BIOS and turned off IOMMU and SVM mode, but I am still not able to see the drives in my system.  I'm getting these errors in the syslog:

 

Apr  7 13:03:20 unRAID kernel: ahci 0000:05:00.0: AHCI controller unavailable!
Apr  7 13:03:20 unRAID kernel: ata9.00: failed to IDENTIFY (I/O error, err_mask=0x4)
Apr  7 13:03:20 unRAID kernel: ata9.00: revalidation failed (errno=-5)

So it looks like I'm not going to be able to get this card working easily unless there's another BIOS setting I can change.  If I go to Tools => System Devices, unRAID can see the card:

 

[1b21:0612]	05:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev ff)
[1b21:1242]	06:00.0 USB controller: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller
[8086:1539]	08:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
[1002:67df]	0a:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev ef)
[1002:aaf0]	0a:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 580]
[1022:145a]	0b:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 145a
[1022:1456]	0b:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Platform Security Processor
[1022:145f]	0b:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] USB 3.0 Host controller
[1022:1455]	0c:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 1455
[1022:7901]	0c:00.2 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)
[1022:1457]	0c:00.3 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) HD Audio Controller

Unless there's another fix I can try, here were my thoughts.  I currently have 8 hard drives in my system.  Five are in the array connected to onboard SATA (8TB parity, 8TB data, 2x2TB data, 1x3TB data), two are cache connected to the PCI-E card, and one is a 2TB drive that I recently had bad sectors on that is connected to the last onboard SATA connection.  The drive that has bad sectors has been removed from the array but I have not physically removed it from the server, and it's still connected and just hanging out in Unassigned Devices.  One of the other 2TB drives is as old as the drive with bad sectors, and I actually cleared all of the data off of it a week or so ago.  I excluded it from all of my shares so nothing would be written to it either, however it is still assigned a slot in the array but doing pretty much nothing.  I know I can remove the 2TB drive that is no longer in the array without issues, and connect one of my cache drives there, however I don't know the best way to go about removing the other 2TB drive from the array.  Should I go through and use new config to reassign my drives and leave out the 2TB drive I wanted to remove and let parity rebuild, then shut down the server and remove the old drives and connect up the parity drives to the onboard SATA connectors?  Or should I just shut down the system, remove both 2TB drives and connect up my cache drives to the onboard SATA, bring up the array even though it will have an invalid config and let parity rebuild that way?  I've been without my docker containers for 24+ hours now and I'm itching to get them back up as fast as possible, but I also don't want to create more problems for myself.

Edited by mlounsbury
Link to comment

 

6 hours ago, mlounsbury said:

I found I was running into the dreaded Marvell PCI to SATA card issue. Both my cache drives are connected to a PCI-e to SATA card, specifically a ASM1061 Chipset card.

 

Does ASM1062 ( Not Marvell ) was new add or work on old platform ?

 

Pls note, two PCIeX1 slot were share lane, does you wrongly assign the lane to PCIeX16 in BIOS or plug a card there.

*1 PCIeX16_3 slot shares bandwidth with PCIeX1_1 and PCIeX1_3.

 

Also may ref. below post

 

Edited by Benson
Link to comment

@Benson thanks for the response.  First off, I will admit I am not too slick when it comes to new PCI-E standards.  I've been working on systems all the way back to ISA days, and I haven't really fooled with add-on cards much in the last 10-15 years.  To answer your first question, the ASM1062 worked with my previous hardware, although it was the only add-on card installed on that motherboard.  Here is the layout of my motherboard:

 

image.thumb.png.e9a4761db4c2495ef9ca279e73b785ec.png

 

I have my XFX GPU in slot 1, which is PCIEX16_1.  The ASM1062 is plugged into slot 5, which is PCIEX1_3.  I had thought about moving the card to slot 3, which is PCIEX1_2, but wasn't sure if that was the right thing to do or not.  Guess it couldn't hurt to try.

 

Here's the BIOS information for the onboard devices:

 

image.thumb.png.82b8bafe6e8a60e8ae4e306a32e8556c.png

 

image.png.8728bdb949076ac9a99a028822a52862.png

 

PCIEX16_1 bandwidth does not show for me since I have a Ryzen 2nd gen.  PCIEX16_2 is set to 8X mode, and I set PCIEX16_3 4X-2X Switch to 2X.  I attempted to set it to 4X mode, but when I did that the ASM1062 was not recognized at all by the motherboard.

Edited by mlounsbury
Link to comment
5 hours ago, mlounsbury said:

PCIEX16_3 4X-2X Switch to 2X.  I attempted to set it to 4X mode, but when I did that the ASM1062 was not recognized at all by the motherboard.

Set PCIeX16_3 to 2X was correct ( if ASM1062 in slot 5), so these PCIe setting couldn't help your problem.

I don't think move ASM1062 to slot 3 would got different, but no hurt to try.

Link to comment
13 minutes ago, Benson said:

Set PCIeX16_3 to 2X was correct ( if ASM1062 in slot 5), so these PCIe setting couldn't help your problem.

I don't think move ASM1062 to slot 3 would got different, but no hurt to try.

Yeah, I don't think it will help either.  I think my best shot is going to be to remove the card, remove the 2TB with the sector issues, connect the primary cache drive, boot it up, start the array and make sure everything is good.  Then do a new config, add the drives minus the other 2TB I want to remove, let it do a parity rebuild, shut down the server and remove that 2TB drive and re-add the second cache drive.  At least that way I'll get cache and docker up and working tonight, just without the cache redundancy.

Link to comment
  • 2 weeks later...

Forgot to come back to this.  So my solution was to remove the one 2TB drive with sector issues, and connect my first cache drive to it's SATA port.  Brought up the array with the cache drive assigned, and all my dockers containers were back.  I then used the shrink array procedure to clear the other 2TB drive I wanted to remove that was part of the array, went though the new configuration and reassigned my disks, and then ran a parity check to be sure everything was good, which it came back with 0 errors.  Shut down the array, pulled the 2TB drive out, connected the other cache drive to it's SATA port, booted up, assigned the second cache drive and started the array and everything is back to where it was before.  Hopefully I'll be able to go to the M.2 SSD cache drives I was planning on in the future.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.