Hello,
I have identified an issue that seems to affect my USB enclosure which uses a Jmicron USB bridge (ID 152d:0567 JMicron Technology Corp.)
This causes unRAID to see all disks in the enclosure as having the same serial number. After some troubleshooting, I was able to determine that this was because udev was not able to obtain the serials through the ata_id utility.
After much finagling, I was able to compile a patched version of ata_id and upon replacing it, the disks now correctly show up with unique serials.
This was fixed upstream quite a while ago, but never made it into the Slackware distro:
https://github.com/systemd/systemd/issues/2362
The patch itself is quite small:
https://github.com/harendra-kumar/systemd/commit/75feb52379f80c3df354b85d1df3274fdde5fccd
I'd love to see this included in the latest version of unRAID if possible! Otherwise please point me in the right direction as to how I should properly override the /lib/udev/ata_id file. It needs to be quite early in the boot process before udev triggers, otherwise I need to retrigger udev and start the array every time.
I compiled a patched version of ata_id and added an install script that triggers udev in my /boot/extra directory, and it correctly passes the serial numbers through after the fix.
---
Demonstration of issue:
When I put my two drives in my DAS, udev cannot distinguish between any of my drives even though they have unique serials. Same thing happens with assigned drives.
# udevadm info --query=all --name=/dev/sdb | grep -i serial
E: ID_SERIAL=Samsung_SSD_850_EVO_500G_202006054D01-0:1
E: ID_SERIAL_SHORT=202006054D01
# udevadm info --query=all --name=/dev/sda | grep -i serial
E: ID_SERIAL=Samsung_SSD_850_EVO_500G_202006054D01-0:0
E: ID_SERIAL_SHORT=202006054D01
However, hdparm -I correctly identifies the disks uniquely:
# hdparm -I /dev/sda | grep -i serial
Serial Number: S3PTNF0JXXXXXX0
# hdparm -I /dev/sdb | grep -i serial
Serial Number: S3PTNF0JXXXXXX1