2015年9月12日 星期六

sony SEL1018

這顆鏡是買進 A7 後第一顆自動鏡頭, 因為謠傳說它在 A7 上可以使用 11-17mm. 會選用這顆鏡, 簡單來說就是因為它是 APS-C 鏡.
這篇就是要講它的實用性怎麼樣. 要在 A7 上使用它, 記得跟這張圖一樣把遮光罩拿掉, 否則你會只有 14-16mm 可用而已. 首先先來看暗角的情況. 以下光圈都是開 f/22.

10mm. 不用看了

11mm: 這個暗角是無法還原的, 但已經可以在某些場合中使用.

12mm:

13mm:

14mm:
  
15mm

16mm:

17mm:
 18mm:

實拍 11-14mm, 11mm:

12mm:

13mm:

14mm:

乍看之下 12mm 開始到 14mm 都算可以用, 但實拍時其實有不少暗角影響:
強光場合下 12mm 暗角非常明顯, 即使光圈開到最大
14mm 其實也會很明顯, 嚴格講起來不能算可用焦段...


既然明知道有暗角為什麼還要拿 APS-C 鏡硬上 FF 機器呢? 我的理由很簡單..
1. 偷雞摸狗. FE 到現在並沒有 15mm 廣角可用, 但裁到 APS-C 就有. 這樣的話為什麼一定非要用 FE 鏡不可? 也許有人非全片幅鏡頭不用, 但我不會給自己這樣劃地自限.
2. 它輕. 225g 比福倫達 12mm f/5.6 的 230g 還輕, 福倫達的還不含轉接環的重量, 更別說對比對焦 16mm 以下焦段合焦提示能力會幾乎全部消失這個問題.
3. 以我的超廣角的應用來說, 用的不多, 但一定會用上, 也就因為它少用但又沒它不行, 減輕重量在少用的焦段演變成一種必需.

好, 那有沒有救呢? 有的. 但目前只試到 lightroom 可以修. 這是原始圖, 焦段12mm, 光圈 f22:

這是 lens corrections, lens vignetting 調到 90 後的結果:


如果不顧四個角落的畫質的話, 對我來講這樣是可以用的. 不過荷重允許的話, 這個焦段我仍舊會交給 sigma 8-16mm + D90...

這顆鏡另一個特色是星芒, 這是正對太陽時, 不需要縫卡, 直接縮光圈拍就可以:

夜間的. 近距離光源. 忘了開裁切. 18mm:

10mm:

遠距離光源, 18mm + APS-C
 10mm + APS-C 裁切
11mm 端測試照片:

10mm APS-C crop 測試:

拜廣角之賜, 對比好拉顏色豔麗, 橫定光圈 f/4 好拉快門重量又輕, 這種好東西只有 APS-C 鏡才會有 (寫這文章時 FE 在 15mm 廣角端還是缺席的..), 老實講我不知道有什麼理由要去排斥 APS-C 鏡.

2015年9月3日 星期四

flange distance correction lens

這個實驗很久以前就想做了, 只是一直到有 sony A7 後才能做裁切比例比對.
canon FD to Nikon F: 約 x1.52, 跟增距鏡幾乎沒什麼兩樣:
當然的, 快門也會降一級.

這個是 M42 to Nikon F, 約 x1.05, 損失很少:

canon FD 是 50mm f/1.8 s.c., M42 是 helios 44-2. FD 的鏡後距校正鏡片也並不會都是缺點, 最少無限遠端的表現有相當的提升:
http://yoko-hama.blogspot.tw/2013/08/m43-to-e-mount.html
還有什麼實驗想做歡迎提出.

2015年8月29日 星期六

SEL-P1650 Sony E 16-50mm f/3.5-5.6 OSS PZ

機身是 A7, 機身 firmware 是 2.0, 鏡頭我沒看.
PDAF 可以動作, OSS 不支援. 鏡頭不是我的所以沒有圖. 就這樣.

2015年8月16日 星期日

M4/3 to E-mount adapter

這是一個很特異的產品, 也是目前唯一一種 MILC mount convert adapter. (右邊那個, 左邊那個是 EOS to M4/3 轉接環, 裡面有光圈葉片, 後述)

這種轉接環有幾個限制, 1. 鏡尾不能太寬, 就像這張圖裡的接環, 還在它容忍範圍內. 上一張 EOS 那種轉接環就因為鏡尾太寬無法轉接. 2.接上機身, 或接上鏡頭蓋時, M4/3 那端此時無法卸除.

EOS to M4/3 這個接環這次沒辦法測試.

