2023年6月28日 星期三

在 Ubuntu 上安裝 Klipper

 

到底要裝些什麼套件,看看這個 script 檔可以有些概念,install-ubuntu-18.04.sh。使用 kiauh 安裝,會自動搞定一切。

YouTube 的教學影片,Installing Klipper Firmware On A Laptop Or Desktop (Pi Alternative),沒有安裝 KlipperScreen。




回收 3D 印表機零件機摘要

花了2千元回收一台網友組裝失敗的 3D 印表機套件,目前還不知道要做什麼,先記錄一下套件的摘要,知道有那些東西,可以怎麼用它。

淘寶的連結 成品mb结构3d打印机fdm打印机高精度 diy套件高精度热床300 200,怕產品下架,留一些擷圖備份。安裝說明 0-12864屏幕按照(3d打印机),沒有安裝文件。


300x300 的套件,1780 RMB,約台幣 9千元,不便宜。嗯,我裝的第一台 300x300 corexy 雙Z軸機器,也是這價格。買的人還不少,頁面說明做得好吸引人? 

是 XY,不是 corexy,有點怪異,類似 Ender-5 S1 的架構。

打印速度不快,相對 Voron 2.4 而言。

雙 Z軸,XY線軌,近程擠出,是其特色。速度不快,噪音也就不大。但 MKS Gen-L V1.0 是8位元CPU,快不起來,再則使用 A4988,只有 16細分,快起來也無法太安靜。









收到時的概況,沒有使用晶格玻璃,直接在熱床上印,有點怪怪的,我沒這樣做過。線軌生鏽的很嚴重,2月才買的,可能組裝時手碰到,又沒有上油保養。

用不鏽鋼白鐵客製化了很多零件,讓成本增加不少,但收到也不能使用。

考慮改成 VORON Trident,但想改用交流熱床,不用花錢買高功率的電源,很花錢。另外,是否改成 8mm鋁板呢? 再想想吧。




2023年6月20日 星期二

ASUS ZenFone 3 解鎖 FRP 及 ROOT

從小孩接收一台華碩手機,ZenFone 3 Deluxe 5.5,想裝 Klipper 來玩看看。

  • Marketing Name: ZenFone 3 Deluxe 5.5
  • Model no: Z01FD
  • Model Name: ZS550KL
  • SW code: Z018
  • CPU: Qualcomm Snapdragon 625
  • RAM/ROM: 4G/64G
  • Battery: 3000 mAh
  • OS: Android 8

拿到手機後,經歷一番波折才拿到手機的掌控權,然後在 root 這關卡住,大概只能當普通手機看影片了。

解鎖 FRP

現代手機為了怕別人撿到據為己有,有所謂的 FRP (Factory Reset Protection) 鎖,只能用原來登入的帳號重置手機。不想再麻煩小孩幫忙,看看有什麼辦法來解鎖。

找了幾個方法,大概這個比較單純,Asus ZenFone 3 Z017DB Gmail Bypass And Frp Reset Eazy Solution。有些辦法使用到的部分,Google 直接把相關部分改掉,如語音協助的 YouTube 就被拿掉了。可以想像未來會更難繞過這關的,還好這台手機花了幾小時就成功進法了。

重置後,一直進行到連上網路,要輸入帳號為止

回頭到最前面,選語言的步驟,按音量減小+電源,擷圖,分享,長按 Mail 的圖示,顯示 App Info,然後 按 help,想辦法找到有 YouTube 的解說,再從 YouTube 開啟 Chrome,再下載解鎖的 APP,安裝後,把自己的 帳號加進去,然後重開,就 OK 了。

改完後重開,到後面就會出現這個畫面,已經把自己加進去了。


ROOT

原來官方有提供 unlock 工具,但早就不提供支援了,因為要透過網路上傳資料後才會進入解鎖,所以官方解鎖這條路可以直接放棄,別到處找相關的 APK,除非要參考它自己改。

有一些 platform tool 可以下載來用,提供 adb 和 fastboot 指令,在 Linux 下使用比較方便。

[root]ASUS ZenFone3 Deluxe ZS550KL (Z018) WW_V24.40.140.33(Android N)for WW SKU only*,Prerequisite: Unlocked bootloader -- 這關過不去。

bootloader 官方解鎖程式 -- 不支援了,別費心找了。使用時會出現錯誤訊息,"發生未知的錯誤,可能是網路連線問題" ("An unknown error occurred, which may be a network connection issue please try again later."),無法解鎖。說明中提及會送出 IMEI 號碼回 ASUS,可能是它的伺服器不存在了吧,程式就無法使用了。

給老手的 Zenfone 3 刷機快速上手(Bootloader, Recovery, Root, Rom…),看看吧,提供一些概念。

How to Unlock Bootloader Asus ZenFone 3 Deluxe ZS550KL with Fastboot Method,看看就好,指令不支援,"OEM unlock" 沒有打開是不能執行這指令的。 

參考 android 的說明,Locking/Unlocking the Bootloader,"OEM unlocking" 一般放在開發者選項,但很多手機,包括華碩,把它藏起來,無法改。

Devices should deny the fastboot flashing unlock command unless the get_unlock_ability is set to 1. If set to 0, the user needs to boot to the home screen, open the Settings > System > Developer options menu and enable the OEM unlocking option (which sets the get_unlock_ability to 1). After setting, this mode persists across reboots and factory data resets.

【密技】ZenFone 2 Laser (ZE500KL/Z00ED) 非官方解鎖 Unofficial Unlock Bootloader,有一些東西可以參考,但也不能直的使用。

下面是用 fastboot 測試的一些結果。

-----------------------
$ sudo ./fastboot oem device-info
(bootloader)    Device tampered: false
(bootloader)    Device unlocked: false ---- 這一關過不去
(bootloader)    Device critical unlocked: false
(bootloader)    Charger screen enabled: false
(bootloader)    Display panel: 
(bootloader)    Sysconf ssn: G9AZCYABCDED2KEZ
(bootloader)    Sysconf adb enable: 0
(bootloader)    Sysconf reboot reason: 0
(bootloader)    Sysconf isn: N0CY1234MB0037410
OKAY [  0.094s]
Finished. Total time: 0.094s

