leonade Posted March 5, 2024 #1 Posted March 5, 2024 Hi all, I know this is a well-worn topic, but I have not been able to find a specific answer on my situation. I understand how and why the SataPortMap & DiskIdxMap fields are used, (well, I think I understand it enough...) But my questions is: How does one go about determining what these values should be? I am currently running a: · TinyCore RedPill Loader with M-Shell (Latest as of 20240305) · Asus P11C-M4L with all SATA controllers turned off in the BIOS · ASUS PIKE II 3008 8-port SAS HBA card · 12GB/s SGPIO Expander hot-swap backplane that the connects back to the PIKE II card via 2 MiniHD Cables · 12 SAS disks attached to the this backplane · All 12 disks are being presented to Xpenology as individual disk. With: SataPortMap: 1 DiskIdxMap: 00 I end with DSM detecting all 12 disks, but the disk count starts at 02 and goes through to 13. Like other users I am trying to configure my system to use ports 01-12 I have read some comments suggesting that SAS configurations do not utilise the SataPort Map setting, however I find if I manipulate these settings, does affect the disk layout in DSM. As I have disabled my onboard SATA controllers I believe the PIKE Card is the first control which holds 8 ports, evern though via the SAS backplane it has 12 disks attached. As SataPortMap only uses 1 digit to configure the ports, I assume I need to use: SataPortMap: 8 SataPortMap: 1 DiskIdxMap: 00 Assigns my 12 disks from: sdb through to sdm and SataPortMap: 8 DiskIdxMap: 00 Assigns my 12 disks from: sdd through to sdo So these values are affecting my DSM configuration, what I do not understand is how to calculate the HEX values for the DiskIdxMap. I believe setting DiskIdxMap: 00 means that the first disk detected should be assigned to sda. Ssh-ing into the DSM, there is no sda listed, so I don’t believe there are any other disk controllers at play here. Have I misunderstood a concept here? Is there any glaringly obvious I have missed or misunderstood? Cheers, Leon Quote
leonade Posted March 5, 2024 Author #2 Posted March 5, 2024 (edited) So I rebuilt my TCRP bootloader. I now have Bays 2-12 populated and one of my drives is now being detected as an external drive... Edited March 5, 2024 by leonade Quote
leonade Posted March 6, 2024 Author #3 Posted March 6, 2024 Switched from DDSML to EUDEV Now no drives are detected. Quote
leonade Posted March 6, 2024 Author #4 Posted March 6, 2024 Flipped from Peter Suh's TCRP M-Shell back to pocopico's "tinycore-redpill-uefi.v0.10.0.0.img" and this has corrected all my issues. No idea what the difference is... Even below on the working environment, I have 0 HBA's listed. Quote
SeCrEt BoY Posted December 12, 2024 #5 Posted December 12, 2024 Have you got the solution? I have the same issue... With TCRP: SataPortMap: 14 and DiskIdxMap: 0400 >>> Boot go to disk 5, all another disks go to 1,2,3,4 (It is OK) With M-Shell: Set SataPortMap and DiskIdxMap is not working... sata_remap "0\\>4:4\\>0" still not change the disk order... Quote
leonade Posted December 12, 2024 Author #6 Posted December 12, 2024 Flipped from Peter Suh's TCRP M-Shell back to pocopico's "tinycore-redpill-uefi.v0.10.0.0.img" and this has corrected all my issues. Since then with DSM 7.2.2 I have flipped to Arc Loader All is working fine for me at the moment Quote
renegadeBE Posted December 12, 2024 #7 Posted December 12, 2024 12 hours ago, SeCrEt BoY said: Have you got the solution? I have the same issue... With TCRP: SataPortMap: 14 and DiskIdxMap: 0400 >>> Boot go to disk 5, all another disks go to 1,2,3,4 (It is OK) With M-Shell: Set SataPortMap and DiskIdxMap is not working... sata_remap "0\\>4:4\\>0" still not change the disk order... Hi ! You are wrong: The sataportmap value seems good to me (without additional information or screenshots). This variable indicates to DSM the number of sata ports available by BUS : 1 & 4 SataPortMap = 14 For DiskIdxMap part, it is wrong: this variable declares the order of available disks. The count starts at 0 and not 1 and is made up of 2 digits We start with the first sata bus, we start at 0 => 00 Comes after the second sata bus => 01 Finally, we assemble in order to obtain the variable => 0001 DiskIdxMap = 0001 Quote
SeCrEt BoY Posted December 13, 2024 #8 Posted December 13, 2024 6 hours ago, renegadeBE said: Hi ! You are wrong: The sataportmap value seems good to me (without additional information or screenshots). This variable indicates to DSM the number of sata ports available by BUS : 1 & 4 SataPortMap = 14 For DiskIdxMap part, it is wrong: this variable declares the order of available disks. The count starts at 0 and not 1 and is made up of 2 digits We start with the first sata bus, we start at 0 => 00 Comes after the second sata bus => 01 Finally, we assemble in order to obtain the variable => 0001 DiskIdxMap = 0001 My system: SATA Controller 1: have 1 port (mSATA at this port 00) SATA Controller 2: have 4 ports(01-04 With TCRP I just set SataPortMap=14 (first controller have 1 port and second have 4 ports, is it right???) And DiskIdxMap=0400 (First disk of controller 1 start with disk 5 and first disk of controller 2 start at disk 1, is it right?) But the point I figured out yesterday is: SataPortMap=14, DiskIdxMap=0400 work OK with DS918+ loader. (mSATA is disk 5 and HDDs start at Disk 1 - Disk 4) Others model, 2 params is useless... Whatever I set for them, the disk still: mSATA is Disk 1, HDD from Disk 2 - Disk 5) Quote
renegadeBE Posted December 13, 2024 #9 Posted December 13, 2024 (edited) @SeCrEt BoY Some models use automatic device tree detection (DT). I'm not sure, but I think the settings are then ignored. The 2 parameters are linked (sataportmap & diskidxmap): if the first sata bus (msata) is detected first it must be declared first in both variables. Then, the second sata bus (marvell) is declared in second position for both variables. I remain convinced that the diskidxmap variable must be assigned as indicated in my previous post, the value in the first position of sataportmap is 1 (mSATA BUS) and we want the disk to be placed in the first position : 0001. The disks managed by the second BUS (marvell) come after: 0001 => DiskIdxMap = 0001 If the marvell BUS is detected first the variables are different: -> SataPortMap = 41 -> DiskIdxMap = 0100 After modifying these variables, you must rebuild the loader for it to take effect. You can try the following command in the terminal: ./rploader.sh satamap It is a tool for automatic variable configuration. I don't know if it's still supported, let's try. As said previously, the charger must be rebuilt after modification. Edited December 13, 2024 by renegadeBE Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.