Jump to content
XPEnology Community

gnoboot

Member
  • Posts

    278
  • Joined

  • Last visited

Posts posted by gnoboot

  1. Just made a clean install of v1.0 on my test computer (ASUS P5KPL-AM SE, Q8200, 4GB, 160GB 2.5", Intel PRO1000 PT Server) to test iSCSI.

    After setup, I can create lun/target without error in DSM (few errors in the console about failed to mount boot device /dev/synoboot2/, I will try to fake it in the future).

    I can connect it with my Win7 Pro computer, reboot XPEnology, windows autoreconnect iscsi drive and vis-versa, read/write are about 90-100MB/s :smile:

     

    iSCSI works fine in lio mode after dsm setup without modifying anything. If someone can confirm on other hardware.

     

    BUT iSCSI support is broken in betas (too many things added, like virtualization, xen, kvm...), and I can't successfully build working iscsi modules :sad:

    I decide to restart from scratch with v1.0 config, and add things step by step to not break the iSCSI support.

     

     

    I notice with the new beta v1.4, that CPU temps seem to be stuck at 40c

    Normal Repack v1.0 temps change and read (I hope) properly :wink:

     

    With my ASUS P5KPL-AM SE temp is alway (with v1.0 and beta v4) stuck at 40c...

     

    confirm working with a clean config.

  2. Modifying DSM 4.3 synobios.ko in Linux.

     

    1. View the source code and look for the second 'ba ff ff ff ff' (25e1) in SetMicropId function using objdump.

     

    # objdump -S synobios.ko | less
    
    orig:
       25da:       e8 00 00 00 00          callq  25df 
       25df:       85 c0                   test   %eax,%eax
       25e1:       ba ff ff ff ff          mov    $0xffffffff,%edx
       25e6:       75 c4                   jne    25ac 
       25e8:       0f be 04 24             movsbl (%rsp),%eax
       25ec:       31 d2                   xor    %edx,%edx
       25ee:       89 05 00 00 00 00       mov    %eax,0x0(%rip)        # 25f4 

     

    2. Replace the next entry (25e6), change it from '75 c4 0f be 04 24' to '48 31 c0 b0 42 90' using xxd.

     

    # xxd -g 1 synobios.ko > synobios.hex
    # sed -i 's/75 c4 0f be 04 24/48 31 c0 b0 42 90/' synobios.hex 
    # xxd -r synobios.hex > synobios-edited.ko
    # objdump -S synobios-edited.ko | less
    
    edited:
       25da:       e8 00 00 00 00          callq  25df 
       25df:       85 c0                   test   %eax,%eax
       25e1:       ba ff ff ff ff          mov    $0xffffffff,%edx
       25e6:       48 31 c0                xor    %rax,%rax
       25e9:       b0 42                   mov    $0x42,%al
       25eb:       90                      nop
       25ec:       31 d2                   xor    %edx,%edx
       25ee:       89 05 00 00 00 00       mov    %eax,0x0(%rip)        # 25f4 

     

    3. To disable the logging message, find '80 7c 24 17 00' (395) and replace the next entry (39a) with 'eb d4' in synobios_poll function.

     

    # objdump -S synobios.ko | less
    
    orig:
        394:       c3                      retq
        395:       80 7c 24 17 00          cmpb   $0x0,0x17(%rsp)
        39a:       74 d4                   je     370 
        39c:       be 24 02 00 00          mov    $0x224,%esi

     

    # sed -i 's/80 7c 24 17 00 74 d4/80 7c 24 17 00 eb d4/' synobios.hex
    # xxd -r synobios.hex > synobios-edited.ko
    # objdump -S synobios-edited.ko | less
    
    edited:
        394:       c3                      retq
        395:       80 7c 24 17 00          cmpb   $0x0,0x17(%rsp)
        39a:       eb d4                   jmp    370 
        39c:       be 24 02 00 00          mov    $0x224,%esi

×
×
  • Create New...