$ sudo ./fastboot boot twrp-3.2.3-0-Z018-20181014.img
Sending 'boot.img' (35238 KB)    OKAY [  0.962s]
Booting                          FAILED (remote: 'unlock device to use this command')
fastboot: error: Command failed

$ sudo ./fastboot flash recovery recovery.img 
Warning: skip copying recovery image avb footer (recovery partition size: 0, recovery image size: 36083712).
Sending 'recovery' (35238 KB)    OKAY [  0.973s]
Writing 'recovery'               (bootloader) is_partition_need_check.
FAILED (Status read failed (No such device))
fastboot: error: Command failed
--------------------------

-----------------------
$ getprop sys.oem_unlock_allowed     => 0
$ getprop ro.oem_unlock_supported  => true
--------------------------

折騰了好幾天,確定 root 的必要步驟。1. 要用 fastboot 寫入 twrp,必須要 unlock bootloader;2. 要 unlock bootloader,必須要用 twrp 安裝 ZIP 檔來設定 "OEM unlocking"。這是一個 dead lock,無解,再慢慢找解法吧。

猜想原來的 APP 是要把手機資料上傳後,再將 unlock 的 flag 設成 true。這動作在別的手機原來是可以在開發者選項完成,但華碩把這選項藏起來,讓使用者要走這一段冤枉路,另外因為全世界用的人太少,根本就沒人幫忙破解,以後再也不碰華碩的手機了。

看來我需要工具: Android APK反编译就这么简单Android App 逆向入門之一:拆開與重組 apk,有空再來慢慢練功吧。


UNLOCK/RELOCK BOOTLOADER UNOFFICIALLY for ZenFone 3,只有 ZE520KL/ZE552KL的。

https://addrom.com/stock-raw-rom-for-asus-zenfone-3-deluxe-zs550kl/


慘,裝成台積電專用機

想要 unlock bootloader,看到 TSMC 的 raw 檔,以為是 TSMC 的測試機,結果是它的專用機,把很多功能都刪了,要連上伺服器登入後才能使用。更慘的是,不能重刷成一般手機,完全不能清除 userdata 和 aboot,真的變成 TSMC 磚塊了。 


https://github.com/Giovix92/EDLUnlock

https://www.cpu-panda.com/zh-tw/cpu-qualcomm_snapdragon_625#google_vignette

https://forum.xda-developers.com/t/fastboot-edl-unbrick-asus-zenfone-max-m1-asus_x00pd-ww_x00pd-zb555kl-zb556kl.3874245/

https://alephsecurity.com/2018/01/22/qualcomm-edl-1/

https://forum.xda-developers.com/t/hard-unbrick-edl-cable-diy-unbricking-a-hard-bricked-zenfone5-live-qualcomm.3915137/

2023年6月17日 星期六

Klicky probe 設定

由於這不是 Voron 或 Klipper 的官方作法,因此未包含在官方文件裡,每次都找不到。

說明的網址 Klipper plugin for self-calibrating z-offset,設定和原理解說的章節 How To Configure It

好快就忘了怎麼設

指令 CALIBRATE_Z

下面整段把它抄過來,方便參考

Switch Offset

The "z_calibration:switch_offset" is the aforementioned offset from the switch body (which is the probed position) to the actual trigger point above it. A starting point for this value can be taken from the datasheet of the Omron switch (D2F-5: 0.5mm and SSG-5H: 0.7mm). It's safe to start with a little less depending on the squishiness you prefer for the first layer (for me, it's about 0.46 for the D2F-5). So, with a smaller offset value, the nozzle is further away from the bed! This value cannot be negative.

For example, the datasheet of the D2F-5:

d2f-example

And the calculation of the offset base:

offset base = OP (Operation Position) - switch body height
     0.5 mm = 5.5 mm - 5 mm

How About A Negative Switch Offset?

First of all, there cannot be a negative switch_offset! If the switch_offset is already really small after tuning it and the nozzle is still too close to the bed, then something is wrong with the measurement of the probe body. The following picture illustrates this:

negative-switch-offset

Therefore, please check your endstop, the rod of the endstop and the position of the switch body touching the endstop!

exclamation Please, do NOT drive the endstop pin on the switch actuator directly! Otherwise, you do it at your own risk and I will reject any request for support!

If you do so, a correct or at least a working measured height at the switch is all due to the various forces in the system. But forces can change for many reasons. The best case is that the actuator is pushed all the way in until the pin touches the body of the switch - before the endstop is triggered! But it could be anything in between... So, there is no reason not to touch the body directly in a safe and robust way +1

手動校準距離

透過 Klippy probe 與噴嘴和 endstop 的相對位置,可以自動算出噴嘴的位置,完全不用手動調平。

再來要使用 TESTZ 指令來校準 switch_offset,參考 Klipper - Bed leveling。依據 Omron D2F-5 的規格計算或測量得到的 switch_offset,並不太準,間隙可能過大或過小。使用 TESTZ 指令調到噴頭和平台的距離約等於一張紙的厚度。

----------------------
QUAD_GANTRY_LEVEL
CALIBRATE_Z

G90   # 絕對座標
G1 X125 Y125
G1 Z1

MANUAL_PROBE    => Starting manual Z probe. Use TESTZ to adjust position.
TESTZ Z=0       =>  Z position: ?????? --> -2.280 <-- ??????

## - 降低,+ 升高 
TESTZ Z=-.1
TESTZ Z=+.2   ---> 調到紙稍微卡
----------------------


換加熱棒後,瓦數不同的話,要重新校正一下 PID 參數
----------------------
# 先移到適當位置
PID_CALIBRATE HEATER=extruder TARGET=240
----------------------




