Native DS1621+ 실패 - 인식되는 드라이브 없음
하드웨어는 구성은 다음과 같습니다.
CPU: Ryzen 2200G
MB: B450 AORUS M
ASM1062 Serial ATA Controller 2포트 사타 확장카드
내장랜: 리얼텍 RTL8111/8168/8411 시리즈 기가비트
PCI 추가랜: 리얼텍 RTL8111/8168/8411 시리즈 기가비트
보드에 B450 칩셋 SATA컨트롤러 4포트, CPU SATA컨트롤러 2포트
총 6포트가 내장되어있습니다.
디스크는
B450 칩셋 컨트롤러 - 포트 4개중 4개 연결
CPU 컨트롤러 - 포트 2개중 2개 연결
SATA 확장카드 - 포트 2개중 1개 연결
8개 포트중 7개가 연결된 상태입니다.
tinicore 진입후
$ ./my.sh DS1621+ noclean
빌드 완료 후
$ cd redphill-load
$ vi ds1621p.dts
자동 생성된 파일 내용은 다음과 같습니다.
/dts-v1/;
/ { compatible = "Synology"; model = "synology_v1000_1621+"; version = <0x1>; syno_spinup_group = <0x6>; syno_spinup_group_delay = <0x0>; syno_hdd_powerup_seq = "true"; syno_smbus_hdd_type = "tca9555"; syno_smbus_hdd_adapter = <0x1>; syno_smbus_hdd_address = <0x20>; syno_cmos_reg_secure_flash = <0xe0>; syno_cmos_reg_secure_boot = <0xe2>;
DX517 { compatible = "Synology"; model = "synology_dx517";
pmp_slot@1 {
libata { EMID = <0x0>; pmp_link = <0x0>; }; };
pmp_slot@2 {
libata { EMID = <0x0>; pmp_link = <0x1>; }; };
pmp_slot@3 {
libata { EMID = <0x0>; pmp_link = <0x2>; }; };
pmp_slot@4 {
libata { EMID = <0x0>; pmp_link = <0x3>; }; };
pmp_slot@5 {
libata { EMID = <0x0>; pmp_link = <0x4>; }; }; };
internal_slot@1 { protocol_type = "sata"; led_type = "lp3943";
ahci { pcie_root = "00:01.2,00.1"; ata_port = <0x0>; };
led_green { led_name = "syno_led0"; };
led_orange { led_name = "syno_led1"; }; };
internal_slot@2 { protocol_type = "sata"; led_type = "lp3943";
ahci { pcie_root = "00:01.2,00.1"; ata_port = <0x1>; };
led_green { led_name = "syno_led2"; };
led_orange { led_name = "syno_led3"; }; };
internal_slot@3 { protocol_type = "sata"; led_type = "lp3943";
ahci { pcie_root = "00:01.2,00.1"; ata_port = <0x4>; };
led_green { led_name = "syno_led4"; };
led_orange { led_name = "syno_led5"; }; };
internal_slot@4 { protocol_type = "sata"; led_type = "lp3943";
ahci { pcie_root = "00:01.2,00.1"; ata_port = <0x5>; };
led_green { led_name = "syno_led6"; };
led_orange { led_name = "syno_led7"; }; };
internal_slot@5 { protocol_type = "sata"; led_type = "lp3943";
ahci { pcie_root = "00:01.2,00.2"; ata_port = <0x8>; };
led_green { led_name = "syno_led8"; };
led_orange { led_name = "syno_led9"; }; };
internal_slot@6 { protocol_type = "sata"; led_type = "lp3943";
ahci { pcie_root = "00:08.2,00.0"; ata_port = <0x10>; };
led_green { led_name = "syno_led10"; };
led_orange { led_name = "syno_led11"; }; };
esata_port@1 {
ahci { pcie_root = "00:01.5,00.0"; ata_port = <0x0>; }; };
esata_port@2 {
ahci { pcie_root = "00:01.6,00.0"; ata_port = <0x0>; }; };
nvme_slot@1 { pcie_root = "00:01.3"; port_type = "ssdcache"; };
nvme_slot@2 { pcie_root = "00:01.4"; port_type = "ssdcache"; };
pcie_slot@1 { pcie_root = "00:01.2"; };
usb_slot@1 {
vbus { syno_gpio = <0x2a 0x1>; };
usb2 { usb_port = "1-2"; };
usb3 { usb_port = "2-2"; }; };
usb_slot@2 {
vbus { syno_gpio = <0xb 0x1>; };
usb2 { usb_port = "3-1"; };
usb3 { usb_port = "4-1"; }; };
usb_slot@3 {
vbus { syno_gpio = <0xc 0x1>; };
usb2 { usb_port = "1-3"; };
usb3 { usb_port = "2-3"; }; }; };
|
lspci 명령으로 정보를 확인해보면
$ lspci -tvnnq -[0000:00]-+-00.0 Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Root Complex [1022:15d0]
|
주요 내용만 추리자면
-[0000:00]-+-01.2-[01-05]--+-00.0 Advanced Micro Devices, Inc. [AMD] 400 Series Chipset USB 3.1 XHCI Controller [1022:43d5]
| +-00.1 Advanced Micro Devices, Inc. [AMD] 400 Series Chipset SATA Controller [1022:43c8]
| \-00.2-[02-05]--+-00.0-[03]----00.0 Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168]
| +-01.0-[04]----00.0 Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168]
| \-04.0-[05]----00.0 ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:0612]
+-08.2-[07]----00.0 Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901]
internal_slot@X {
...
ahci {
pcie_root = <여기>
...
}
}
dts 파일의 pcie_root 에 들어갈 내용을 이렇게 추출했습니다.
00:01.2,00.1 - 메인보드 칩셋 Sata 컨트롤러
00:01.2,00.2,04.0,00.0 - 확장카드 Sata 컨트롤러
00:08.2,00.0 - CPU 내장 Sata 컨트롤러
lspci 정보에 맞게 ds1621p.dts 파일 내용을 다음처럼 수정했습니다.
/dts-v1/;
/ { compatible = "Synology"; model = "synology_v1000_1621+"; version = <0x1>; syno_spinup_group = <0x6>; syno_spinup_group_delay = <0x0>; syno_hdd_powerup_seq = "true"; syno_smbus_hdd_type = "tca9555"; syno_smbus_hdd_adapter = <0x1>; syno_smbus_hdd_address = <0x20>; syno_cmos_reg_secure_flash = <0xe0>; syno_cmos_reg_secure_boot = <0xe2>;
DX517 { compatible = "Synology"; model = "synology_dx517";
pmp_slot@1 {
libata { EMID = <0x0>; pmp_link = <0x0>; }; };
pmp_slot@2 {
libata { EMID = <0x0>; pmp_link = <0x1>; }; };
pmp_slot@3 {
libata { EMID = <0x0>; pmp_link = <0x2>; }; };
pmp_slot@4 {
libata { EMID = <0x0>; pmp_link = <0x3>; }; };
pmp_slot@5 {
libata { EMID = <0x0>; pmp_link = <0x4>; }; }; };
internal_slot@1 { protocol_type = "sata"; led_type = "lp3943";
ahci { pcie_root = "00:01.2,00.1"; ata_port = <0x0>; };
led_green { led_name = "syno_led0"; };
led_orange { led_name = "syno_led1"; }; };
internal_slot@2 { protocol_type = "sata"; led_type = "lp3943";
ahci { pcie_root = "00:01.2,00.1"; ata_port = <0x1>; };
led_green { led_name = "syno_led2"; };
led_orange { led_name = "syno_led3"; }; };
internal_slot@3 { protocol_type = "sata"; led_type = "lp3943";
ahci { pcie_root = "00:01.2,00.1"; ata_port = <0x2>; };
led_green { led_name = "syno_led4"; };
led_orange { led_name = "syno_led5"; }; };
internal_slot@4 { protocol_type = "sata"; led_type = "lp3943";
ahci { pcie_root = "00:01.2,00.1"; ata_port = <0x3>; };
led_green { led_name = "syno_led6"; };
led_orange { led_name = "syno_led7"; }; };
internal_slot@5 { protocol_type = "sata"; led_type = "lp3943";
ahci { pcie_root = "00:08.2,00.0"; ata_port = <0x4>; };
led_green { led_name = "syno_led10"; };
led_orange { led_name = "syno_led11"; }; };
internal_slot@6 { protocol_type = "sata"; led_type = "lp3943";
ahci { pcie_root = "00:08.2,00.0"; ata_port = <0x5>; };
led_green { led_name = "syno_led10"; };
led_orange { led_name = "syno_led11"; }; };
internal_slot@7 { protocol_type = "sata"; led_type = "lp3943";
ahci { pcie_root = "00:01.2,00.2,04.0,00.0"; ata_port = <0x6>; };
led_green { led_name = "syno_led8"; };
led_orange { led_name = "syno_led9"; }; };
esata_port@1 {
ahci { pcie_root = "00:01.5,00.0"; ata_port = <0x0>; }; };
esata_port@2 {
ahci { pcie_root = "00:01.6,00.0"; ata_port = <0x0>; }; };
nvme_slot@1 { pcie_root = "00:01.3"; port_type = "ssdcache"; };
nvme_slot@2 { pcie_root = "00:01.4"; port_type = "ssdcache"; };
pcie_slot@1 { pcie_root = "00:01.2"; };
usb_slot@1 {
vbus { syno_gpio = <0x2a 0x1>; };
usb2 { usb_port = "1-2"; };
usb3 { usb_port = "2-2"; }; };
usb_slot@2 {
vbus { syno_gpio = <0xb 0x1>; };
usb2 { usb_port = "3-1"; };
usb3 { usb_port = "4-1"; }; };
usb_slot@3 {
vbus { syno_gpio = <0xc 0x1>; };
usb2 { usb_port = "1-3"; };
usb3 { usb_port = "2-3"; }; }; }; |
dts 파일 수정 후
$ cd ~
$ ./my.sh DS1621+ noconfig noclean manual
부트로더 빌드 후 재부팅하면 결과는
관련해서 해결방법 아시는 분 계실까요?
ata_port 값은 임의로 바꾸시면 안됩니다.
TC 리눅스 상에서
ll /sys/block 해보시면
아래 target 뒤의 번호가 ata_port 값 입니다.
이부분은 TC가 맞게 찾아주었을것 같은데요.
컨트롤러가 너무 복합적으로 많습니다.
DS920+는 아직 안정화를 찾아가는 기종이라 일단 내장 Sata 부터 시작해서 하나씩 늘리며 시험해 보시길 추천드립니다.
lrwxrwxrwx 1 root root 0 May 2 12:44 sda -> ../devices/pci0000:00/0000:00:0d.0/ata1/host0/target0:0:0/0:0:0:0/block/sda
lrwxrwxrwx 1 root root 0 May 2 12:44 sdb -> ../devices/pci0000:00/0000:00:0d.0/ata2/host1/target1:0:0/1:0:0:0/block/sdb
lrwxrwxrwx 1 root root 0 May 2 12:44 zram0 -> ../devices/virtual/block/zram0
그리고 다시 빌드하는 커맨드는 아래와 같습니다. 3개 한꺼번에 사용하지 못합니다.
./my.sh DS1621+ manual
답변 감사합니다 한 번 천천히 시도 해보겠습니다
cmt alert