2021年8月5日 星期四

DIY -- Filco 機械鍵盤加裝 Trackpoint 小紅點 (指點桿)

Filco Mechanic Keyboard with Trackpoint

先來一張完成照,土砲 DIY,無法顧及美醜,實用至上。固定滑鼠按鍵是用 PVC 線槽切割而成,保留灰灰的本色。雙色鍵帽是淘寶買的,有注音及倉頡輸入。

Filco 的鍵盤算是好改的,PCB 單純,只要移 3個二極體,固定好 Trackpoint 後,電路只要再加一個 PS2-to-USB converter 就搞定。


緣起

最先是在 Ducky 的機械鍵盤上加裝小紅點,用了快雨年,靜極思動,又想找點事情做。聽說機械鍵盤的終極是 Filco,俗稱大 F。就開始留心價格和那裡可以買,87鍵的台灣大都掛缺貨,淘寶有現貨在賣。可是要幾千元的東西要買大陸的東西,實在沒信心。另外,價格也實在很亂,中古用了 5年的也還可以賣 2千 ~ 3千。後來在 FB 社團有人賣一個近全新的 87鍵茶軸,3千元,立刻聯絡,一個鐘頭後就去帶回家了。

有東西在手,比較有實際的概念,可以依外觀研究加裝小紅點的可行性及難易,在搜尋如何拆解鍵盤時也較能瞭解說明的內容。要拆解鍵盤只要鬆掉一顆螺絲即可打開外蓋,但那顆螺絲就在保護貼下面。這個鍵盤離購買日期不滿一個月,若拆開就失去保固,實在有點可惜。

另外,也確定了可以直接當 PS2 鍵盤使用,而且 PS2-to-USB converter 可以正常運作。這樣在改裝時,就可以少一個 USB HUB,省事多了,所需空間也可以小一點。

終究我是要拆的,DIY 的過程會破壞什麼東西一切都是未知,想到有人在玩剪線鍵盤,就 Google 一下看看別人怎麼玩的。最後決定買剪線鍵盤來玩,可以放開手來改,不會心疼。第一次先買兩把 87鍵鍵盤,茶軸 (一代) 和紅軸 (二代)。收到後先拆二代的紅軸,接上線功能正常,就開始研究如何改裝,同時把新鍵盤上網拍賣,儘快賣給有緣人,不要浪費有限的保固期。

鍵盤矩陣

照例改裝前先留一張鍵盤矩陣圖,以防切斷一些線路無法復原。旁邊的數字是控制電路的Pin腳編號。

在 trace 電路過程,見識了日本人的堅持。聽說一代鍵盤使用 SMD二極體,二代改成傳統元件,而且所有的二極體都和按鍵焊在同一面,因此底面只有一個 5pin的臥貼焊接接頭。銅箔儘可能不穿越另一面,因此會看到很靠近的兩點,中間的銅箔繞了好遠好遠。

因為它在佈線上的堅持,改裝時只破壞了一條銅箔,移動三個二極體。上次改 iKBC 鍵盤時,鑽一個洞鑽斷背面的4條銅箔,而且不是靠鍵盤矩陣能復原的,不得已另外買一個全新的來測試才復原。

鍵盤控制電路在獨立的一塊小板子上,我買了好幾個鍵盤,有問題時,可以把控制板互換做交叉測試確定問題。


上面這塊是 Filco 迷彩版 (Majestouch-2 Camouflage-R) 的電路板,多了四顆固定螺絲,和固定鐵板互鎖。但這支也是我買的鍵盤中最新的版本,不確定以後的版本是否都有這幾顆螺絲。 

電路板清楚標示 USB 信號名稱,改裝時不用一直對照確認信號。FILCO 的鍵盤可以支援 PS2界面。

USB -- PS2 的信號對應  ==> D- -- Data,D+ -- Clock。

改裝

買過完整包裝 Filco 鍵盤的好處就是,知道它可以藉由一個簡單的轉換頭同時支援 PS2 協定。在改裝時,只要一個 PS2 to USB 的 converter 就可以搞定同時轉換 keyboard 和 mouse 的信號,不用在鍵盤裡再藏一個 USB HUB 來整合鍵盤和小紅點的信號,整個架構變得簡單多了。


連接方塊圖。小紅點模組的 Reset 信號很重要,漏接的話,通常不能正常運作。


找到的小紅點模組可以把力量感測器拆開,用 FPC 連接,FPC 可以折彎,方便把模組的電路板固定在適當的位置。鍵盤外殼只要磨掉一些加強的凸肋即可組裝,完全不用破壞鍵盤外殼,算是相當理想。