2023年6月16日 星期五

紅米 Note 3 安裝 Klipper

重要提醒

要 root 手機,必須 unlock bootloader,新的手機大都不允許,或是要申請允許才行。全世界比較少人使用的手機,如 Asus,是不太可能 root 的,直接放棄比較快。

舊手機,開啟 developer option 後,直接就可以開啟 oem unlock,這是最好處理的了。所以,儘可以找舊手機來裝。

這次買到的紅米 Note 3,算是運氣好,剛鎖掉,還可以進 EDL 模式,刷可以 oem unlock 的 firmware。

參考 

  • d4rk50ul1 / klipper-on-android
  • How to Run Linux on Android Devices
  • https://www.makeuseof.com/tag/take-control-android-rooting-guide/
  • Install a Custom Android ROM: https://lineageos.org,需解鎖 Bootloader,必須申請才可以,放棄吧。
  • https://www.xda-developers.com/how-to-install-twrp/
  • https://blog.csdn.net/double_sweet1/article/details/84798144,進入 [關於手機],在 [MIUI 版本] 上點 7次。然後回到上一層,進入 [更多設定],再進入 [開發者選項],開啟 [USB 偵錯]。
  • 刷其它的,不知能不能開機。https://technext1.wordpress.com/2017/04/09/02/,https://www.youtube.com/watch?v=f6s_Nl3UFz4

想試試用舊手機安裝 Klipper,應該可以省一點吧,效能可能更好。在蝦皮買的中古機,只說是 "小米3 mi 3w 16G",我也搞不清實際規格。收到時,打開手機電源,相關資訊如圖。

重點摘要: 紅米手機 Redmi Note 3,六核 1.8GHz,RAM 3GB,ROM 32GB。算運氣好,拿到好一點的規格。

卡托差別,左 - 全網通,右 - 雙網通

红米Note 3双网通版搭载了一枚大家熟悉的联发科Helio X10八核处理器,红米Note 3全网通版是用高通骁龙650六核处理器。所以我拿到的是六核的全网通版。另外比較卡托,双网通版不能放置TF卡,全网通版本的其中一个卡槽可以放置TF卡;我的可以,剛買了一張 64GB 的放進去了,好在啊。所以,可以放心刷開放的 image。

【紅米 Note 3 台版重點規格】
  • 採用 Android 5.1.1 Lollipop 作業系統、MIUI 7 操作介面
  • 4G LTE / WCDMA / TD-SCDMA + GSM 雙卡雙待
  • micro-SIM + nano-SIM(SIM2 卡槽可改放 microSD 記憶卡)
  • 機身尺寸 150 x 76 x 8.65mm,重量 164g
  • 5.5 吋 1,920 x 1,080pixels 解析度觸控螢幕、403ppi
  • 內建 Qualcomm Snapdragon 650, 1.8GHz + 1.2GHz 六核心處理器、Adreno 510 GPU
  • 擁有 2GB LPDDR3 RAM / 16GB ROM、3GB LPDDR3 RAM / 32GB ROM 兩種版本
  • 1,600 萬畫素主相機、F2.0 光圈、78 度廣角、雙色溫 LED 補光燈
  • 支援 PDAF 相位對焦技術、1080P Full HD 錄影
  • 500 萬畫素前鏡頭、F2.0 光圈
  • 支援 36 級美顏、1080P HD 錄影
  • 電池容量:4,050mAh(不可拆卸)
  • 支援藍牙 4.1、GPS、A-GPS、GLONASS、紅外線
  • 配備雙矽麥克風
  • 支援指紋辨識

解除帳號鎖定


在試了幾支手機後,發現是好運,才能在紅米 note 3 上安裝 klipper,華碩的手機,連 root 都沒辦法成功。只好在網拍上再找找看同一款式的手機來玩,無意中看到的一支鎖定小米帳號的紅米 note3,只要 200 元,就把它標回來試試。

解法,直接使用 Miko-tool。有了人家寫好的工具,很容易就解開了。要先裝 drvier,可以直接安裝 Miphone.exe。重開到 fastboot 模式,然後切換至另一模式,就可以解開了。

使用 PC 在 REDMI NOTE 3 上安裝 TWRP RECOVERY

參考 https://technext1.wordpress.com/2017/04/09/02/,影片 Redmi Note 3 - How to Root & Install TWRP [Easiest Way]How To Install TWRP Recovery & Root the Redmi Note 3 Pro

刷 Custom ROM,運作不穩定,然後在還原的過程中,把整個系統清除,還原之後,系統資料全都不見了,搞得一團亂,只能慢慢想辦法還原。

