2015年12月26日 星期六

[雜記] Tamron A007 part2

簡單的說...

  • 用橡皮筋是對的
  • 用布膠帶是錯的
  • 要用鐵人膠帶, 而且還比較方便裁切

包了幾個月, 對焦環不會再掉下來了...


這顆就不多講了. 看到 Nikon 24-70mm VR 版後, 我決定還是拿這顆當旅遊鏡....

2015年12月6日 星期日

修修風扇軸承...

之前修風扇的手法都很簡單, 打開後蓋就直接上油, 就像這樣子:

這樣是不行的.
簡單的說, 把整個軸承組先拆下來, 前後都要:

拆下來後在軸孔裡上油...

就是這樣.

雜訊很多? 全片幅雜訊當然很多啊不然想怎樣......

2015年10月16日 星期五

CE hive registry (續)

其實後來發現. windows CE hive registry 從 5.0 以來就沒什麼改變, 本文講的是 CE 7.0, hive registry 儲存界面為 SDmemory. 因為 SDbus 在一開機時並不會載入, 所以需要另外加進 boot.hv 中. 但因為這些內容是擺在 Microsoft Windows core registry 中, 基本上個人並不建議去更動 (事實上隨著 Microsoft 的 update 這個檔內容也會一直修一直改, 改動它, 難保哪天做 update 時又再被改回來, 也就是說改它等於做白工), 所以另外做一個 sd_hive.reg 檔, 內容就從 common.reg 裡抄出來. common.reg 檔案在 C:\WINCE700\public\common\oak\files 裡.

再說一次因為很重要, 請從自己的 common.reg 裡 copy/paste, 因為每一版 common.reg 並不會完全一樣, 硬貼上我的版本是有機會開不了機的...

sd_hive.reg 內容, 紅色為必加內容.

; @CESYSGEN IF CE_MODULES_SDBUS
; HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\Drivers\Builtin\SDBusDriver]
   "Order"=dword:15
   "Dll"="SDBus.dll"
   "Prefix"="SDC"
   "ThreadPriority"=dword:64     ; default thread priority for dispatch thread
   "RequestListDepth"=dword:30   ; pre-allocated requests
   "IClass"=multi_sz:"{20FA98A8-B298-4b32-8D72-C716AEE2FA84}=%b","{6F40791D-300E-44E4-BC38-E0E63CA8375C}=%b"
   "Flags"=dword:1000
   "BootPhase"=dword:0
; END HIVE BOOT SECTION
; @CESYSGEN ENDIF CE_MODULES_SDBUS

; @CESYSGEN IF CE_MODULES_SDMEMORY
; HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]
....中略....
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\MMC_Class\High_Capacity]
....中略....
; END HIVE BOOT SECTION                     
; @CESYSGEN ENDIF CE_MODULES_SDMEMORY

以上 HIVE BOOT SECTION 與 END HIVE BOOT SECTION 為必加, 很重要.

再來的是 platform build 有一個環境設定的 .bat 檔裡加上

set PRJ_ENABLE_FSREGHIVE=1
set PRJ_ENABLE_REGFLUSH_THREAD=1
set PRJ_ENABLE_FSMOUNTASROOT=1

這幾個敘述, 但是 PRJ_ENABLE_FSREGHIVE 這個設定其實跟 PRJ_BOOTDEVICE_MSFLASH 和 PRJ_BOOTDEVICE_ATAPI 有關, 而這兩者都不設定時, 會被默認為 PRJ_BOOTDEVICE_ATAPI, 於是要再做一個 sd_plat.reg 註消在這裡面設定的內容.
sd_plat.reg 內容:
; HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\HDProfile]
    "MountAsBootable"=-
    "MountAsRoot"=-
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash]
    "MountAsBootable"=-
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash\FATFS]
    "MountAsRoot"=-
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MMC]
"MountAsBootable"=dword:1
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]
"MountAsBootable"=dword:1
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDHCMemory]
"MountAsBootable"=dword:1
;enable compress, unnecessary
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MMC\FATFS\Filters\CEFilt]
    "Dll"="cefilt.dll"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory\FATFS\Filters\CEFilt]
    "Dll"="cefilt.dll"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDHCMemory\FATFS\Filters\CEFilt]
    "Dll"="cefilt.dll"