模組電路板的接頭間距只有 1mm ,勉強能夠焊接電線。原本想用電線和排線接頭來連接,可是一不小心電線就把焊接的銅箔帶起來,模組無法再焊線,也就報廢了,還真心疼。後來還是選擇使用 FPC 來連接,比較無法任意折彎,轉換板也很大,但還好塞得下。

鍵盤的外形前低後高,後面的空間比較大,把電路板都集中在後方,用雙面膠固定在避開凸肋的位置。力量感測器的固定板是用 1mm 厚的金屬板裁切而成,先鑽 1.6mm 的孔,再用 2mm 絲攻攻出螺紋。固定板用出遊時偶遇買的奈米膠固定,還蠻牢的。這奈米膠不耐高溫,要拆時可以泡熱水,或用熱風機吹就會軟化。使用時,奈米膠很容易就黏住手指,切記不要用力拔開,可用溫熱水慢慢把它軟化搓開。

為了固定力量感測器,影響到三個二極體,以及切斷一條銅箔,影響的範圍不大,用新的 IN4148 補焊上,以及加上跳線,鍵盤功能即恢復正常。

既然是剪線鍵盤,原來的連接線早就被剪了,必需另外做連接線,那就做個 Type-C 的接頭吧,可以用標準的 Type-C 連接線。接頭是在淘寶找到的 4-pin Type-C 接頭,不算標準的 Type-C 接頭,但使用的 PS2-USB converter 只是 USB 1.1 HID 協定,只要4條線就夠了。把原來過連接線的孔挖一挖,剛好用來固定接頭,外觀看起來還 OK。

總結

這把鍵盤改好後,也用了好一陣子,直到後來改了 68鍵的鍵盤。

2021年7月26日 星期一

Sanyo 洗衣機維修 DIY (錯誤碼”ED”)

型號:三洋洗衣機 SW-13dv1,大概是十多年前的產品,直流變頻超音波單槽洗衣機,容量 13kg。

證狀: 開機,按啟動後,洗衣槽不會轉動偵測衣服量,一段時間後,在洗方時間的位置出現 "Ed" 的錯誤代碼,然後電源關閉。再按一次開機,按啟動後,正常偵測衣服量開始洗濯。


剛開始並沒有注意到錯誤訊息,只覺得洗衣機怪怪的。這種情況出現幾次後,心理已作好準備,盤算該換一台洗衣機了吧。終於,注意到有錯誤訊息 "Ed",就用這訊息去搜尋吧。

管方說明,「顯示代碼Ed: 主要告知不能洗衣 檢查方法:1.衣物是否過量.2.將衣物減量.3.處理完畢重新按啟動.」

找到有幾個綱站的維修說明,歸類出發生的原因,可能有下列 3種情況

  1. 第一就是接觸不良。通常發生在驅動板接頭的位置。驅動板本身有三個接頭,其中一個六腳公頭是與主控基板連接。
  2. 其次是驅動板故障,判定方式可在電源開啟後五秒內,注意洗衣機左下後方,即安裝驅動板的位置處,注意聽是不是有一聲小小的「咔」聲?如果沒有,99% 代表驅動板故障,剩下的 1% 是老鼠咬線。有些人也可能是說保險絲斷了。
  3. 最後,接頭沒氧化,驅動板也有發出「咔」聲的情況,如果手中有萬用錶的話,請打到電阻檔的位置,量測驅動板處六腳公頭,紫色與棕色線間的阻抗,正常值大約 1K 歐姆左右。

依據上述說明,我的洗衣機應是最樂觀的情形,接頭接觸不良,因為電源重開後就可以正常使用。

找個控檔開始修理,把背板打開。只有 4顆自攻螺絲,很容易就打開卸下背板。


裡面除了一個懸吊著的洗衣槽,空空如也,沒有控制板,也沒看到接頭。抱著失望和一絲希望的期待心情,慢慢摸索,摸到可能是接頭的東西。

把包著的塑膠袋打開,看到露出的一把接頭。其中有一個 6pin 接頭,特別用矽膠封塗,應該就是這個吧。


既然打開了,當然是把所有接頭都噴一次接點清潔劑。還妳最近為了修機械鍵盤,買了一觀 3M 的接點清潔劑,含運費 2百多,比起叫修應該是划算很多,自己的工錢就不要計算了,領薪水一族能省就省吧。