下面是 ROOT,裝 TWRP 的步驟。

  1. First of all you have to download a zip file from Here.
  2. Extract these files. To extract if you can use winrar or any software.
  3. (步驟 3~6) You have to disable driver signature in your pc.
  4. Just open your menu. If you are using windows 10 and type cmd and run it as administrator.
  5. Now type "bcdedit/set testsigning on" in the command prompt
  6. Now just press the enter button and restart your pc
  7. (步驟 7~8) Go to the RN3root folder that we extracted.
  8. Double click on the "Miphone.exe" file and install it.
  9. (設定手機) Then on your redmi note 3 go to settings then about phone option
  10. Then go to additional settings turn on enable "oem unlock" and "usb debugging".
  11. Back up all the data if you have any on your phone copies it to your pc.
  12. (步驟 12~20,執行 MiFlash。) Then press [volume down + power] button to boot your phone in fastboot mode.
  13. Now go back to the folder double click on "edl" batch file
  14. Go back to start menu on your pc launch "MiFlash" program.
  15. Now select "kenzo" folder that is present inside RN3root and browse
  16. Select the images folder and click on.
  17. Go to advance settings from Browse option
  18. At "Fastboot Script" select "flash_all.bat" file from kenzo folder of RN3root. (經測試,下面的 radio 選項必須要停在 "Flash all except storage",但沒有對應的 script 檔,這樣才能留下 IMEI 和 MAC 號碼。)
  19. Configure the raw xml, patch xml and flash programmer
  20. Click ok and refresh this flashing process will take 5-10 minutes to complete. (此步驟約 300秒)
  21. (不要關機,接著執行此步驟進入 fastboot。) Now hard reboot the phone to do this do not disconnect the cable just press [volume down +power] button for 10-15 seconds and your phone will boot into fastboot mode.
  22. Now open Unlock folder from RN3root and double click on "Unlock bootloader.bat" file
  23. Now your phone will automatically reboot. (若重複執行,已經 root,則不會自動重開,按 power 鍵久一點重開。執行至此,等於新的空的手機,所以重開會花蠻久的時間。有時甚至十幾分鐘,或者 ... 不知是否開得起來。)
  24. Setup the phone as we normally do.
  25. Again connect your phone to pc and copy "UPDATE-SuperSU.zip" file in your phone storage (Internal).
  26. Now powers off your device once again boot your device into fastboot mode again by [volume down + power] button.
  27. Go to the flash TWRP folder and click on "Flash TWRP.bat" file you have installed TWRP now.
  28. Change the language of TWRP because by default its Chinese by pressing third right button (as its Chinese you will not understand then tap on globe icon and select English)
  29. Go back on install and select "UPDATE-SuperSU.zip" file that we installed and swipe to flash it.
  30. Your phone is now rooted..!!

刷完後的版本。



https://www.getdroidtips.com/android-11-redmi-note-3/

https://www.getdroidtips.com/lineage-os-18-1-on-redmi-note-3/

https://forum.xda-developers.com/t/rom-port-unofficial-kenzo-kate-11-lineageos-18-stable-25-08-2021.4245525/

https://www.youtube.com/watch?v=fGNKBsRufjI


刷 TWRP 的指令

-----
fastboot flash recovery TWRP.img
fastboot boot TWRP.img 
-----

設定不見了

慘,手機的資訊全變成 "不明",看看要如何救。參考連結,

討論: How To Fix Imei, Wifi Mac, Bluetooth Mac, Meid and Othes Redmi Note3 SnapdragonChanging/Spoofing MAC Address[Solved]

回復 QCN 的步驟: [GUIDE] Backup, edit and restore QCN. Fixing lost IMEI.

參考此說明回復 EFS: RESTORE EFS ON REDMI NOTE 3 (SNAPDRAGON VARIANTS ONLY)重點整理。

  • 假如 IMEI 和 Baseband 顯示 "不明" (unknown),才是 EFS 被刪掉或損毀。此時首先需要回復 (recover) EFS,然後修改 IMEI。 
  • If your IMEI is shown as 0, your EFS is safe and probably your IMEI is gone. In that case, don’t recover EFS just change the IMEI number.

需要軟體 EFS Backup[Dump][Kenzo].rar,執行指令

---------
Fastboot flash modemst1 modemst1
Fastboot flash modemst2 modemst2
---------

執行後就會自動產生 MAC address 了。

---------
把 adb 變成 COM
adb shell
su
setprop sys.usb.config diag,adb
---------

前一段安裝 MiFlash 時,裝的 driver 在這裡會不正常,試了好久,弄一個新的 VM 後,才成功連接。

後來重刷小米的 firmware,又神奇的可以找到網路了。重刷的版本是 MIUI Global 8.1,Android 版本 6.01,MEID: 99000709881187,IMEI (卡槽2): 869271026918158,WiFi MAC: 64:cc:2e:b9:ba:16,序號: 8ae0acf1。重複試了好幾次,發現在刷非官方,假如選錯選項就會洗掉手機的資訊。必須要保留原本的 storage 結構才行,不能把整個儲存空間清掉。唉,再次重開,MAC 還是不見了,無法上網。

刷 RN3ROOT 的 image,Android 版本 5.1.1

"MEID碼是每台CDMA手機或通訊平板唯一的識別碼。用於CDMA(電信)制式的手機。MEID的數字範圍是十六進位的,和IMEI的格式類似14位。也就是說,有MEID碼的手機,都支持電信卡,有的手機沒有MEID,只支持移動聯通。"

MEID 沒辦法改,反正能上網,不用打電話,MEID 和 IMEI 就不管了。

安裝 -lineageos

https://lineageosroms.com/kenzo/

https://forum.xda-developers.com/t/rom-9-0-kenzo-lineageos-16-0-unofficial-01-09-2018.3844655/

https://www.getdroidtips.com/lineage-os-18-1-on-redmi-note-3/

要使用用最舊的 twrp-3.0.0 才能成功安裝 lineage-os-18.1,lineage_16.0 則都無法成功開機。假如安裝成功,很快就會進入選單。若轉了十幾分鐘,應該就是失敗了。雖然能成功安裝 lineage-os-18,但安裝 Linux Deploy 時,會出現空間不足,可是我都沒有安裝任何 package。

所以,別再嘗試 lineage-os 了,乖乖刷 RN3ROOT for kenzo 就好了,繼續我的目標 -- 安裝 Klipper -- 才是重要的。

後來再試,使用 twrp-3.3.1-0-kenzo.img 安裝 lineage-os-18.1,只要設定好,重新開機,就能成功安裝 package 了。

Root LineageOS 18.1 using Magisk Manager and TWRP Recovery,使用TWRP 安裝 Magisk,很方便就完成 root,再用 Root Checker 確定已成功 root。下載的 APK,要改名 ZIP,然後用 TWRP 安裝。

安裝 Linux 及 Klipper

參考

  • https://github.com/d4rk50ul1/klipper-on-android
  • ** 主要參考這篇 klipper-on-android
  • https://gist.github.com/RyanEwen/ae81fc48ad00397f1026915f0e6beed9