當然 M4/3 轉接 NEX 是為了被轉接或改裝成 M4/3 mount 的手動鏡頭而來, 這種手動鏡頭的成像範圍可以函蓋到 APS-C 或 FF, 這樣轉才有意義. ok, 那這種轉接環被轉接上 FullFrame E-mount (FE) 時會有什麼結果呢? 免 google 了, 你找不到的. 我現在就貼實拍結果.

M42 to M4/3, Helios 44-2 (58mm), f/16. 這個還看不出暗角.

Canon FD to M4/3, Canon 50mm f/1.8 S.C., f/16, 也還看不出暗角:

Nikon G to M4/3, Nikon 16-35mm, 16mm, f/22. 開始出現暗角了.

同一顆 16-35mm, 35mm端 f/22, 暗角開始明顯起來.

Nikon G to M4/3, Tamron 70-300mm f/4-5.6 Di VC USD (A005), 300mm端 f/45 (不是 f/4.5..), 暗角很明顯而清楚.

2015/08/21 新增 65mm 長 M4/3 接寫環, 一樣 Tamron A005 f/45 下的測試:
也就是說:

  1. M4/3 用的轉接環 E-mount 可以全數繼承而且絕大部份情況下使用沒什麼問題. 
  2. 其實 M4/3 這個 mount 成像部份其實可以涵蓋到 fullframe 區域,
  3. 看起來鏡後距 (flanger distance) 越長的會越不利.
有機會我還會再去試幾顆原生 M4/3 mount 手動對焦鏡掛到 FE mount 上用..

2015年7月29日 星期三

[draft] android 5.0.2 porting note

換到 android 5.0.2 後首先碰到的兩件事, 一個是 debug console 不能用 (在 selinux 為 permissive 或 enforcing 時), 一個就是 selinux 所需要的權限控制.

平臺以 freescale i.mx6 來說.

debug console 在一開始 lunch project 時選擇 -eng 如 sabresd_6dq-eng 這時才能打開, 而且前提是 selinux 是 enforcing 設定的前提下打開. 否則選用 -user project 時 debug console 會被關掉. 使用 lunch sabresd_6dq-user 時 debug console 會被關掉, 而且同時也不能關 selinux, 這個問題目前無解.

前面這段一定有人會有疑問, 直接關掉 selinux 就好了幹麻又要 debug console 又要開 selinux? 是的, 就是為了專程來 debug selinux 的設定. 在講 selinux 相關筆記時再來提個東西. selinux 有兩種運作模式, permissive 跟 enforcing, android 可以在 kernel parameter 中設定:
androidboot.selinux=permissive
androidboot.selinux=disabled
androidboot.selinux=enforcing
三選一. disabled 就是關掉, 關掉後我也沒辦法在 android console 下用 setenforce 再打開...

再來講到幾個設定檔, 目前僅知的有

  1. BoardConfig.mk, 為什麼先提這個? 因為 BOARD_SEPOLICY_DIRS 要在這裡定義, 這個變數定義著您自訂的 sepolicy 要放在哪裡. 一般來說已經 porting 好的 BSP 裡面都還會再有一大票自定義 selinux 條文, 會整理在一個地方, 為了保留原始設定方便改壞掉時還可以回去參考, 建議 copy 出來一份擺到別的地方, 再指過去. 
  2. *.te, te 檔裡定義幾個東西 
    1. 型別, 從 external/sepolicy 裡原本已經定義的幾個型別裡再繼承出來, 不過我用到的只有 sysfs 跟 proc, 其它還沒用過. 如: 
      • type sysfs_led, fs_type, sysfs_type;
    2. 權限. allow 跟 neverallow (絕不放行, 權限在 allow 之上, 編譯時要特別注意錯誤訊息裡有沒有這東西) 哪些類別的 app (init, init_shell, system_app, untrusted_app 等) 可以存取到什麼樣的權限 (read, write, search, ....). 如:
      • allow untrusted_app sysfs_led:file rw_file_perms;
  3. file_contexts, genfs_contexts 以及一些 contexts 相關的, 這個網路上文章很多也抄來抄去, 很好找所以其它沒講的就不提了. file_contexts 是宣告路徑為哪一個型別所有, 這裡沒有定義的, selinux 通常都是封鎖存取權限. 舉個例子: 
    • /sys/devices/soc\.0/gpio-leds\.66/leds/green/brightness u:object_r:sysfs_led:s0
  4. 定義型別 (sysfs_led) 就是前面講的 .te 檔案裡所述, sysfs_led, untrusted_app 這些都是在 .te 檔裡宣告. 