噴過後,測試幾次,洗衣槽會轉動偵測衣服重量,正常啟動。就開始用新的塑膠袋包好,固定好,再測一次,正常,把洗衣機復位。

HAPPY,順利修好。

2021年7月9日 星期五

烙鐵選擇 (Goot)

功欲善必先利其器,日本 Goot 的烙鐵雖然稍貴些,但能把工作做好,頗為值得。下面是我手邊有的 3支 Goot 烙鐵。從上到下分別為 CXR-100,CXR-41,PX-338。



投入鍵盤修改的坑後,就東買西買的買了一堆東西。隨著筆電越來越輕薄,取得的 Trackpoint 模組也越來小型化,接頭的間距最小為 1mm,這是我目前能焊接的極限。但目前用的烙鐵頭嚴重氧化,實在不好焊,有考慮買新的烙鐵頭,終究烙鐵頭是消耗品。也用過烙鐵頭復活膏,效果也還不錯,但不可能還原到全新。

最近股票投資稍有獲利,抵得過數月收入,就想要換新的烙鐵看看會不會比較好。在網上比較之後,最後挑了日本 goot PX-338 恆溫烙鐵,在光華商場的店面買的,比網購貴了 200 元左右,但不想多等,就直接買了。

Goot 的官網 http://en.goot.jp

回家使用後的心得是,真的值得,早就該買了,雖然 PX-338 的價格大約是 CXR-41 的2倍。CXR-41 沒有溫控,放著就會空燒,溫度會持續上升,不久烙鐵頭就變黑了。PX-338 聲明會把溫度控制在 380 度,使用 ON-OFF 控制,加溫時指示燈會亮。因為溫度控制,發現烙鐵頭不怎麼會氧化,可以保持焊錫的亮亮的顏色,不用清潔吃錫就可繼續焊接。

在網路上可以找到一堆936的烙鐵頭,搞了好久才知道那是 HAKKO 936 調溫電烙鐵,然後中國大陸都抄這一型的烙鐵,讓烙鐵頭可以通用。而 Goot 的烙鐵就只能買它生產的烙鐵頭囉,而且 PX-338 和 CXR-41 兩個不同系列的頭還是不一樣,不能通用。PX-338 的烙鐵頭較長較重,較能蓄熱,加熱絲瓦數也比較大,可以快速加熱,又不用一直通電。

為了焊接電池,買了一支 CXR-100,它的消耗功率只有 38W,但頭很大 (標配烙鐵頭 CXR-100RT-7C),可以蓄大量的熱。買來還沒焊過充電池,倒是拿來焊接過 M3 的螺母,輕鬆易舉,好用。



2021年6月29日 星期二

DIY USB Hub 及 PS2 轉 USB 界面

 DIY USB HUB

因為改裝機械鍵盤,在機械鍵盤上加裝 Trackpoint 指點桿,需要用到 USB Hub 來整合鍵盤和指點桿的信號,這樣鍵盤就只要一條傳輸線。先前在露天買到很便宜的 USB Hub,一個只要 35元,雖然其宣稱只用來做電源分接,但買回來功能正常。原來買了 3個,改裝鍵盤都用完了,就想再找一樣便宜的來買。比較多家之後,找到一個最便宜的,圖片也清楚顯示 USB 2.0/1.1 HUB,然後一口氣買了4個。但這次運氣就不再那麼好了,買的全部是假的,真的只能當電源分接用。

下圖是在露天拍賣買的 USB HUB,可以看到止焊膜有裝 IC 的位置,但信號線全部是併聯的。不曉得大陸人為何要這麼費心的做個假貨來賣,不如把這功夫拿來做有用的東西。有時品質雖差,但至少能用。

我的目的是要把 Hub 拆開,電路板鋸短,整個藏到鍵盤裡。在網路上搜尋 USB Hub IC,發現有現成的 IC,只要加幾個簡單的元件就可以了,一顆 IC 最便宜的十幾元,雖然加上工時,價格遠超過直接買,但就當練功和 DIY 的樂趣吧,而且也不會買到從外觀無從判斷真假的 Hub。

這顆 IC 是 FE1.1S,USB 2.0 HIGH SPEED 4-PORT HUB CONTROLLER,是台灣湯銘出的晶片,很多 USB Hub 都用這顆 IC。最簡單能工作的電路如下。若有需要還可以自行加裝 LED 指示。


把一個古老的 USB HUB 用此晶片改裝成 USB 2.0 的 HUB,當作功能測試。


這顆是古早古早的聯強 Lemel 的產品。



