Jump to content

Otto K

  • Posts

  • Joined

  • Last visited

Posts posted by Otto K

  1. On 1/19/2017 at 8:36 PM, thelongdivider said:

    Has any work been put into making other file systems accessible in the NX1/NX500?  In particular, I would like to use an Ext4 formatted SD card instead of an exfat one.

    Yes, I have compiled several modules and toyed with them and they work, even NFS mount works (but slowly, very slowly). I didn't want to modify root more than I had to so I put modules in /opt. Following is a proof of concept via file containing the ext2 file system.


    [root@drime5 ~]# ls -la /opt/usr/devel/modules/lib/modules/3.5.0/
    total 24184
    drwxr-xr-x 2 root root    4096 Oct  4 23:56 .
    drwxr-xr-x 3 root root    4096 Oct  4 23:09 ..                                                                                                                                                  
    -rwxr-xr-x 1 root root  102695 Oct  4 23:55 ansi_cprng.ko                                                                                                                                       
    -rwxr-xr-x 1 root root  758761 Oct  4 23:55 bt8887.ko                                                                                                                                           
    -rwxr-xr-x 1 root root  346648 Oct  4 23:55 c67x00.ko                                                                                                                                           
    -rwxr-xr-x 1 root root 3215833 Oct  4 23:55 cfg80211.ko
    -rwxr-xr-x 1 root root  844435 Oct  4 23:55 ext2.ko
    -rwxr-xr-x 1 root root  203361 Oct  4 23:55 isp116x-hcd.ko
    -rwxr-xr-x 1 root root  291720 Oct  4 23:55 isp1362-hcd.ko
    -rwxr-xr-x 1 root root  290897 Oct  4 23:55 isp1760.ko
    -rwxr-xr-x 1 root root 2333351 Oct  4 23:55 lockd.ko
    -rwxr-xr-x 1 root root  431148 Oct  4 23:55 mlan.ko
    -rw-r--r-- 1 root root   34781 Oct  4 23:56 modules.alias
    -rw-r--r-- 1 root root   40463 Oct  4 23:56 modules.alias.bin
    -rw-r--r-- 1 root root       0 Oct  4 23:56 modules.builtin.bin
    -rw-r--r-- 1 root root     493 Oct  4 23:56 modules.dep
    -rw-r--r-- 1 root root    1819 Oct  4 23:56 modules.dep.bin
    -rw-r--r-- 1 root root      52 Oct  4 23:56 modules.devname
    -rw-r--r-- 1 root root     131 Oct  4 23:56 modules.softdep
    -rw-r--r-- 1 root root   20085 Oct  4 23:56 modules.symbols
    -rw-r--r-- 1 root root   24561 Oct  4 23:56 modules.symbols.bin
    -rwxr-xr-x 1 root root 4122867 Oct  4 23:55 nfs.ko
    [root@drime5 ~]# dd if=/dev/zero of=/sdcard/ext2 bs=1M count=32
    32+0 records in
    32+0 records out
    33554432 bytes (34 MB) copied, 0.8888 s, 37.8 MB/s

    [root@drime5 ~]# mkfs.ext2 /sdcard/ext2 
    mke2fs 1.41.9 (22-Aug-2009)
    /sdcard/ext2 is not a block special device.
    Proceed anyway? (y,n) y
    Filesystem label=
    OS type: Linux
    Block size=1024 (log=0)
    Fragment size=1024 (log=0)
    8192 inodes, 32768 blocks
    1638 blocks (5.00%) reserved for the super user
    First data block=1
    Maximum filesystem blocks=33554432
    4 block groups
    8192 blocks per group, 8192 fragments per group
    2048 inodes per group
    Superblock backups stored on blocks: 
            8193, 24577

    Writing inode tables: done                            
    Writing superblocks and filesystem accounting information: done

    This filesystem will be automatically checked every 36 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    [root@drime5 ~]# modprobe -d /opt/usr/devel/modules/ ext2                  
    [root@drime5 ~]# lsmod

    Module                  Size  Used by
    ext2                   49246  0 
    sd8xxx                459501  1 
    mlan                  391219  1 sd8xxx
    cfg80211              172035  1 sd8xxx
    bt8887                722073  1 
    exfat_fs               27976  1 
    exfat_core             96435  1 exfat_fs
    [root@drime5 ~]# losetup -f
    [root@drime5 ~]# losetup /dev/loop1 /sdcard/ext2 
    [root@drime5 ~]# mount /dev/loop1 /tmp/ext2/            
    [root@drime5 ~]# df -h

    Filesystem            Size  Used Avail Use% Mounted on
    rootfs                507M  480M   23M  96% /
    /dev/root             507M  480M   23M  96% /
    devtmpfs               70M     0   70M   0% /dev
    tmpfs                 250M   28K  250M   1% /dev/shm
    tmpfs                 250M  824K  249M   1% /run
    tmpfs                 250M     0  250M   0% /sys/fs/cgroup
    tmpfs                 250M  2.2M  248M   1% /tmp
    tmpfs                 250M  2.2M  248M   1% /var/log
    tmpfs                 250M  2.2M  248M   1% /var/run
    /dev/loop0             22M   22M     0 100% /usr/share/locale
    /dev/mmcblk0p11        74M   35M   39M  48% /opt
    /dev/mmcblk0p14       2.3G  141M  2.1G   7% /opt/usr
    /dev/mmcblk1           30G   15G   16G  47% /opt/storage/sdcard
    /dev/loop1             31M   14K   29M   1% /tmp/ext2

    For example, to mount NFS from server A.B.C.D to store images directly to it (playback is very slow):

    busybox mount -o nolock,rw,hard,intr,vers=3 -t nfs A.B.C.D:/mnt/export /opt/storage/sdcard/DCIM/

    So, it can be done, but it will be unmounted every time the camera goes to sleep, etc. It can be remounted using auto scripts from keyscan or more feature complete custom mod pack.

    I wanted to make encrypted container and mount it to DCIM but I haven't had free time lately (it's entirely doable, openssl shows up to 50MB/s depending on the algorithm). 

    type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
    rc4              41978.37k    46139.88k    47931.48k    48086.52k    48323.96k
    aes-128 cbc      20183.59k    21377.81k    21916.21k    21961.44k    21975.41k
    aes-192 cbc      17364.14k    18274.48k    18664.45k    18798.15k    18802.16k
    aes-256 cbc      15348.79k    16012.25k    16353.15k    16344.79k    16396.00k
    type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
    des cbc          12303.37k    12949.75k    13082.44k    13153.05k    13177.24k
    des ede3          4694.62k     4808.55k     4812.70k     4835.26k     4821.14k
    blowfish cbc     21719.40k    24047.88k    24643.79k    24752.36k    24857.40k

    All that said, it turns out that performance wise (ex)FAT is very efficient and you wouldn't get better performance using other file systems (I did not test F2FS though).

  2. You can use ecryptfs which produces "normal" files just with scrambled names and contents (used for example by Ubuntu if you select encryption of the home directory during the install) as well as block level encryption (see LUKS and Librecrypt for Windows use) that can work either on a complete card, a partition or use a file on the card as a block device. Both are vastly better than encryption after the image was saved. 

    Also an option is to use network share to store photos so nothing is on the camera either way (but it's quite slow, around 3MB/s so ~4s per full resolution jpeg). 

    The problem I have with nx500 is that it hangs if it cannot open the file it thinks exists (even the simple deletion from terminal can confuse playback). 

  3. Camera does not know actual distance, I've wanted to calibrate my lenses (it's straight forward procedure to record reported focus values at exact distances from the sensor at, let's say, 5 points and interpolate the others as it's not linear) but never had the time. We would also need to find a faster way to get focus distance value as the current method takes ~0.3s which is too slow. 

  4. I measured roughly some time ago and got ~8ms rolling shutter for 2.5k on NX500. All other modes (FHD, UHD, 4K) were 24-30ms.

    Could someone else verify that and could someone more experienced than me guesstimate whether it's skipping lines, binning, etc? Occasional weird horizontal line pattern suggest it might skip lines but I'm not sure how to check properly. 

  5. @sandro I created a small tool that shows a button with black background and white text at given position and size that enables one to have on screen "button" for REC or SHUTTER or whatever. 

    You could use it as it is as a "black screen" (just set the text to " " and position to 0 0 and size to 720 480) and to start the time lapse. I do it often to preserve the battery (AMOLED uses almost nothing for black screen). To remove it from screen just press and hold it for 5+ seconds. I also made a separate tool for time lapse that can have black screen as well as black screen with small red frame counter (useful). It can also make short videos instead of photos (let's say 10s video every 2 minutes, etc). 

  6. @kidzrevil Can't speak for others but I have nx500 so no evf from me :)

    Great work Luca, I tried something similar (but much more primitive) with m42 a long time ago but I was unable to position the added elements precisely enough and got mostly useless results - your results are very positive!

    Regarding canon vs nikon - yes it is true that due to longer flange straight adapter will not work, but let's wait and see how much of the space is actually used by this adapter - it might be doable to shave a millimeter or there and get canon lenses to work. 

  7. Download this file https://github.com/ottokiksmaler/nx500_nx1_modding/blob/master/video-bitrate-mods/nx-patch/nx-patch.zip?raw=true

    And extract it to SD card root so that the file info.tg is in the root directory of your SD card. I don't have a Mac but I guess this should be trivial from any file manager. 

    *absolutely read the Readme file*

    Then put SD card in camera, remove battery, reinsert the battery and power the camera on. Follow the instructions. 

  8. FWIW, we seem to now have a method to make bitrate mods permanent (in hibernation image) so independent of Bluetooth and similar. But this currently applies only to bitrate mods (but should apply to 2.5k on NX500 as well). Other mods still depend on Bluetooth. We are all working on further improvements. 

    See here for more information 


  9. @kidzrevil they didn't close the hole we are using, mods work fine, but due to changes in firmware the bitrate hacks don't work (as they work with messing with memory locations of already running process, etc).

    Enabling 2.5k on nx500 works when adapted to new memory locations (already done by Kino Seed). 

    You just have to wait and see what happens, but if you need higher bitrates don't update yet. 

  10. 30 minutes ago, Garth Philpot said:

    ok, I have installed 1.67b, after a card format. it installs successfully, and it brings up the version number. still no difference for me (EV+ OK). what should this new menu look like ? perhaps I am just not seeing it and its a small icon or something ? do I have to have completed the dev menu unlock that i read somewhere back in this forum for this to work correctly ? thanks

    Dumb question, but you do it like this : press EV, click OK while EV still pressed, release EV?

  11. @sandro sure, that's what I'm doing. Nx1/nx500 are running tizen 2.2 Linux with full stack X and built in EFL toolkit (terrible toolkit, but that's what it's got). It would be possible to cross compile Qt and use that as well as other usual suspects like wx and the like. 

    For storage on camera, you have read write partition under /opt and of course /mnt/mmc. If you take a look at my github you will see several examples (like small utilities fit focus stacking, popup prompt windows, etc). 

  • Create New...