Debian 的版本

  • 下一代 Debian 正式發行版的代號為 trixie — 測試(testing)版 — 發佈日期尚未確定
  • Debian 12 (bookworm) — 當前的穩定 (stable) 版
  • Debian 11 (bullseye) — 當前的舊的穩定 (oldstable) 版
  • Debian 10 (buster) — 當前的更舊的穩定 (oldoldstable) 版,現有長期支持
  • Debian 9 (stretch) — 已存檔版本,現有擴展長期支持
  • Debian 8 (jessie) — 已存檔版本,現有擴展長期支持

使用 Linux Deploy 安裝時,要選對版本。

手機和工作的電腦不同網段,發現能用 adb shell 連上去,再用 ssh 進入系統,這樣就方便多了。

安裝 KlipperScreen 時,會出現 CMake 版本太低的問題,要自行下載安裝新版的。

---------
wget https://cmake.org/files/v3.15/cmake-3.15.7.tar.gz
tar -xzvf cmake-3.15.7.tar.gz
cd cmake-3.15.7
./bootstrap
make -j2
sudo make install
cmake --version
---------

製作一條帶充電功能的 USB OTG 線。

ThinkPad USB Keyboard with TrackPoint 的 sensitivity 設定

 會用 ThinkPad 筆電的人,可能有不少人是衝著那個小紅點 (Trackpoint) 而作的選擇吧。

不但如此,使用桌上型電腦時,還會花高價,新台幣要三千左右,去買個外接的 USB 鍵盤+小紅點來用。本人就是如此,當年IBM還未這產品時,我也是在那抗議的其中之一。

不過,我習慣使用 Linux,並沒有這產品的驅動程式。其實也沒差啦,還是可以正常使用。只是最近,覺得那個小紅點推得實在很辛苦,造成腕部的傷害,痛得無法打羽球。

在Linux的滑鼠設定中,可以設定加速和閾值,雖然稍有改善,但腕部還是很痛苦,久久沒有改善。

經過努力的搜尋,終於找到可以透過 sysfs 設定 sensitivity。不過,只有Thinkpad筆電才可以,因為它是在i8042的目錄下,那是透過 PS/2 界面的裝置。

原想,自己也可以 HACK 一個 USB 的吧。沒想到,再努力搜尋一下,已有人做了,實在太棒了,有現成的可用。

原來要修改 kernel,但太麻煩了,改進的作法如以下所述。

設定好之後,哇! 輕輕一推小紅點,cursor 跑得像飛的一樣,真是太感動了。

數值越大,推起來越輕鬆,原來的數值是 0,難怪我推得那麼辛苦。

接下來,要開機自動設定,請自行參閱其它文件了。

2013-05-18 補記

應該是用下面這個比較簡單,不用去動到 kernel。
https://github.com/bseibold/tpkbdctl

參考網址:
http://linux-thinkpad.10952.n7.nabble.com/Changing-sensitivity-ThinkPad-USB-Keyboard-with-TrackPoint-td18067.html

使用 python 寫的,在 MAC OS 也可以用,太棒了。

=====================
2013-08-13
可以使用 Python 直接控制

首先要 emerge pyusb

然後透過下列指令找到裝置,確定 idVendor=0x17ef, idProduct=0x6009 符合,最末一碼為 0 是鍵盤,1 是trackpoint。
# ls /sys/bus/usb/drivers/usbhid/1-1.5:1.1
在此目錄下會有一個檔名為  0003:17EF:6009.0004

執行下列指令改變 sensitivity
 # echo 1-1.5:1.1 > /sys/bus/usb/drivers/usbhid/unbind
 # python trackpoint-script.py
 # echo 1-1.5:1.1 > /sys/bus/usb/drivers/usbhid/bind


trackpoint-script.py 內容如下

#pyusb imports
import usb.core
import usb.util

data = [0x4, 0x6a, 0x3, 0xfc, 0x38]
dev = usb.core.find(idVendor=0x17ef, idProduct=0x6009)
dev.ctrl_transfer(0x21, 0x9, 0x304, 0x1, data)


另外,下面的一些資料,可以做為進一步的參考。

Just for anyone not immediately recognizing the usb_control_msg()
parameters:

 0x21  == USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE
 0x9   == HID_REQ_SET_REPORT (assuming the interface class is HID)
 0x304 == report_type + 1 << 8 | report_id
 0x1   == interface number

2023年6月15日 星期四

拆解創想 Creality K1

 買創想 Creality K1 的目的就是想要了解它到底為何能這麼快,在試用之後,就想拆開一探究竟了。還好,有人比我先動手,而且拍成視頻,我看他拆就好,不用動自己的機器。

YouTube 影片連結: Creality K1 Teardown, Inspection, First Print

整理一下看他拆的一些重點。

  • 有三個 Z軸,但只是用一個步進馬達經由皮帶帶動三個Z軸,所以和想像的獨立三Z軸差很遠。因此它的步進馬達總共只要 4個,XYZ 軸加擠出機,節省成本之一。
  • XYZ全都是光軸,比線軌省很多。
  • Z軸偵測,在熱床的四個角落有壓力偵測器,使用 HX711 壓力感測模組。
  • 熱床 240W,使用 24V直流供電。
  • 上位機和 MCU 做在同一塊 PCB 上,應是針對此款機型設計的系統。PCB 上只有3個步進驅動,擠出機的驅動在打印頭的 PCB。
  • 打印頭上,有 MCU 和步進馬達的驅動。MCU 是 GD32F303,可能使用 CAN BUS 和主機板連線。
  • 喉管風扇藏在打印頭的 PCB 後面。

2023年6月14日 星期三

存取創想 Creality K1 的 KLIPPER 的完整功能

參考影片 Get FULL KLIPPER Access on your Creality K1,詳細說明在影片下方的文字說明。

需要的檔案在這: https://github.com/giveen/K1_Files/tree/main/exploit

使用 git clone https://github.com/giveen/K1_Files 把整個 repo 下載下來。然後用瀏覽器開啟 'K1_Files/exploit/k3d_k1_exploit .html',會出現下面的畫面。