除了這些以外, debug console 下的 ps -Z 與 ls -Z 的 selinux 型別列表, 是非常重要的 debug 工具 (所以前面一直提 selinux 必需要開著 debug console 也要開著, 否則使用 -Z 什麼都不會顯示).

這裡講 file_contexts, file_contexts 有它自己的特殊語法, 我目前找不到它專用特殊語法的任何說明, 就僅知 "." 一定要用 "\." 替代,  否則後續的檔案定義會大亂. 句號是它的保留字,  "+" "[" "]" "^" "?" 這些也都是它的保留字, 但作用我不知道. 引一個例子來說:
/sys/devices/soc.0/gpio-leds.66/leds/green/brightness u:object_r:sysfs_led:s0
你要在 file_contexts 裡寫成:
/sys/devices/soc\.0/gpio-leds\.66/leds/green/brightness u:object_r:sysfs_led:s0
這個樣子, selinux 才可以認的到.
selinux 我不知道怎麼查已經被設定在 sepolicy 裡的規則檔案路徑怎麼敘述, 只知道一件事, file_contexts 設定如果沒有設定正確, 用 ls -Z 會看到
/sys/devices/soc.0/gpio-leds.66/leds/green/brightness 被設定成 u:object_r:sysfs:s0
如果設定正確, 以上 sysfs 字樣會是我們要設定的 sysfs_led

這裡如果沒有設定成功, .te 檔裡 allow 全部的東西也是不能存取, 所以很重要.

如果是一個目錄下所有的東西, 就會是這樣寫:
/sys/devices/soc\.0/gpio-leds\.66/leds/green/(/.*)? u:object_r:sysfs_led:s0
用 ls -Z 就可以看的到底下所有檔案全被設定成 sysfs_gpio.
至於為什麼要有那個句號, 為什麼 "?" 寫後面, 我不知道, 我也沒找到過任何說明, 知道的人可以補充的話我感激不盡.

還有, file_contexts 裡的東西只對實體檔案有效, 對重導向過後的連結不會有作用, 例如 /sys/class/gpio/gpioxx 這種有重導向過的東西就要貼實際路徑, 不能貼連結.

genfs_context 中因為是設定 /proc 下的檔案, 語法跟 file_contexts 有點不同, 例如:
genfscon proc /cpuinfo u:object_r:proc_cpuinfo:s0

  • /cpuinfo 是指 /proc/cpuinfo, 是省略性寫法, 要注意避過.
  • cpuinfo 是 folder, 不是 file, 被指定的 folder 那底下的所有檔案都會被套成 proc_cpuinfo.
file_contexts 可以直接改寫 out/target/ .... /root/file_contexts 這個檔後, 以 cpio 方式打包成 RAMdisk image 透過 u-boot 以 tftp boot 方式載入執行, 可以改到爽後再寫回到 BSP code 裡的設定, 其它的東西我是直接刷掉 system.img 檔案來觀察更改後的結果.

先到這裡, 這篇只是純筆記, 更接近實作的筆記可以參考這篇:
http://blog.csdn.net/yelangjueqi/article/details/46761987
google 寫的說明頁只負責交代定義, 很重要, 但看完背完就可以扔了.

150730: 找到一篇 file_contexts 的語法說明, 雖然還是有些保留字如 '^' 與 '+' 的作用沒說明, 不過已經足夠應付大部份應用. file_contexts 它跟標準 unix/linux 檔名保留語法有很多不同, 看了就知道. 有人需要我再試圖翻這種東西
http://selinuxsymposium.org/2007/slides/03-fcglob.pdf

2015年6月21日 星期日

sigma 8-16mm 送修

原始的故障情況很簡單, 變焦環轉到 10.5mm 以下後 (例如轉到 8mm) 機身只能讀的到焦長為 10.5mm, 但實際看到拍到的卻是 8mm 焦段. 這東西我不知道怎麼拆, 而且還在保內 (其實只剩 12 天到期) 就寄回恆伸. 寄去還沒過完一個禮拜....

早上醒來踢到一箱瓦斯

包裝內含有瓦斯一筒

瓦斯筒近照

我絕對不會說我是來灌水的zzz

2015年6月18日 星期四

[draft] [ubuntu] failsafe.conf

僅知 ubuntu 12 & 14 有這東西
/etc/init/failsafe.conf
被啟動的條件目前不清楚, 只知道這鳥蛋東西可以造成開機時 20+40+60 = 120 秒完全不工作的延時. 找到後把裡面 sleep 全 remark 成註解掉....