2023年3月20日 星期一

在 ArchLinux 下安裝 chrome-remote-desktop

 直接用 yay -S aur/chrome-remote-desktop 安裝,出現下面的錯誤

----------------------------
==> Retrieving sources...
  -> Downloading chrome-remote-desktop-111.0.5563.12.deb...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0  1449    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404
==> ERROR: Failure while downloading https://dl.google.com/linux/chrome-remote-desktop/deb/pool/main/c/chrome-remote-desktop/chrome-remote-desktop_111.0.5563.12_amd64.deb
    Aborting...
 -> error making: chrome-remote-desktop
----------------------------

Google 到的答案,參考 Gentoo 的 ebuild,使用 curl 來找出目前的版本

----------------------------
$ curl -q https://dl.google.com/linux/chrome-remote-desktop/deb/dists/stable/main/binary-amd64/Packages | grep ^Filename
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1381  100  1381    0     0  17934      0 --:--:-- --:--:-- --:--:-- 18171
Filename: pool/main/c/chrome-remote-desktop/chrome-remote-desktop_112.0.5615.18_amd64.deb
----------------------------

使用 git clone https://aur.archlinux.org/chrome-remote-desktop.git 下載 AUR 的套件,再修改它的 PKGBUILD 中的版本。再執行安裝,出現錯誤。

----------------------------
$ makepkg -si
==> Making package: chrome-remote-desktop 112.0.5615.18-1 (Tue Mar 21 14:03:01 2023)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading chrome-remote-desktop-112.0.5615.18.deb...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 17.1M  100 17.1M    0     0  45.8M      0 --:--:-- --:--:-- --:--:-- 45.8M
  -> Found chrome-remote-desktop.service
  -> Found pamrule
  -> Found crd
==> Validating source files with sha256sums...
    chrome-remote-desktop-112.0.5615.18.deb ... FAILED
    chrome-remote-desktop.service ... Passed
    pamrule ... Passed
    crd ... Passed
==> ERROR: One or more files did not pass the validity check!
----------------------------

執行 

---------------------
$ makepkg -g
==> Retrieving sources...
  -> Found chrome-remote-desktop-112.0.5615.18.deb
  -> Found chrome-remote-desktop.service
  -> Found pamrule
  -> Found crd
==> Generating checksums for source files...
sha256sums=('c4dda4236e0d25523fab390e741c7a43334e1b2932d96443af3d2fed43fcc49d'
            'e5da5ae89b5bc599f72f415d1523341b25357931b0de46159fce50ab83615a4b'
            'fcc38269eb1cc902abff9688eda9377a22367e39b9f111f87c0dd8e77adb82e2'
            '021110f49d465294517eec92eeb24ebca41e264ef33cbdda78732add1f269d02')
------------------------

將 checksum 複製到 PKGBUILD 中。即可成功安裝。





2023年3月9日 星期四

Voron 之二

 

上次配的是 MKS-Monster,CPU 是 STM32F407, 168 MHz CPU/210 DMIPS,約 RMB 200。這次配 FYSETC-SPIDER,CPU 是 STM32F446,180 MHz/225 DMIPS,約 RMB 278。兩者都是意法半导体的基本款 CPU。後者貴了不少,但我覺得它的說明文件的表示法不好讀。

2023年3月1日 星期三

MKS PI 除錯

買到機王? 無法啟動的 PI。


無線網卡 WU816N 可用,WU817N 無法用。


使用 mincom 來連接,因權限問題,直接使用 sudo 來執行。

---------------------------------------------
# minicom -b 1500000 -D /dev/ttyUSB0

歡迎使用 minicom 2.8

選項: I18n 
編譯於 Jan  9 2021, 12:42:45.
通訊埠 /dev/ttyUSB0, 19:56:30

按 CTRL-A Z 說明特殊鍵                                                  
按 reset 之後,出現下面的錯誤訊息。只有在插入 TF 卡之後,才會出現下面的訊息。若沒插卡,則完全沒有訊息。所以,這段程式是在 TF 卡上,而非在 SOC 的 flash 裡。
 