IF PRJ_ENABLE_FSREGHIVE
[HKEY_LOCAL_MACHINE\init\BootVars]
    "Flags"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\ObjectStore]
    "MountAsRoot"=dword:1
ENDIF
; END HIVE BOOT SECTION

一般來講 mountasbootable=dword:1 如果有多處, 你就要確定這些東西開機時只會有其中一樣有作用. mountasroot=dword:1 這個就要小心, 如果設定在 storage/FS 上就會看到所有的根目錄都變成那個 storage 圖示. 在這裡是走預設掛到 RAMdisk 去. 如果看到範例裡設定一大票地方都 mountasroot=dword:1, 那表示這個是亂槍打鳥打中的, 哪天也會出包, 要小心.
以上都是系統的, 再來才是 BSP 外加的 SD host driver 加在 boot.hv 中, 例如:
; HIVE BOOT SECTION
IF BSP_SDHC 
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDHC]
   "Prefix"="SHC"
   "Dll"="omap_sdhc.dll"
   "Flags"=dword:1000
ENDIF BSP_SDHC
; END HIVE BOOT SECTION

在這裡 "Flags"=dword:1000 這句很重要, 再來是前面講的 HIVE BOOT SECTION 一定要加上.

然後在 platform.reg 裡加上剛剛寫的 registry file:
#include "$(_TARGETPLATROOT)\sd_hive.reg"
#include "$(_TARGETPLATROOT)\sd_plat.reg"
這樣, 再 build platform.

build platform 蓋好後可以用 show built image 這個功能打開 nk.bin 看 boot.hv

看boot.hv是否如預期要求加上需要的 registry.

如果不如預期, 可以改剛剛做的那兩個 sd_plat.reg 與 sd_hive.reg 後做 mage run-time image, 就可以一直驗證到滿意為止.
相關筆記可以參考這裡的文章:
http://processors.wiki.ti.com/index.php/Persistent_Registry_in_ARM-A8_BSP
ps. 如果開不了機, 需要注意是不是其它的 driver 擋到開機流程....

下次有時間我再來驗證走 USB storage 的...



2015年10月9日 星期五

jenova tw-3300 相機包

這個相機包其實我用三年以上了, 當初是因為它大才買它, 結果沒想到三年多來也沒有找到讓我覺的比這款更好用的... 然後這個背包條是今天才在賣場發現的. 首先先來看背包. 這是手機拍的, 只要知道它是背包就好, 其它不重要

很多笨重的相機包不知道為什麼會設計成單肩背包, 即使是整個包包重十餘公斤仍然設計成單肩, 我真的不知道做那種產品倒底有沒有實際使用過... 即使是這款, 兩機三鏡下去也可以到 10 公斤重. 這就是它的新外掛...

這張圖當然看不出來這外掛是幹麻用的, 繼續看下去. 登登! 背包出現了!!
掛起來大概就像這個樣子. 以背包來說, 這也不是啥小東西....

然後前面還可以再多掛一臺相機, 等於是你背包裡可以只放一堆雜物跟鏡頭就好.

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 成註解掉....

2015年6月9日 星期二

[android] orcale JDK

雖然 google 講說編 AOSP 可以用 openJDK, 可是我沒一次編出來東西能用的, 從 android 2.3.4, 2.3.7, 4.0.4, 4.2.2, 4.4.2, 4.4.3, 5.0.2 這些都是. 根據
http://blog.markloiseau.com/2012/07/how-to-compile-android-on-ubuntu-12-04/
的說法, 他也是因為無法成功編譯才換的. 以下環境為 ubuntu 12.04 與 14.04

  1. 首先先去 orcale 下載 JDK 包.
  2. 解壓縮到 /usr/lib/
  3. 假設您的 JDK 是 jdk1.7_79 就 ln-s /use/lib/jdk 1.7_79 /user/lib/jvm 這樣日後要切換 jdk 版本也迅速方便. (ps. ubuntu 預設就是用 /usr/lib/jvm, 所以記得千萬不要跟 openJDK 一起裝)
  4. 執行這些東西設定預設路徑:

update-alternatives --install /usr/bin/java java /usr/lib/jvm/bin/java 1;
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/bin/javac 1;
update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/bin/javaws 1;
update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/bin/jar 1;
update-alternatives --install /usr/bin/javadoc javadoc /usr/lib/jvm/bin/javadoc 1;
update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/bin/javah 1;
update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/bin/javap 1

update-alternatives --config java;
update-alternatives --config javac;
update-alternatives --config javaws;
update-alternatives --config jar;
update-alternatives --config javadoc;
update-alternatives --config javah;
update-alternatives --config javap;

這樣就可以.
可以用 java -version 確認版本.
至於這篇之所以現在才貼, 是因為最後兩個 (javah, javap) 在 android 4.4 裡有用到, 才注意到還欠這兩個東西. 5.0.2 就沒欠了, 之後的我不保證...

後記. android 5.0.2 AOSP 中會檢查是不是使用 openjdk, 要在這裡拿掉:
build/core/main.mk
(約 186 行處)
# Check for the current jdk
ifeq ($(requires_openjdk), true)
# The user asked for java7 openjdk, so check that the host
# java version is really openjdk
- ifeq ($(shell echo '$(java_version_str)' | grep -i openjdk),)
+ ifeq ($(shell echo '$(java_version_str)'),)
$(info ************************************************************)
$(info You asked for an OpenJDK 7 build but your version is)
$(info $(java_version_str).)
$(info ************************************************************)
$(error stop)

移除檢查後才能順利用 orcale JDK 去編. 至於 AOSP 為什麼一定要指定使用 openJDK 我就不知道了, google 是間很愛幹壞事的公司, 我也不想知道為什麼要這麼做....

2015年6月6日 星期六

[雜記] Tamron A007

這顆鏡頭因為既是常用焦段, 有夠大的光圈和目前唯一有防手振功能 24-70mm f/2.8 這些因素加總起來, 這顆一直是我非常常用的旅遊鏡, 雖然它成像很軟, 但它的方便性目前沒有可以取代它的東西. 當然啦, 東西用久了總是會有些問題..

其實我不知道本來就很少在用的對焦環為什麼可以脫落成這樣.... 變焦環倒是好好的一點事都沒有

後來進化到可以從前端直接掉出來.... 我就死馬當活馬醫的亂搞它.

就這樣給它箍了一個月 (因為我也忘了有這件事..) 後來拿出來試用, 對焦環橡皮圈有縮回去, 頗神奇. 但用沒多久就開始鬆垮. 於是我開始想些惡搞的手段開始惡搞它 -> 用膠帶黏. 既然要用膠帶, 第一個想到的是 sunpower 的鐵人膠帶, 但問過好幾間店都沒有 carbon 的款式, 只有很醜的純黑色, 那個純黑色就跟上面那張布膠帶幾乎完全一樣, 但布膠帶這樣一綑 45 台幣...

老實講我對這顆鏡頭的成像表現十分不滿, 惡搞它只是剛好而已. 就給它對焦環黏起來....

用起來還蠻順手的... 因為有膠帶綑綁著, 對焦橡膠環也不會再鬆開掉落 (目前是這樣啦..). 既然這樣, 我就很開心的把機身上任何看的到廠牌 / 型號的地方給它全貼起來....
我不能說 D600 相對於 D90 對我而言是降級, 我也對 D600 有點不滿
能撐多久好不好用, 就再觀察看看.... 最少這膠帶比鐵人膠帶便宜很多很多

ps. 布膠帶是錯誤的手法, 要可靠還是要用鐵人膠帶
http://yoko-hama.blogspot.tw/2015/12/tamron-a007-part2.html