按 [Method A],它會把 shadow.gcode 上傳到印表機。嗯,不一定會成功,不過主機上多了一個 new_shadow.gcode。我試著去 print 那個 new_shadow.gcode,好像也沒什麼用。後來用手動把那個檔案上傳,再按 print,再按 [Method A],就跳出一個提示,說可以用 root/creality 登入 ...。所以,我是成功了,但不知道怎麼成功的,想玩的人就多試幾次吧。

shadow.gcode 的內容如下,上傳以後會放到系統 /etc 目錄下。
-----------------------------------
root:$5$/iMbCgHty3$rM7UZICj9tmUe13BcAOUgVvpa.sSMV4k/t2Yes64ZZ9:::::::
daemon:*:::::::
bin:*:::::::
sys:*:::::::
sync:*:::::::
mail:*:::::::
www-data:*:::::::
operator:*:::::::
nobody:*:::::::
dbus:*:::::::
-----------------------------------

這是一個密碼檔,使用 klipper 的上傳功能,再將該檔案移到 /etc 目錄下。

補記,稍微看了一下 html 檔。方法一是按 [Methdo A],由程式自己上傳資料,存成 new_shadow.gcode,再把它搬移改名成 /etc/shadow。方法二是要先手動上傳shadow.gcode,再按 [Methdo B] 把它搬移改名成 /etc/shadow。

再來,就用 ssh 進入,照著下面的步驟,啟動 moonraker_service。

修改步驟的英文說明。
-----------------------------------
#####################################################
How to Get FULL KLIPPER Access on your Creality K1
# INSTRUCTIONS:
#####################################################

How to get Fluidd web interface on the Creality K1:
 1. Use K3D’s K1 Exploit (Слив нового Ender...  ) HTML doc to obtain SSH access 
 2. Connect to the printer via SSH (root + “creality”)
 3. Type “cp /usr/share/moonraker/moonraker.conf /usr/data/printer_data/config/“
 4. Type “vi /etc/init.d/S50nginx” and using the commands below, remove the comments from the lines:
 ⁃ # mkdir -p /var/log/nginx /var/tmp/nginx
 ⁃ # start-stop-daemon -S -x "$NGINX" -p "$PIDFILE” 
 ⁃ NOTE: Vi editor commands:
 ⁃ “I” is edit mode
 ⁃ “:w” is save
 ⁃ “:q” is quit
 5. Type “vi /etc/init.d/S56moonraker_service” and remove the comment from the line:
 ⁃ # start (If there is one)
 6. Restart the printer
 7. Type printers IP address + “:4408” to access fluidd frontend

ALL Credit goes to @K3D, @xand3r40r93 and @YTKAB0BP
-----------------------------------

使用 port 4408,也真的看到 klipper 的畫面。不過,先警告一下,印表機可能就會出錯,無法正常運作喔。若沒把握,可不要亂玩。

後來發現是上傳的檔案讓系統出錯,刪掉重新啟動就好了。


另外,更新的 Firmware 是 7Z 檔,解壓密碼在 K1_Files 裡的更新程序中可以找到。







 

2023年6月13日 星期二

由創想 K1 看 3D列表機發展的 Convergence 與 Divergence

因為看到大家都在討論創想 K1,基於好奇,忍不住就買了一台。收到後,發現並不會太大,剛好可以用機車載回家。

關於整個機器,不用自己拆,已有人做了,Creality K1 Teardown, Inspection, First Print


按照賣家的指示,拆箱後,切換到 110V,拆下固定Z軸的螺絲,開機。一路看它完成測試,完全自動,不用像以前要了解如何調平。不想浪費材料印測試檔,想直接印個檔案試試。發現沒有切片程式可用,官方的 creality_print 只有 windows 和 MAC 的程式,只能選擇裝 Windows 版的啦。裝好後,就卡住了,執行時出現下面的錯誤提示。

我是在 Linux 下使用 Vmware 執行 Windows,找不到解決的方式,就無限卡住,都有了想把它賣掉的念頭了。後來想想,試著用 PrusaSlicer 來切,使用 Voron 的設定,順利的印出第一個成品。細看之下,Z軸有好多震紋,還是第一次碰到。但我目前大都印零件,沒什麼關係,回想剛開始 DIY 3D 印表機時,印出的成品更差,也是將就著用。


曾聽到某位 IBM 的講者提到科技的 Convergence 與 Divergence。在一項技術的發展初期,大家會提出各種不同的作法,然後慢慢的會找到較好或可行的作法,最後就慢慢收斂到剩下一兩種作法。

我是去年 (2022年) 跳進 3D印表機 DIY 的世界,當時有不少廠商的機器可買,但和 DIY 的機器相去不遠,所以 DIY 盛行。尤其,我個人認為,Voron 和 Klipper 更是發展的一個里程碑,Klipper 讓機器的設定和功能多樣化,Voron 的多 (3+) Z 軸則實現了自動調平的功能。只要設定時確定一些參數,往後就完全不用手動調平,儘管換了不同厚度的打印平台,如較薄的 PEI 鋼板或較厚的玻璃,都由機器自動計算噴頭的高度。

K1 的開賣的價格比自己買最便宜的 Voron 散件還要便宜。雖然收到機器後發現使用的材料便宜很多,如全機使用光軸,使用自己設計的機構,不使用鋁擠結構,但廠商設計組裝,開箱即用,又較便宜,幹嘛在乎用料呢。從 DIY 幾台 3D印表機的心得,我個人認為 3D印表機的結構不會差太多,關鍵在於列印頭,而這是 DIY玩家無法參與的。另外,3個或以上的 Z軸是自動調平所必須的。不過,後來仔細看了人家拆機的影片,3軸並非獨立的,而是聯動的,由單一步進馬達帶動,所以是用軟體做調平補償。熱床是 240W,使用直流。嗔頭與熱床接觸偵測使用 HX711 壓力模組。

