2018年10月9日 星期二

MacBook Pro Retina 2015 送修

工作用電腦是 MacBook Pro (Retina, 13", Early 2015) 客製頂規,是在前年六月訂購的,可以看之前的開箱文 MacBook Pro Retina 螢幕抗反光鍍膜脫落的問題大家都知道,蘋果也提供了保固內免費更換一次螢幕的機會,而我這一台碰到的問題分別是螢幕鍍膜脫落跟電池膨脹

螢幕鍍膜脫落的情況是它會跟鍵盤摩擦到導致有類似鍵盤邊緣的痕跡、邊緣也都脫落,電池膨脹是這一陣子發現底座碰不到桌面都是整面接觸,拆開清灰塵才發現電池膨脹,但觸控板都沒異常就是了

本來鍍膜脫落是想說睜一隻眼閉一隻眼,但電池膨脹就打算儘快送修了(電池可能會頂到觸控板的控制板導致異常),因為當初購入時有順便購買 AppleCare 加保至明年六月,就給它送修去


2018_09_24_165648
膨脹的電池組,循環數 487,可用容量為 81.9%
2018_09_25_185822
送修時拍攝的螢幕鍍膜脫落情況

想當然爾,Apple Store 101 能約到是奇蹟,拿去忠孝復興站附近的 Studio A 大安店送修比較方便

週二傍晚送件,週五下班前就發信通知我可以領回了,因為有加購 Apple Care,所以這次鍍膜脫落的螢幕(包含A跟B件)、膨脹的電池,還有鍵盤那一面(C件包括鍵盤)也是全新的,



維修報告書,可以看到螢幕總成跟電池、鍵盤與 C 件機殼的總成都更換了
2018_09_28_195146
全新的螢幕總成,蘋果上還貼著保護膜

但送修回來後,我發現 Caps lock 燈號不會亮,一開始我以為是輸入法選項導致他不會亮,後來我發現 MacBook 有點卡,打算關機之後做一次清理 NVRAM 跟 SMC 的操作,順便看一下 Caps lock 燈號會不會正常

然後 MacBook 就開不了機了

試過很多方法後,發現唯一解法是拆開機殼拔電池排線再插回去,然後插著電源就能正常開機,但如果是冷關機(完整關機)就需要再做一次拔電池才能開機,熱啟動(重開)是可以正常的

只好再跑一次送修流程


2018_09_28_220716
只有拆開機殼拔電池排線,才能在冷關機後重新開機

維修報告書,顯示電池異常,電池、鍵盤與 C 件機殼的總成再次更換

StudioA 工程師給的回覆是「那組電池」是不良品

至於信不信,我是不太信啦,替換的新品是不良品機率是多少

不過至少 MacBook 回來了,有全新的螢幕、電池跟鍵盤(應該說扣掉主機板跟固態硬碟幾乎都換了

2018年9月23日 星期日

iPhone Xs 256GB 開箱

出門回家,踢到 iPhone Xs(大噓

2018_09_23_224738
包裝盒正面,這種用桌布把瀏海遮住是蠻微妙的(因為還看到鏡頭
2018_09_23_224802
側面的 iPhone,金色字體
2018_09_23_224820
背後是一如往常的規格與說明

我是不建議 iPhone X 的用戶升級到 iPhone Xs 或是 iPhone Xs Max,蘋果的產品如果要享受到最大的使用體驗提升,建議用隔代換機的節奏,不只使用體感上的體驗提升很大,對錢包的負擔也輕很多

2018_09_23_224904
打開盒子後看到收納退 Nano-SIM 托盤針與簡易說明書、貼紙的紙匣
2018_09_23_224922
拿開紙匣後會看到 iPhone Xs 本體
2018_09_23_224946
背後的說明是列印在可以撕除的透明貼紙上
2018_09_23_224958
鏡面的背面,是淡金色的烤漆
2018_09_23_230800
拆掉保護膜之後是漂亮的金色鏡面

iOS 11 之後,蘋果導入可以轉移加密資料(例如 Face ID、健康資料、鑰匙圈)的無線轉移方式,透過這種方式,可以直接把無線網路密碼、密碼鑰匙圈等等直接轉移到新手機上,而不用在換機後逐一重新設定跟輸入

當然,你還是需要位在電腦上的 iTunes 備份完整備份,除了預防萬一轉移失敗,也可以加速還原備份過程


2018_09_23_225046
打開 iPhone Xs 放在 iPhone X 旁邊
2018_09_23_225052
解鎖 iPhone Xs 開始設定之後,iPhone X 會彈出一個詢問你是否要設定新 iPhone 的提示
2018_09_23_225056
看起來像是這樣
2018_09_23_225106
在 iPhone Xs 上會出現一個動態的圓形圖示,用 iPhone X 上的相機視窗去拍攝,進行手動認證

2018年7月25日 星期三

使用 LM317 製作風扇轉速控制器

之前的文章裡有幫 Alcatel-Lucent I-040GW 數據機跟 Raspberry Pi 3 樹莓派開發板安裝風扇,那個時候是直接從樹莓派的 USB 埠取電源

但是 USB 的電壓為 5V,而且電流量也沒多大,因此 12V 風扇總是轉的不快,雖然說以數據機跟開發板來說已經夠了,但不禁在想,有沒有辦法可以直接驅動兩顆 12V 風扇,而不是從樹莓派抽取電源,而且能夠控制轉速呢?

「diy fan controller」為關鍵字去查詢,你會發現很多人有類似的想法,也有很多可以讓你實作的示範,只要你會用電烙鐵,有一定的基本電學知識,那其實還蠻簡單的,如果是會用電烙鐵的人說不定可以很快的就焊好一片

風扇控速分成兩大類,分別是 PWM 調速跟電壓調速, PWM 調速需要有支援的風扇來達成,而電壓調速大部分風扇都可以達成,除非你要複雜到從轉速線回傳轉速然後控制電壓,但那樣還蠻複雜的,而且沒效率

而電壓調速的部分,大部分都是用 LM317 這顆線性電壓調節器去實作,其實蠻簡單的,我參考的是老外的實作,跟國內的小宗宗の部屋

要注意的是 LM317 在這裡的應用屬於線性電壓調節器,也就是說電壓差會直接轉化成熱量消耗掉,因此一定要注意散熱跟電源負載的問題,LM317 最高只能承受 1.5A 的電流,所以你的供應、負載電流不能超過 1.5A,或是總功率 18W,而且一定要幫 LM317 安裝散熱片跟注意通風


2018_03_11_154650
安裝風扇的 Alcatel-Lucent I-040GW 數據機跟樹莓派開發板

上面兩篇實作偏向製作緊緻型,也就是善用立體錯作跟正反兩層的走線來達成最小體積,如果你不喜歡那麼緊緻,不論是怕使用電烙鐵跟銲錫時手殘,或是你想要利用現成的洞洞板來製作,都沒關係,隨意就好

零件就跟實作一樣,但我加入了電源指示燈的零件
  • 電晶體 LM317 線性電壓調節器
  • 電晶體散熱片,跟絕緣導熱貼片
  • 電阻 1K (1000 Ohms),1/8W,用在輸出電路跟控制
  • 電阻 550 Ohms,1/4W,用在電源指示燈的減壓
  • 可變電阻,10K
  • 電容器 0.1uF,50V,輸入端穩壓
  • 電容器 1uF,50V,輸出端穩壓
  • 發光二極體,顏色隨意
  • 風扇連接母座,至少要兩個
  • 洞洞板,格數至少要 18 乘以 10
  • 銅柱、螺絲跟螺母
下面是簡單圖解的電路圖
注意,電路圖中的電路是走在下方,也就是這些設計圖是從正上方往下看電路板,透視過零件與電路板看到走線



從實作中的電路圖解修改出的設計圖

如果用現成的洞洞板來製作,走線是這樣

尺寸也可以再稍微緊緻一點

如果要一次驅動兩個風扇,就在輸出端安裝兩組風扇連接母座

而在實際使用洞洞板實作前,可以先用麵包板來驗證電路是不是正確的,基本上只要風扇速度控制有成功,沒有零件短路燒掉或異常發燙(如果是 12V,那 LM317 很燙是正常的,所以要安裝散熱片),那就是成功了,接著就可以實際製作

2018_07_02_232528
用麵包板來驗證
2018_07_02_232538
旋鈕式的可變電阻,在實作時會換成薄膜式可變電阻

接著就使用洞洞板實作,洞洞板的優點是有預先鍍錫好銲錫,而且完成後還可以直接鎖上銅柱來固定

2018_07_03_212558
使用洞洞板完成的實作試驗
2018_07_03_201326
後面是使用料腳跟銲錫製作的走線
2018_07_03_201156
確定可以正常運作
2018_07_05_214146
如果你有美觀強迫症,你也可以用單蕊線來製作走線
2018_07_05_222542
但用單蕊線來製作走線也是有一定難度
2018_07_05_222242
量出需要的長度後,留一定餘裕然後剝除絕緣
2018_07_06_012232
而且單蕊線的絕緣皮對電烙鐵的高溫很敏感,很容易就變形跟破皮,因此可以斟酌,只在正極用單蕊線來走線

而電源的部分,因為我規劃的電路板初衷是避免線路交錯,因此要連接主機板的風扇母座供電時,不能直接沿用風扇的 12V 定義,要作反轉,把正極跟負極對調,如果從 USB 擷取 5V 也要注意腳位

當然你嫌麻煩,或是本來就設計成從外接電源供應器取 12V 的話,那就自己壓一個接頭吧


2018_07_05_165038
把 12V 電源供應器的接頭剪掉
2018_07_05_170148
剝除絕緣皮,套上熱縮套再壓接簧片,也可以敷少量銲錫強化
2018_07_03_222956
插上風扇連接頭之後再把熱縮套滑回去然後加熱固定,注意腳位跟一般風扇相反
2018_07_05_170352
要奢侈一點也是可以用編織套跟熱縮套搭配
2018_07_06_012208
測試自己壓接的電源供應器
2018_07_06_012352
測試可變電阻,最低時風扇停轉,這樣一下下就好,不然 LM317 會過熱燒毀
2018_07_06_012416
中等轉速
2018_07_06_012516
最大轉速,注意連續三張照片用作電源指示燈的 LED 亮度差異
2018_07_18_131402
在電路板背後用螺絲跟銅柱固定一片塑膠片來絕緣

再來是雙輸出的部分,這個就不可避免要讓走線出現立體交錯,當然洞洞板上面的路線間距是夠的,如果銲錫技巧沒有太差是不會短路的,如果真的很擔心就用單蕊線來走線,但這就很花時間跟手工,你會撥絕緣皮撥到很煩,所以可以的話,直接用料腳或是剝光絕緣皮的單蕊線來走線也是可以

2018_07_24_131016
雙輸出的實作
2018_07_24_131024
部分使用單蕊線來走線
2018_07_24_131058
改良,除了訊號線跟一小段地線之外都用料腳來走線
2018_07_24_161926
然後就可以安裝到你需要的地方了
2018_07_24_162030
正面也有安裝一片塑膠片來絕緣,記得留空間來插上風扇線、電源線,跟給 LM317 一點散熱空間
2018_07_26_135958
也可以幫之前購買的無風扇不斷電系統涼快一下
2018_07_26_140036
5V 風扇通常都有轉速高而且噪音偏大的問題,用調速就可以解決

大概就是這樣,好好享受手工藝吧

2018年6月15日 星期五

從 ASIC 礦機看數位貨幣的安全性

隨著以太幣、比特幣的價格上漲,在炒作的同時,也有許多人加入礦工的行列

而如果有去了解數位挖礦,就會知道有分成用顯示卡挖礦跟用礦機挖礦,而礦機一直是一個很有爭議的東西,而其中又以佔有最大市占率的比特大陸(Bitmain)最有爭議性

顯示卡挖礦就不說,先來解釋一下所謂的礦機,其通常是以 ASIC 晶片為架構,而早期則是以 FPGA 晶片為主
  • 特殊應用積體電路(Application-specific integrated circuit,ASIC)
  • 現場可程式化邏輯閘陣列(Field Programmable Gate Array,FPGA)
早期多半是使用 FPGA 晶片,把演算法電路設計好後再燒錄進去晶片裡面,所以多半是從硬體開發板修改而來,後期才出現一張電路板上安裝多顆 FPGA 晶片的訂製礦機



像是 Earthsoft PV4 這張日本製色差擷取卡就是以 FPGA 晶片作為演算核心

以 Spartan-3 XC3S200 FPGA 晶片為核心的硬體開發板當作礦機

之後也出現這種使用雙實體 FPGA 晶片的開發板礦機

後期則是出現了這種訂製的,堆疊大量 FPGA 晶片的礦機

然而 FPGA 跟人類一樣,終究有其極限的,FPGA 的優點是它的電路都可以重新燒錄跟抹除,但如果開發用途不變時,那沒用到電路就是累贅了,如果挖比特幣只需要 SHA-256 的加密演算,那其他功能的電路就是佔據空間的累贅,如果要在單位面積內堆疊更多的演算力,那就會演變到 ASIC 晶片


南瓜博士設計的 Avalon 算是最早的 ASIC 礦機

初次接觸比特幣等數位貨幣大概是 2013 年中旬,那時候都是以開發板衍生的 FPGA 礦機為主,比特大陸剛剛成立,南瓜博士的阿瓦隆(Avalon)剛設計完成在作原型機測試,比特幣的價格是美金一百五十,折合約新台幣四千六百

那時一台 ASIC 礦機都要台幣十萬,要購買還有很大的麻煩(多半是跨國貨運跟付款的問題),重點是大家都不確定比特幣會不會改演算法,如果改了,那所有以 SHA-256 演算為特化的礦機會直接變成廢鐵

但最後比特幣並沒有改變演算法,它分歧出去的分叉幣也多半是沿用這個演算法

當初賭了一把買礦機的人也多半暴富,也開啟了 ASIC 礦機壟斷算力的不歸路



比特大陸的螞蟻礦機 T9,ASIC 礦機

有些人會不懂為什麼礦機會這麼討人厭,甚至會理解成一種仇富心態,但這其實是不正確的

礦機,尤其是ASIC 礦機造成的最大問題,是算力的集中化,這與數位貨幣的開放、公平理念違背,而更大的問題是安全性

數位貨幣的區塊驗證制度,以比特幣來說是要持有接近過半的演算力,因此有所謂的 51% 攻擊,只要有過半的演算力是由惡意攻擊者持有,他就可以竄改挖出來的新區塊(因為數位貨幣不可逆的特性,他沒辦法竄改已經挖出來的區塊,但可以竄改新區塊)

下面用五個節點來示範數位貨幣的驗證制度,當然現實中的節點不會這麼少,但如果你把礦池當作是一個單一節點的話也可以這樣解釋



正常情況下每個演算節點都是個別持有,且承認新挖出來的區塊

如果兩個演算節點被同一個惡意攻擊者持有,即使他竄改來搶先挖出新區塊,也會因為沒過半被駁回

但如果他持有過半的演算節點,那他就可以達成所謂的 51% 攻擊

由於 ASIC 礦機在單位成本上與 GPU/CPU 挖礦相比,佔有壓倒性的優勢,因此較少數量(比較之下)的 ASIC 礦機就可能達成 51% 攻擊,考慮到大部分的礦機都是比特大陸的螞蟻礦機系列,且大部分算力都是在比特大陸的螞蟻礦池之下,這又在安全性上造成了更多疑慮
  • 如果大部分 ASIC 礦機都是同一家公司製造,然後管理軟體有同樣的安全性漏洞或是後門可以劫持?
  • 如果大部分 ASIC 礦機都是同一家公司製造且在同一個礦池之下,然後礦池的控制權被劫持?
在這兩個假設下,你就會發現 ASIC 礦機是一個很危險的東西

也因此,開發社群抵抗的從來就不是誰、或哪家公司因為賣出大量的挖礦設備而大賺硬體財,而是抵抗算力的集中化,要讓算力分散化,最簡單的方式就是盡量讓大家都可以用手上都會有的硬體挖,不論顯示卡、處理器或是智慧型手機,乃至於硬體開發板

而在同樣的資本投入下,建立 GPU/CPU 礦場與建立 ASIC 礦場一比,後者的壓倒性算力優勢造成了很大的不公平,也產生了上述的安全性問題

目前採用 PoW 機制(Proof of Work,工作證明機制)的數位貨幣如果沒有發展出抗 ASIC 演算法,則多半有這個問題,除非改成 PoS 機制(Proof-of-Stake,權益證明機制),來透過價格跟持有量壓制達成 51% 攻擊的難度

簡單說?買以太幣就對了(欸?