DIY PS2 轉 USB 界面

使用的晶片 CSC0101A-S16G,是台灣巨盛的晶片,大陸的代理商為潤得源 (rundex),在網上找到的參考電路圖也潤得源提供的。CSC0101A 具有2個 PS2 port,可同時接鍵盤及滑鼠。在網路上找到另一個比較容易找到的 WIT122UH,只有一個 PS port,而且只能接鍵盤,因此不適用。

下圖為 CSC0101A-S16G 的參考電路圖。


內部是 65C02 8 Bit CPU,

- Conforms to USB specification, version 1.1

 - Conforms to USB HID specification, version 1.1

 - Supports 1 low speed device address and 3 endpoints

- 8 bytes FIFO for each endpoint 

2021年6月4日 星期五

熱塑土

 熱塑土

參考: https://forum.gamer.com.tw/Co.php?bsn=60053&sn=231725,https://kknews.cc/zh-tw/game/om4m5ro.html

討論: https://www.mobile01.com/topicdetail.php?f=368&t=5841369


重點整理

  • 不能用金屬容器操作,要用紙杯或紙碗(內有蠟塗層),才不會黏在容器裡
  • 免洗筷也是會黏住,建議用塑膠筷抹一層凡士林
  • 塑晶土一變透明就立刻取出塑形,不能泡到它都融掉
  • 不要放鍋子裏煮,用剛煮開的水, 九十度以上的去泡, 很快就透明變軟了
  • 可放碗裏,沖入熱水瓶的水,看到全透明就用湯匙推出來。如果推不乾淨太軟太黏,就水倒掉再推,然後再倒點熱水在碗裏。有需要時可以丟回去保溫回軟
  • 高溫 (飲水機出來) 會變得很黏很燙,黏鍋底,趁熱拿一團來反覆沾黏就可以去除。溫度降下來後,剛好是在手能操作的溫度會是透明不黏手。通常我是弄一盆冰水來加速硬化,還有一盆燙的,接點黏一點比較穩

網友經驗
我是用日本的水晶土,不過狀況跟你一樣:
-- 加熱不夠,一下就硬了,沒時間塑型
-- 加熱過頭,太燙了,沒辦法塑形
所以後來我改用泡"滾水",不要真的拿去煮
泡滾水取出後很燙,但還可以忍耐,塑形時間不長不短,但是操作一樣要迅速
-----
Super Maker 創塑土&熱塑土(第二代創塑土)特性比較篇
https://www.youtube.com/watch?v=4HabdnLfsGo
有一種是比較快硬化的
-----
我可以很肯定的跟你說,牌子絕對有差,以前我也買過瑞典製的,超級難用,就跟你敘述的反應方式一模一樣,
後來不信邪買了別的牌子來用(忘了台灣還是滔寶買的了).
完全不一樣,建議真的想玩,再買別的牌子試試吧

我的作法: 泡滾水,看到顆粒開始轉變透明內部還有點白芯(不要全部透明,太熱會變黏容器就要等冷一點再拿水晶黏土黏起來)

筷子稍攪拌黏住所有顆粒

拿起就能捏了,我後來用的從拿起,大約5分左右捏造型都還很好捏,大概要10分以上才會整個再變白色固體狀
-----

生活應用

門鎖推桿 (2021-12-01補記)。原來的推桿掉了,十幾年來都直接推中間的鐵柱,一不小心就會掉在地上要找半天。也找不到螺紋相合的螺絲來裝上,某天想到可以用旅行時買的奈米膠水黏根 M3 螺絲啊。而且膠水雖然黏得很牢,但只要用熱風機加熱就能取下,不用怕那天後悔要拆掉。螺絲頂部凸出摸起來不舒服,就想到用熱塑土試試看,成果還不錯,如下圖。




2021年5月12日 星期三

將 VM 從 ESXi 4.1 搬到 ESXi 6.7



用 Convert 在連 Server 時,就會出現 SSH Error

總之就是 SSH 加密升級造成的問題

參考這篇討論

https://communities.vmware.com/t5/VMware-vSphere-Discussions/SCP-between-4-1-and-6-7/td-p/490986

在 Linux 下使用 SSH 連 ESXi 4.1 會出現錯誤
$ ssh root@10.161.86.140
Unable to negotiate with 10.161.86.140 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

必需加上選項
ssh  -oKexAlgorithms=+diffie-hellman-group1-sha1  root@10.161.86.140

要從 ESXi 6.7 連 ESXi 4.1 有點麻煩,就用 Linux 當跳板。