回想雷射印表機和噴墨印表機發展初期,台灣和國外也有很多廠商在做,但最後幾乎剩一家 HP 獨大。可以想像 3D印表機未來也將如此,DIY 玩家的世界即將過去,變成廠商之間的競爭,使用者只要挑那家出的機器,像 Apple 或 Android 手機。為了高速列印,機械結構則是會用較簡單的 CoreXY,龍門機大都會被淘汰,Delta 我就不清楚了,況且用它的人向來就較少。

在 K1 之前,很多人對  Bambu Lab 的機器非常讚賞,但因為它 Totally not open,所以我一點也不動心。後來看到有人說 K1 使用 Klipper 系統,而且可以打開,才下定決心買它來看看。不過,未來要是 3D列表機完全商品化,誰會在乎它是否 open source 呢,只會管它的效能吧。

對了,我的第一台3D 印表機是 XYZprinting 的產品,但因為它綁耗材,所以在附的一卷耗材才印了幾尺,就被我毅然的半價賣掉了。未來,XYZprinting 若還是固守賣耗材的巿場,大概完全沒有機會吧,現在看到有人討論 XYZprinting 的機器,大家一致的看法就是賣掉它。

以上,是我由 K1 聯想到很多的想法。未來,不要花太多心思在3D印表機身上,而是用它來做想做的東西,如小紅點機械鍵盤的外殼。


2023年6月8日 星期四

Ubuntu Linux 使用

測試常用

簡要安裝備忘

  • 要用 ssh 連線 =>  apt install ssh
  • 要使用 xfce4 => apt install xfce4
  • 要使用 xrdp =>  apt install xrdp
  • 搜尋 package => apt-cache search stm32flash

xrdp 無法啟動 xfce4

在 Ubuntu Linux 上安裝 xrdp,但一直無法啟動 xfce4,部分錯誤訊息如下。

............
dbus-update-activation-environment: setting LC_PAPER=lzh_TW
xfce4-session-Message: 13:46:21.699: SSH authentication agent is already running
gpg-agent: a gpg-agent is already running - not starting a new one

(xfwm4:4332): xfwm4-WARNING **: 13:46:21.922: Unsupported GL renderer (SVGA3D; build: RELEASE;  LLVM;).

(xfwm4:4332): xfwm4-WARNING **: 13:46:22.834: Failed to connect to session manager: Failed to connect to the session manager: IO error occured opening connection
Segmentation fault (core dumped)

在網路上找不到解決的辦法,就參考 Arch Linux 的作法。修改 /etc/xrdp/startwm.sh,讓使用者可以使用 ~/.xinitrc 來啟動。修改如下。

#!/bin/sh
# xrdp X session start script (c) 2015, 2017, 2021 mirabilos
# published under The MirOS Licence

# Rely on /etc/pam.d/xrdp-sesman using pam_env to load both
# /etc/environment and /etc/default/locale to initialise the
# locale and the user environment properly.

if test -r /etc/profile; then
        . /etc/profile
fi

if [ -r ~/.xinitrc ]; then
    . ~/.xinitrc
    exit 0
fi

test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession

紅色部分是多加上去的,判斷假如 ~/.xinitrc 存在,則執行它。.xinitrc 的內容如下。

#!/bin/sh

exec dbus-launch --sh-syntax startxfce4

可能需要執行 chmod +x .xinitrc,設成可執行。


2023年6月4日 星期日

新歡 Giant TCR

 一直想騎公路車,雖然年紀大了,可能不適合這般拉風的腳踏車,體力也可能不勝負荷。環島回來後,同時也喜歡上騎腳踏車,雖然已經訂了一輛黑狼,心中卻念念不忘要再騎公路車。前幾天,黑狼牽回家後,忍不住還是上網拍找了一輛公路車,昨天對方把車送過來了。這張照片就借用賣方的照片了。


在年輕還是個五專生時,就對這種專業的向下彎的把手的公路車,特別情有獨衷,曾用工讀的錢買過一部二手公路車。在後來,只要有機會選擇,都會選公路車。

顯然的,這種騎起來不怎麼舒服的車,難成為巿場主流,就像我只開手排車或只騎打檔機車一樣,沒有多少選擇性,而且只有少數高價產品。便宜的公路車,只有捷安特的R1000,但它的變速系統實在是太簡單了。而中意的,都要兩萬以上。

在網拍上,找到這一輛,剛買不久,還算新,同時又比原價便宜數千元,只不過才為黑狼花了不少錢,不敢再亂花錢,猶豫了許久,最後還是和車主聯絡,把它買下來了。
2008-03-02 15:15

拿到車子後,迫不急待的,想要試騎看看。雖然公路車的強項是在平坦的公路上馳騁,但還是想試試爬坡的感覺。所以又選擇熟悉的指南宮來試新車。

深夜,有點冷,出門時穿了毛衣、襯衫、和背心,騎到上坡時,真是辛苦,滿身大汗,衣服卻又無法脫,因為沒帶背包,公路車更是完全沒有攜帶東西的配備,這時頗懷念粗勇的黑狼的好處。

身體熱得難受,騎到一半,真想回頭下山去。可是,想到半途而廢,實在又不甘心,還是賣力的往前踩。公路車的齒比,雖然原車主將大盤換成CT盤,踩起來,還是很累,腳很酸。尤其是那專業的卡踏,真是非常專業,小小一塊,讓穿涼鞋的腳,更是痛得受不了。有點奇怪的是,踩起來很累,卻不會踩不動,好像很快的,就爬到指南宮的停車場,只不過停下來後,兩腳走起路來,會不由自主的不斷的抖。

到指南宮的停車場,看著上去廟的階梯,又開始猶豫,要回家好呢,還是上去廟裡。這車如此的新,又漂亮,更重要的是,根本沒帶鎖,若是將車放在停車場,人離開去廟裡,肯定會再也見不到車。