DDR version 1.16 20190528                                            
ID:0x805 N                                                        
In                                                                
DDR3
333MHz
 data training error 
ERR
---------------------------------------------

正常的板子,按 RESET 重新啟動後的訊息如下。

---------------------------------------------
DDR version 1.16 20190528
ID:0x805 N
In
DDR3
333MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
ddrconfig:1
OUT
Boot1 Release Time: May 13 2019 17:34:36, version: 2.50
ChipType = 0x11, 232
mmc2:cmd19,100
SdmmcInit=2 0
BootCapSize=2000
UserCapSize=29820MB
FwPartOffset=2000 , 2000
SdmmcInit=0 NOT PRESENT
StorageInit ok = 12018
Raw SecureMode = 0
---------------------------------------------

慢慢地追,才知道這訊息是 rk3288 CPU 的 u-boot 發出的錯誤訊息,原始碼在 drivers/ram/rockchip/sdram_rk3328.c。看來是 DDR3 記憶體出問題,難道是冷焊嗎? 可以用熱風槍吹嗎?

source code: sdram_rk3328.c
---------------------------------------------

static int sdram_init(struct dram_info *dram,
      struct rk3328_sdram_params *sdram_params, u32 pre_init)
{
struct sdram_cap_info *cap_info = &sdram_params->ch.cap_info;
void __iomem *pctl_base = dram->pctl;

rkclk_ddr_reset(dram, 1, 1, 1, 1);
udelay(10);
/*
* dereset ddr phy psrstn to config pll,
* if using phy pll psrstn must be dereset
* before config pll
*/
rkclk_ddr_reset(dram, 1, 1, 1, 0);
rkclk_configure_ddr(dram, sdram_params);

/* release phy srst to provide clk to ctrl */
rkclk_ddr_reset(dram, 1, 1, 0, 0);
udelay(10);
phy_soft_reset(dram->phy);
/* release ctrl presetn, and config ctl registers */
rkclk_ddr_reset(dram, 1, 0, 0, 0);
pctl_cfg(dram->pctl, &sdram_params->pctl_regs, SR_IDLE, PD_IDLE);
cap_info->ddrconfig = calculate_ddrconfig(sdram_params);
set_ctl_address_map(dram, sdram_params);
phy_cfg(dram->phy, &sdram_params->phy_regs, &sdram_params->skew,
&sdram_params->base, cap_info->bw);

/* enable dfi_init_start to init phy after ctl srstn deassert */
setbits_le32(pctl_base + DDR_PCTL2_DFIMISC, (1 << 5) | (1 << 4));
rkclk_ddr_reset(dram, 0, 0, 0, 0);
/* wait for dfi_init_done and dram init complete */
while ((readl(pctl_base + DDR_PCTL2_STAT) & 0x7) == 0)
continue;

/* do ddr gate training */
if (data_training(dram, 0, sdram_params->base.dramtype) != 0) {
printf("data training error\n");
return -1;
}

if (sdram_params->base.dramtype == DDR4)
pctl_write_vrefdq(dram->pctl, 0x3, 5670,
  sdram_params->base.dramtype);

if (pre_init != 0) {
rx_deskew_switch_adjust(dram);
tx_deskew_switch_adjust(dram);
}

dram_all_config(dram, sdram_params);
enable_low_power(dram, sdram_params);

return 0;
}
---------------------------------------------

這篇是 Firefly 的 ROC-RK3328-PC 開發板的啟動過程的介紹 [Boot mode description]。無論如何,過不了 DDR 測試,進不了下一關,能做的事很有限,可能連啟動 jtag debug 都難。

maskrom 模式的 xrock 工具,不得已時,死馬當活馬醫,進入 maskrom 模式重燒 bootloader。bin 可在 rockchip-linux/rkbin 的 rkbin/bin /rk32/ 取得。

USB 2207:320C => Fuzhou Rockchip Electronics Company,RK3328 in Mask ROM mode







網誌存檔