不是那麼緊集的伺服器,可以關機 2, 3 個小時,就用 scp 先 copy 到 Linux,再 copy 到 ESXi 6.7 上。
另外,在 ESXi 6.7 上建一個 ESXi 5.5 的 VM,將伺服器用 Convert 5.5 轉到 ESXi 5.5 的主機上,然後再用 scp 複製到 ESXi 6.7 上。用 Convert 的好處是,可以先將伺服器上的檔清一清,可以減少傳送的資料。
因為直接 copy vmdk,thick 佈建的 vmdk,是完整的整個大小,如 30G 的 HD,大小就是 30G。傳送時間要比較久。

然後,外層的 ESXi 6.7 竟然不能和內部的 ESXi 5.5 用 ssh 連線。想說用 Gentoo Linux 來 mount ESXi 的 VMDK,又不認識,出現錯誤
 mount: unknown file system type 'VMFS_volume_member'
Google 說在 Ubuntu 下,可以安裝 vmfs-tools,就可以 mount,結果又找不到這個 package的錯誤。

最後還是用老方法,把convert之後的VM的資料全部先 copy 到 Linux,再copy 到 ESXi 6.7 裡面。然後就可以了。

2021年4月16日 星期五

使用 scrcpy 操作手機 (Gentoo)

先來張擷圖,可以透過電腦來操作手機,是蠻方便的,而且可以在 Linux 下使用。

Gentoo 官方的 portage 沒有 scrcpy 這軟體,必須找 overlay 的 ebuild。

安裝好後,第一次執行

ajax@aj-i7 ~ $ scrcpy
INFO: scrcpy 1.17 <https://github.com/Genymobile/scrcpy>
exec: No such file or directory
ERROR: Command not found: [adb], [push], [/usr/share/scrcpy/scrcpy-server], [/data/local/tmp/scrcpy-server.jar]
ERROR: (make 'adb' accessible from your PATH or define its fullpath in the ADB environment variable)
INFO: You may install 'adb' by "apt install adb"
ERROR: Could not execute "adb push"

找不到 adb 指令,關於 Gentoo 的 adb 說明: Android/adb

安裝 dev-util/android-tools package 之後再執行

ajax@aj-i7 ~ $ scrcpy
INFO: scrcpy 1.17 <https://github.com/Genymobile/scrcpy>
* daemon not running; starting now at tcp:5037
* daemon started successfully
adb: error: failed to get feature set: no devices/emulators found
ERROR: "adb push" returned with value 1

需要在手機開啟 USB debug,這個無需 root,一般是在 [系統資訊] 的某個項目上點 7下,就會出現開發者選項。

再次執行

ajax@aj-i7 ~ $ scrcpy
INFO: scrcpy 1.17 <https://github.com/Genymobile/scrcpy>
/usr/share/scrcpy/scrcpy-server: 1 fil...shed. 1.3 MB/s (34930 bytes in 0.025s)
[server] INFO: Device: samsung SM-A315G (Android 10)
[server] ERROR: Exception on thread Thread[main,5,main]
java.lang.IllegalStateException
	at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
	at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2789)
	at com.genymobile.scrcpy.ScreenEncoder.encode(ScreenEncoder.java:113)
	at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:94)
	at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:60)
	at com.genymobile.scrcpy.Server.scrcpy(Server.java:80)
	at com.genymobile.scrcpy.Server.main(Server.java:252)
	at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
	at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:342)
INFO: Renderer: opengl
INFO: OpenGL version: 4.6.0 NVIDIA 460.56
INFO: Trilinear filtering enabled
INFO: Initial texture: 1080x2400
WARN: Device disconnected

還是不行,但只差一步了,指令要加解析度

ajax@aj-i7 ~ $ scrcpy -m 1080
INFO: scrcpy 1.17 <https://github.com/Genymobile/scrcpy>
/usr/share/scrcpy/scrcpy-server: 1 fil...shed. 5.6 MB/s (34930 bytes in 0.006s)
[server] INFO: Device: samsung SM-A315G (Android 10)
INFO: Renderer: opengl
INFO: OpenGL version: 4.6.0 NVIDIA 460.56
INFO: Trilinear filtering enabled
INFO: Initial texture: 488x1080
  ==> 連上手機,開啟手機螢幕視窗
....
  ==> 關閉手機螢幕視窗
WARN: Killing the server...


旋轉90度的指令 "scrcpy -m 1080  --lock-video-orientation 1"


使用 appimage

 media-sound/jack2





網誌存檔