猶豫了一下,把車往肩上一扛,還真輕呢,就開始爬上廟去。感覺只比背包重不了多少,只是腳還是輕微的抖著,剛才踩的太累了。

扛著到廟裡參拜,喝了罐老虎牙子,補充能量。離開前,又求了一張籤,是好籤呢,感謝純陽祖師慈悲鼓勵,我一定會好好珍惜的。

下坡回家囉,雖然不用費力的踩,卻感覺比上坡痛苦。因為握在剎車上方,沒有力氣剎車,控制速度,又不敢太快,怕失控發生意外。寶哥的名言,謹記在心,「下坡超速,齗手齗腳不奇怪」。只好彎下腰來握彎把處,可是公路車毫無避震效果,腰很酸,手又麻又累,腳踩著那小巧的卡踏,也不好受。中途停下來好幾次,變換姿勢,好不容易才撐到山腳。

哇,下坡這麼辛苦,那要是騎去爬山,可真是上山不容易,下山更難啊!

騎在回家的路上,真是感謝政府造的公路,看似平坦,卻不時有個洞,有時還是一排的凹溝,車子騎過去,就像打鼓般的,咚、咚... 震個不停。尤其是無所不在的白色噪音條,開車或騎車的,走過它,只會發出提醒的聲音,騎公路車,卻是用全身震動的方式來提醒。還好,至少人孔蓋是平的,這是最大的進步了,不然,過去人孔蓋的落差,可是有好幾公分。

回到家,扛上樓去,一點都不費力。這次,捨不得往這車身上塗油漆了,就保持它的漂亮外貌吧。

後記,這車送給車友了,自己騎 CR-01。


新購愛駒 - 捷安特 CRX1

2008-05-19 22:22



南橫之行的最後一天,騎到台東捷安特還車,要離去時,進到店中,匆匆一瞥,見到CRX 1,正是我夢想的車,稍微問了一下價錢,就趕去火車站坐車。


參加環島的途中,聽了寶哥介紹黑狼三號後,好不容易下定決心,買一部回家。當時也不知道往後還有沒有騎單車長途旅行的機會,只是想,買一部當作環島的紀念吧,若一直都沒機會騎,就當作通勤車來用吧。

環島回來,發覺自己喜歡上單車運動了,有時間就騎著平日騎的通勤車到烏來或指南宮。騎了幾次以後,又有了不同的想法,覺得公路車是比較理想的車,在公路上騎,較符合人體力學,容易使力。所以又心動,想買一輛公路車,也就在黑狼牽回來的附近,又買了一輛二手公路車--捷安特 TCR。

因為家住在公寓的四樓,沒有電梯,要把單車抬上抬下的實在頗累,所以重量超過20公斤的黑狼三號牽回家後只騎過一次,就不想再抬它下樓了,大多是騎重量不超過10公斤的TCR。

當然,TCR也是有缺點的。騎TCR,在下坡路,對我一直是個挑戰,當我騎上貓空,實在很想搭纜車下來,因為一路衝下去,要很用力的剎車,很怕失去控制。另外,沒有泥除,下兩天騎車,輪子帶起的泥水直噴屁股,從外褲濕到內褲,實在難過。還有,沒辦法帶東西,騎遠一點,背東西實在也辛苦。詢問過前輩,答案是,公路車,就是要輕,能省則省。所以,大多數人的公路車,或較貴的單車,都是連腳架都沒有,我要為TCR裝上腳架,就頗為掙扎,怕被人笑。還好,車店老闆倒是挺隨和的,沒有太多專業人士的意見,覺得當然是裝腳架比較方便,所以我就TCR裝上腳架。

綜上所述,我心目中理想的車,要有羊角式的下彎式把手,要有腳架,要有貨架,要好剎車,重量也不能太重。因此,在台東對 CRX 1 驚鴻一瞥之後,心裡就有意買一台來騎。回來後,就開始在網路上尋找相關的資訊,猶豫著該不該買。它的身價與黑狼三號一樣,我擔心買了會後悔,就像黑狼三號一樣,把它供在家裡。當然,也會想花這麼多錢,值得嗎?會不會太浪費了些。

心動就行動吧,找個時間,請個補休,找了一家附近的車行,把它定下來。一個禮拜後,車牽回來,騎了指南宮和貓空,覺得頗不錯,嗯,沒有後悔啦!

來,三輛寶貝車,老大--最重的黑狼三號,老二--十多公斤的 CRX-1,老三--不足十公斤的 TCR,排排站,照張相。

以下節錄捷安特網站的官方說法,供日後參考。

CRX 設計概念
========
‧多用途車架幾何,拆除載具後就是休閒舒適公路車
‧輕量速度,兼具長途騎乘的高穩固性
‧搭配照明警示車燈 (有嗎?)
‧採用通用規格零件,易於修護零件維修便利
‧考量長騎乘強化舒適性設計
‧負載能力高,多日裝備及載水

CRX 1 規格簡述
==========
‧GIANT鋁合金公路旅行專屬幾何設計車架
‧SHIMANO 105 20段變速,後飛輪 12-27T,
‧700Cx38,700Cx42,700Cx46.5,700Cx50
‧雪光白
‧12.1kg/46.5 (不含袋子)

‧碳纖維前叉,鋁合金跑車型車把手 (前叉是碳纖維? 看不出來喔)
‧專利D2舒適型座墊
‧輕量速度型檔泥板
‧全新鋁合金後貨架
‧防水多功能馬鞍袋(20公升)
‧AVID BB7-Road 機械碟煞系統 (2008款變BB5,降低成本? BB7的煞車片一組要600,好貴啊!)
‧可調式車手豎桿
‧鋁合金跑車把增加煞車副把手 (煞車副把手好用,下坡就靠它了)
‧碳纖維旅行前叉增加前貨架預留孔
‧低滾動阻力長程快適型防刺反光胎 700x32C



網誌存檔