1. 服务器/VPS/主机用户Telegram电报群: https://t.me/openos
    黑群晖 Synology Telegram电报群: https://t.me/nasfan
    排除公告

TS453Dmini引导分享DS920+ v7.0.1和v7.1.0,完美识别硬盘,顺序正常。

本帖由 SoraLike2022-05-01 发布。版面名称:群晖 Synology DSM

  1. SoraLike

    SoraLike Member

    注册:
    2018-04-05
    帖子:
    42
    5.3 18:24
    据坛友反映,7.1.0的无法使用AME2.0解码器,所以再分享一个7.0.1的920引导,内置真实序列号和网卡mac,测试可以硬解。
    链接: https://pan.baidu.com/s/1NPy5leHX-LT5aPFvWzFb4Q 提取码: ma8f

    5.2 0:40
    之前发的引导文件里面有个地方没改
    netif_num=1, 请自己改成netif_num=2
    这里是双网卡的。
    这是修改好的7.1.0的920引导
    链接: https://pan.baidu.com/s/1RLvvUdhRMNueuYrO3bMDmg 提取码: se97

    5.1 22:45
    编译过程
    代码:
    ./rploader.sh update now
    ./rploader.sh fullupgrade now
    ./rploader.sh serialgen DS920+
    ./rploader.sh identifyusb now
    ./rploader.sh satamap now
    //此处生成的satamap是错误的,自己修改tc目录下的user_config.json
    //改成    "SataPortMap": "22",    "DiskIdxMap": "0002"
    [​IMG]
    
    ./rploader.sh ext geminilake-7.0.1-42218 add https://raw.githubusercontent.com/pocopico/rp-ext/main/r8125/rpext-index.json
    
    ./rploader.sh build geminilake-7.0.1-42218
    
    ./rploader.sh clean now
    
    ./rploader.sh ext geminilake-7.1.0-42661 add https://raw.githubusercontent.com/pocopico/rp-ext/main/r8125/rpext-index.json
    
    //在这个阶段把修改好的ds920p.dts 文件放进 ./redpill-load 文件夹
    //ds920p.dts 完整代码这个链接 https://www.openos.org/threads/ts453dminids920-v7-1-0-42661.4239/page-3#post-55308
    //删除rploader.sh 脚本中的以下下代码
    
    
    
    代码:
    echo "Collecting disk paths"
    for disk in $localdisks; do
    diskpath=$(udevadm info --query path --name $disk | awk -F "\/" '{print $4 ":" $5 }' | awk -F ":" '{print $2 ":" $3 "," $6}' | sed 's/,*$//')
    diskport=$(udevadm info --query path --name $disk | sed -n '/target/{s/.*target//;p;}' | awk -F: '{print $1}')
    echo "Found local disk $disk with path $diskpath, adding into internal_slot $diskslot with portnumber $diskport"
    if [ "${dtbfile}" == "ds920p" ]; then
    sed -i "/internal_slot\@${diskslot} {/!b;n;n;n;n;n;n;n;cpcie_root = \"$diskpath\";" ${dtbfile}.dts
    sed -i "/internal_slot\@${diskslot} {/!b;n;n;n;n;n;n;n;n;cata_port = <0x$diskport>;" ${dtbfile}.dts
    let diskslot=$diskslot+1
    else
    sed -i "/internal_slot\@${diskslot} {/!b;n;n;n;n;n;cpcie_root = \"$diskpath\";" ${dtbfile}.dts
    sed -i "/internal_slot\@${diskslot} {/!b;n;n;n;n;n;n;cata_port = <0x$diskport>;" ${dtbfile}.dts
    let diskslot=$diskslot+1
    fi
    done
    
    //编译过程中,如果提示有新的repo 更新,一定要记得选择n,否则上面删除的代码又会被回复。 ./rploader.sh build geminilake-7.1.0-42661 sudo filetool.sh -b sudo reboot



    5.1 22:00

    威联通TS453Dmini U盘引导镜像
    链接: https://pan.baidu.com/s/18fYV3bfu6G3NZ38GOnBP6Q 提取码: 9esg

    自己修改pid和vid,其他不需要动。

    已经解决了,硬盘顺序正确,

    [​IMG]

    5.1 17:00
    目前硬盘识别错误,有硬盘不识别。。
    编译的固件版本是DS920+ 7.0.1 或者7.1

    编译命令
    ./rploader.sh satamap now
    结果
    HBA: 00:12.0 Disks : 2
    HBA: 00:13.0 Disks : 12
    SataPortMap=212
    DiskIdxMap=000C
    自动生成的硬盘端口map似乎是错误的

    ll /sys/block/

    lrwxrwxrwx 1 root root 0 May 1 07:10 sda -> ../devices/pci0000:00/0000:00:12.0/ata1/host0/target0:0:0/0:0:0:0/block/sda
    lrwxrwxrwx 1 root root 0 May 1 07:10 sdb -> ../devices/pci0000:00/0000:00:12.0/ata2/host1/target1:0:0/1:0:0:0/block/sdb
    lrwxrwxrwx 1 root root 0 May 1 07:10 sdc -> ../devices/pci0000:00/0000:00:13.0/0000:01:00.0/ata3/host2/target2:0:0/2:0:0:0/block/sdc
    lrwxrwxrwx 1 root root 0 May 1 07:10 sdd -> ../devices/pci0000:00/0000:00:13.0/0000:01:00.0/ata4/host3/target3:0:0/3:0:0:0/block/sdd

    lspci -nnq

    00:12.0 SATA controller [0106]: Intel Corporation Celeron/Pentium Silver Processor SATA Controller [8086:31e3] (rev 06)
    00:13.0 PCI bridge [0604]: Intel Corporation Gemini Lake PCI Express Root Port [8086:31d8] (rev f6)
    01:00.0 SATA controller [0106]: ASMedia Technology Inc. Device [1b21:0625] (rev 01)

    [0:0:0:0] disk ATA WDC WD80EZAZ-11T 0A83 /dev/sde
    [1:0:0:0] disk ATA LITEONIT L8T-256 10D /dev/sda
    [2:0:0:0] disk ATA WDC WD10EZEX-60M 1A03 /dev/sdb
    [3:0:0:0] disk ATA ST2000LM003 HN-M 0001 /dev/sdc
    [14:0:0:0] disk SanDisk Ultra Fit 1.00 /dev/sdd


    尝试
    1 修改grub.cfgSataPortMap 和DiskIdxMap
    无效,安装后删除也无效?
    2上传ds920p.dts 到./redpill-load目录,然后编译
    无效,编译后,发现./rploader.sh会 自己替换掉我上传的修改版dts。。。
    https://www.openos.org/threads/b-ds920-v7-1-0-42661-4.4178/
    [/code]
     
    最后编辑: 2022-05-03
  2. linbiean

    linbiean Member

    注册:
    2022-03-12
    帖子:
    43
    如果你不确定自己SATA口的地址,
    ls /sys/block/
    然后挨个查询
    cat /sys/block/sata1/device/syno_block_info
    引导不再依赖 SataPortMap、DiskIdxMap,这两项参数已经去除了。

    把具体的结果发出来,才能试着帮你解决
     
  3. SoraLike

    SoraLike Member

    注册:
    2018-04-05
    帖子:
    42
    已经解决了,是ds920p.dts文件和编译脚本的问题,
    我修改了dts文件后,原始脚本编译的时候会把dts改成错误的。。。

    我把rploader.sh里面的 这段代码删掉后重新编译,就好了。
    [​IMG]
     
    已获得 osx 的点赞。
  4. fwhub

    fwhub New Member

    注册:
    2021-08-20
    帖子:
    23
    老哥 我也是为联通453dmini 也正在搞7.1引导 你这边能给我发份引导嘛?
     
  5. SoraLike

    SoraLike Member

    注册:
    2018-04-05
    帖子:
    42
    迟点发,现在不在家。
     
    已获得 fwhub 的点赞。
  6. fwhub

    fwhub New Member

    注册:
    2021-08-20
    帖子:
    23
    那老哥 你能简单的讲下这个dts文件怎么改嘛 我看他的这个硬盘数量都对啊 这个pcie_root = "00:12.0";也对啊 为啥编译完之后他网页找不到IP呢?
     
  7. SoraLike

    SoraLike Member

    注册:
    2018-04-05
    帖子:
    42
    4个接口顺序是这样的。
    pcie_root = "00:13.0,00.0";
    ata_port = <0x00>;

    pcie_root = "00:13.0,00.0";
    ata_port = <0x01>;

    pcie_root = "00:12.0";
    ata_port = <0x00>;

    pcie_root = "00:12.0";
    ata_port = <0x01>;
    编译找不到IP,是不是你没加驱动?
    ./rploader.sh ext geminilake-7.1.0-42661 add https://raw.githubusercontent.com/pocopico/rp-ext/main/r8125/rpext-index.json

    这条命令是加r8125网卡驱动的。
     
  8. fwhub

    fwhub New Member

    注册:
    2021-08-20
    帖子:
    23
    那他这个自动生成的dts文件其实是对的只不过是顺序不对 是么? 另外还要更改脚本防止dts文件被覆盖?
     
  9. SoraLike

    SoraLike Member

    注册:
    2018-04-05
    帖子:
    42
    pcie顺序和sata port都是错的
     
  10. fwhub

    fwhub New Member

    注册:
    2021-08-20
    帖子:
    23
    还需要改sata port??这个参数不是不控制硬盘了吗? 刚才我试着编译了下 还是只识别后两个硬盘3 和4