MK808 Mini PC 買ってみて壊した

こないだハードオフでMK808 Mini PCを買った@500円

いわゆる、AndroidスティックPC

  • Contex-A9 1.6GHz x2 (Rockchip RK3066)
  • DDR3-1666 1GB
  • eMMC4? 8GB

2012年発売らしくもう11年前なので、買って役にたつとかそういうんではない

で、結局壊してしまったらしく、その備忘録(戒め)

Linux

こちら にわかりやすい手順が書かれている

が!

買った端末では、Linux化に必須な「リセットボタンを押しながらの電源投入」で特殊モード(MaskROMモードというらしい)に移らない…

色々調べると、eMMCの特定のピンをショートさせてもMaskROMモードに映るらしい?(同じこと?)

ショートさせて一応MaskROMモードに入れたもののeMMCのコマンドを送ってもうんともすんとも言わなくなり、そのうちAndroidも起動できなくなった…

正確にはDroidくんが倒れてる画像が出て止まるので、ブートのどこかでデータがおかしくなってる?

公式?に解説があるが、既にサポートされてないSoCでもあり断念

ブート周りは難しい

Kinect v1のUSB2.0デバイス化

概要

  • 家に眠っていたXbox360用のKinectを、ゲーム機専用のAUX接続からバスパワー駆動のUSB2.0接続一本に改造してみた
  • Kinect v1の構造、仕組みを知ることができた
  • USB2.0信号ならなんとか取り扱える感触を持った

参考にしたHP

Kinect v1の分解

  • iFixitの手順通りにすすめた
  • T6とT10Hのトルクスドライバーが必要(ベッセルのドライバーがおすすめ)
  • Step6の筐体下部にある穴あき金属シートは剥がすとぐにゃぐにゃになるので元には戻せないと思ってください
  • 同じ下部のvoidシールも剥がさないと筐体を開けられません

  • 上から前面、下部(サイドの通風孔は取り外せる)、上部(表裏ひっくり返している)
  • 太いケーブルがマイクアレイ(青、白、赤、黒の4つ)との接続用

  • 上からアルミフレームとカメラセンサー・画像処理専用基板(以下センサー基板)、USBオーディオ基板、メイン基板
  • プラスチック筐体の中にこれらが入っている
  • 入っている様子は上記参考サイト「Looking into Kinect 360」 2枚目の写真を参照

  • メイン基板の裏面
  • 左側にマイクアレイの受け口となる白色の端子、隣にADコンバータ(Wolfson WM8737G 2ch x2 = 4ch)
  • 右側にMarvellのSoCとDDR2 SDRAM

  • 全体の処理の流れは以下と想像
    • 緑の矢印と横方向の青矢印でカメラとマイクからの入力を受け付け
    • マイクのオーディオ信号はUSBオーディオ化(縦方向の青矢印)
    • 黒の端子からUSB信号としてゲーム機へ(赤の矢印)

カメラセンサーのUSBデバイス

神サイトによるとセンサー基板だけでもUSBデバイスとして使えるとのこと
「Looking into Kinect 360」 最後の図に、センサー基板からの14ピン端子の説明がある
それを見るとUSB2.0に3.3Vと1.8Vが追加されているだけと解釈できる
つまり、緑の矢印部分をメイン基板ではなく、直接PCに繋いでもUSB2.0バイスになるらしい

接続ボードの作製

※以下をご自身でされる際は自己責任でお願いします

必要なもの
  • Kinect v1 Model1414
  • 工具
    • はんだごて(20Wを使用)・はんだ・吸い取り線
    • アルミを削るor切る工具
    • テスター
    • ピンセットとかメンディングテープとか
  • 接続ボード
    • ミニブレッドボード
    • SOP16基板(1.27mm-2.54mm変換)
    • ピンヘッダー(オス-オス)
      • SOP16基板をブレッドボードに接続する用
    • 接続端子
      • 自分はメイン基板のメス側端子を再利用
      • 1.27mm 2x5のピンソケットを折り曲げてSOP16基板に接着でもいけそう(未確認)
        • 端の3.3V/GND 2x1ピンはなくても残りの2x2ピンでどうにかなるかなと
        • または2x10の2x4ピンを頑張って削るか…
    • DC-DC降圧コンバータ x2
    • ジャンパーワイヤー(これとか)
      • ブレッドボード上の配線用
メインボードからメス側端子を剥がす
  • 一番しんどかった…
  • はんだを取り切れず、コンタクトがバリバリと基板側に残る惨事
  • ピンセットで一個ずつソケットに埋め戻す羽目に…
  • 一応使えている?(ノイズの原因かもしれん)

  • 転生元(下)と転生先(上)

  • 2x10のピンソケットを削ってオス側端子を90度曲げるでもいいかもしれん(試していません)
SOP16基板に接続端子をはんだ付けする
  • めっちゃ目が疲れる
  • 短絡してないか導通チェックしてなんとかOK
DC-DC降圧コンバータのキットを組み立てる
  • ピンヘッダーと可変抵抗を基板にはんだ付け

  • USBケーブルからの給電ができるようになったら可変抵抗をグリグリ回して出力が所定の電圧になるよう調整
ブレッドボードに配線する
  • Fritzingというソフトでブレッドボード上の配線をシミュレートしてから実際の作業を行った
    • 実作業の前に試行錯誤できる
    • 各配線の導通具合を確認できるので安心

  • ブレッドボードは右上の[パーツペイン]->[CORE]タブのブレッドボードビューにある「RSR 03MB102 Breadboard」
    • size : mini に変えれば画像の見た目に
  • ジャンパーワイヤーはブレッドボードか基板の端子部分からドラッグ&ドロップ
    • 後から配線の色を変えられる
    • ドラッグ中に接続先が見つかると青紫色になるのでそこで離す(吸着があまり上手くいかない…)
  • DCDCコンバータは[Power]にある「voltage regulator 5v/3.3v」(1.8vがない…)
  • ピンヘッダーは[Connection]にある「Generic female header」
  • 基板は[虫眼鏡]タブで「sop16」で検索
    • [Edit Pin Labels]で各端子に名前をつけられる
  • USBコネクタは「usb connector」で検索

  • 気になる端子(画像はGND)を左クリック押しっぱにすると導通する箇所が黄色でハイライト表示される

  • 実際に配線した結果が以下の画像

  • 左下にある青(Fritzingでは赤黒黄)の3本は太さ的に並べられなかったので真ん中の1本を横に通した

USBケーブルの改造

必要なもの
  • USB2.0 Type-Aケーブル
    • ニッパー
    • ピンヘッダー(オス-メス)
    • ジャンパーワイヤー(これとか)
USBケーブルを切断し4つの信号線を取り出す
  • ニッパーで完全に切って、先っちょだけ黒い被覆を取り、赤、黒、緑、白の信号線を取り出す
ピンヘッダーに各信号線をはんだ付けする
  • 4連のピンヘッダーに各信号線の被覆を剥がしてはんだ付け
  • 一応熱収縮チューブで絶縁した(できてない)
  • 短絡してないか確認した

  • やり直したい…
ブレッドボードと接続し、電圧が来ているかを確認する
  • ジャンパーワイヤーでピンヘッダーとブレッドボードをつなげる
  • Type-A側をPCに接続し、センサー基板との接続端子に所定の電圧が来ているかテスターで確認

アルミフレームを削る

  • センサー基板と接続基板をつなげるとアルミフレームに干渉するので頑張って削った
  • 細い糸鋸みたいので切っていくのがよいかと

動作確認

確認環境

  • 改造Kinect v1(アルミフレーム・カメラセンサー・センサー基板)に接続基板をくっつけたもの
  • シングルボードコンピュータ
    • ARM Cortex-A53 4core 2GB RAM
    • USB2.0 x4(端子いっぱい~)
    • 確認用に電圧・電流チェッカーを間に挟む
    • Armbian 23.02 (Debian)

USBデバイスの認識

  • USBケーブルを電圧・電流チェッカーに接続する
    • 最初、約4.5V 0.7Aのロードが10秒弱発生
    • アイドル時は約4.75V 0.32Aのロード
    • キャプチャ動作時は約4.55V 0.57Aのロード
    • USB2.0規格では、5V 0.5Aまで供給できるとあるので規格外ですありがとうございました
      • 機器によっては電圧降下でリセットがかかったり壊れたりするかも

  • lsusbを実行してUSBデバイスとして認識していることを確認

libfreenectのインストール

  • libfreenectは非公式のKinectのユーザ空間ドライバ
    • 有志が開発、Apache 2.0 ライセンス
  • 以下でソースビルド&インストールを行った
mkdir -p ~/kinect_ws/src
mkdir -p ~/kinect_ws/libs
cd ~/kinect_ws/libs
git clone https://github.com/OpenKinect/libfreenect.git
cd libfreenect

sudo apt install freeglut3-dev libusb-1.0–0-dev
mkdir build
cd build
cmake -L ..
make
sudo make install
sudo ldconfig /usr/local/lib64 // 拙環境では必要だった
  • /usr/local/以下にツール、ライブラリ、ヘッダーがインストールされる
  • また、ユーザ空間ドライバをroot以外で動作できるようにするためのおまじないがあるらしい
    • これやってもダメだったのでsudo付きで実行した(再起動が必要?)

ツールの動作と修正

  • /usr/local/binにツールがあり、freenect-camtestを実行してみる

    • エラーが出る
    • Kinect 完全体を前提にしていて、オーディオなど他の関連デバイスが見つからないため
  • fakenect-recordを実行してみる

    • 指定したディレクトリ以下にINDEX.txt device.json a-hoge.bin r-hoge.ppm d-hoge.pgmがダンプされる
      • r- がRGB画像、d- がDepth画像(PPM, PGMは画像フォーマット) 、a- が加速度センサーの値
      • INDEX.txtにダンプファイルリストが追記されてく
      • device.jsonはデバイス情報(よくわからない)
    • 以下で実行

      mkdir ~/session
      sudo ./fakenect-record ~/session
      
    • エラーが出る(原因は同じ理由)

    • /libfreenect/fakenect/record.cinit()FREENECT_DEVICE_MOTOR | FREENECT_DEVICE_CAMERAの両方を指定しているため、チルトモーターが見つからずエラーになっていた
    • FREENECT_DEVICE_CAMERAだけ指定してリビルドしたところ動作した
    • リビルドしたのは~/kinect_ws/libs/libfreenect/build/bin/にある
    • PPM, PGMファイルはirfanviewなどの画像ビューアで見れる

RGB画像とDepth画像(画角が違うのでDepthは微妙に寄ってる)

おわりに

  • とりあえずハードの改造からシングルボードコンピュータで動作するところまで確認した
  • 接触具合によって電流チェッカーに低すぎる値が出たり、キャプチャできなかったりするケースがままあった
  • また、キャプチャし続けていると画像にノイズが入る場合があり、ハード的な問題がありそう
  • コネクタを変えたバージョンなどもう少し試してみたい気持ち

Diginnos DG-STK3 にDebian入れてみた

概要

  • いわゆるスティックPC
  • 数年前にドスパラで9800円(無線キーボード・マウス付き)で売っていたのを購入
  • 液晶テレビにつないでみたもののYoutube見るには厳しく、そのまま数年間放置

所感

  • こっちはUEFIでかなり細かく設定でき、非常に好感が持てる
  • ちいさい is 正義

ハードウェア

  • SoC : Intel Atom プロセッサー Z シリーズ (Bay Trail) Atom Z3735F
    • CPU : Silvermont 4C/4T 1.33GHz/1.83GHz
    • GPU : HD Graphics(Gen7) 4EU/32SP 311MHz/646MHz
      • API : DirectX11, OpenGL 3.2, OpenCL 1.2
      • Perf : 32SP * 2FMA * 311 = 20GFlops/41GFlops
    • Other : SDP2.2W, 22nm, 2014Q1
  • RAM : DDR3L-RS-1333MHz 4Gb x4 (Samsung K4B4G1646E-BYK0)
  • ROM : eMMC5.0 64Gb x4 240/60/6000/2500 (Samsung KLMBG4GEAC-B031)
  • ROM : D/QSPI 104MHz 64Mb (winbond 25Q64FWTIM)
  • Wireless : IEEE802.11b/g/n 1x1 BT4.0 (Realtek RTL8723BS / FN-LINK F23BDSM23-W2?)
  • PMIC : (X-Powers AXP288)
  • OS : Windows 10 Home 32bit

Debian

  • HDMI : Elecrow 7inch 1024x600
  • USB Type A : 無線キーボード・マウスドングル
  • MicroUSB : USBメモリ(変換アダプタ経由)
  • MicroUSB(DC専用) : 5V 2A ACアダプタ

インストール準備

  • debian-bookworm-DI-alpha2-amd64-netinst.isoを使用
  • rufusにisoファイルを指定してインストールメディア(USBメモリ)を作成
    • MBR/GPTどちらでもインストールできたのを確認
  • WiFiとBTのファームウェアが別途必要なので以下をコピー
    • rtlwifi/rtl8723bs_nic.bin
    • rtl_bt/rtl8723bs_fw.bin
    • rtl_bt/rtl8723bs_config-OBDA8723.bin
    • コピー元:firmware-realtek_20230210-1_all.deb
    • コピー先:作成したUSBメモリ(FAT32)直下

インストール作業

  • OSインストール中にファームウェアが求められたら、Noを選択しContinue
  • SSIDを入力する画面になるのでGo Backで一旦戻り、Debian installer main menu下部のExecute a shellを選ぶ
  • /cdromUSBメモリを指している)から/へ準備しておいたファームウェアをコピー→exit
  • なんか勝手に進むけど、もう一度Debian installer main menuからDetect network hardwareを選ぶと紛れがない
  • 他はつまづくポイントなし
  • インストールオプション

動作確認

  • アイドル時は1.5~1.6W (ヘッドレス)
  • 待機電力は0.4W
  • 最大電力は5.3W弱? (ヘッドレス Geekbench5マルチコア時)

※消費電力はコンセントをワットモニターに接続して確認

Geekbench 5.5.1

Geekbench 6.0.1

Acer Aspire Switch 10 SW5-012 にDebian入れてみた

概要

  • メルカリで800円で購入(2022年5月)
  • 起動不可、充電器なしの記述
  • 対応DCプラグ(3.0/1.1mm)をShigezoneにて300円で購入
  • ACアダプタは手持ちの12V/3Aのを流用

所感

  • UEFIがガチガチに固められてて非常にやりにくかった
  • ドック間でUSB2.0はともかく3.0信号流している模様 無茶しよる
  • Debianインストール後はディスプレイとタッチを接続しなくてもSSH接続してヘッドレス運用できた

ハードウェア

タブレット

  • SoC : Intel Atom プロセッサー Z シリーズ (Bay Trail) Atom Z3735F
    • CPU : Silvermont 4C/4T 1.33GHz/1.83GHz
    • GPU : HD Graphics(Gen7) 4EU/32SP 311MHz/646MHz
      • API : DirectX11, OpenGL 3.2, OpenCL 1.2
      • Perf : 32SP * 2FMA * 311 = 20GFlops/41GFlops
    • Other : SDP2.2W, 22nm, 2014Q1
  • RAM : DDR3L-RS-1333MHz 4Gb x4 (Kingston 02516EC48XGGB)
  • ROM : eMMC MMC5.0 64Gb x8 (SK hynix H26M78103CCR)
  • ROM : D/QSPI 104MHz 64Mb (winbond 25Q64FWIG)
  • Wireless : IEEE802.11b/g/n 1x1 BT4.0 (AzureWare AW-NB177NF-V02, NICRealtek RTL8723BSの模様)
  • PMIC : (ROHM BD2614GSV)
  • Display : 10.1inch 1280x800 IPS MIPI 4-lane 34pin (AUO B101EAN01.5) / Touch Controller(Synaptics)
  • Sound : 2ch DAC (Realtek ALC5642)
  • Camera : 21pin MIPI? (Chicony? CIFDF_A02_MB OV2722?)
  • OS : Windows 8.1 with Bing 32bit

キーボード部

  • KeyBoard / TouchPad Hub Controller? (ITE IT8595E-128)
  • USB3.0 to SATA 6Gb/s Bridge Controller (Genesys Logic GL3321G)
  • USB2.0 Hub Controller (Genesys Logic GL850G)
  • SPI Flash 512Kb (Chingis Technology Corp Pm25LD512)

分解

  • タブレット部とキーボード部が分離できるタイプ
  • 主要部品はタブレット部に集中
  • ギターピックとマイナスドライバーでなんとか蓋を取れた
  • 振動などで外れると報告のあるフレキ(シブルケーブル)部は問題なし
  • バッテリーコネクタを外して作業(危ないので)
    • バッテリー自体は特に問題なし

動作確認

  • (ディスプレイに正対して)右側面、上から
  • 最初はロゴ出た後で電源断あったぽいが、その後再現せず
  • BIOS(というかUEFI)起動後のブートローダー(efi)が見つからないエラー →これが起動不可のことかな?
  • F2でBIOS入れたので各種設定確認後、Windows再インストの準備
    • パスワードロックとかはなかった→やっぱりあった(あれ~?

Windows再インストール

Windows10の扱い

  • ライセンスはUEFIに記録されてるぽいので純正リカバリーメディアや領域でなくてもよい?
  • BayTrail-Tにありがちな32bit UEFIなのでWindowsは32bit版のみ(64bit版のインストは試してはいない)

具体的な手順

  • MediaCreationTool21H2.exeをMS公式からダウンロード
  • 直接USBメモリーに焼くのではなく、32bit版isoファイルをダウンロード
  • RufusでGPT、FAT32でメディア作成
  • キーボードドック右側にあるUSB端子に差して電源投入後、F2でBIOS入る
  • Bootの起動順序にあるUSBメモリーを一番上にしてBIOS抜ける
  • 以降は普通のインストール手順

再インスト後の作業

  • BIOS verが1.10だったので1.20に更新(↓にあるBIOS/Firmwareの項目からWindows用アプリをダウンロードして実行)
    • ver.1.20じゃないとUbuntuインストの際、LCDバックライト調整?が効かなくなるらしい
  • 製品サポートページからWindows10 32bit用のドライバーをダウンロード、インストール
  • OSインスト後、カリカリに不要なモジュールを消す/OFFにしたら必ず起動でコケる症状が出た
    • 入れ直してチューニングは取りやめ(めちゃめちゃスワッピングして重い…)
  • ドライバ当て、Windows Update後に回復ドライブ作ったので一区切り

Debian

インストール準備

インストール作業

  • OSインストール中にファームウェアが求められたら、Noを選択しContinue
  • SSIDを入力する画面になるのでGo Backで一旦戻り、Debian installer main menu下部のExecute a shellを選ぶ
  • /cdromUSBメモリを指している)から/へ準備しておいたファームウェアをコピー→exit
  • なんか勝手に進むけど、もう一度Debian installer main menuからDetect network hardwareを選ぶと紛れがない

動作確認

  • アイドル時は1.8~1.9W (ヘッドレス) / 5.3~5.4W (ディスプレイ)
  • 待機電力は0.4W
  • 最大電力は6W弱? (ヘッドレス Geekbench5マルチコア時)

※消費電力はコンセントをワットモニターに接続して確認

Geekbench 5.5.1

Intel ARC A750 買ってみた

前々から欲しいなとは思っていたのですが、格安セールがあったので購入しました

このLEDは消せないみたいなのでちょっとまぶしい

セットアップ

UEFIの設定

  • Intel ARC A750ではResizable BAR有効にしないと性能が悪くなるとのこと
  • AsRock AB350-HDV R4.0 P7.40での設定例

  • Compatibility Support Module(互換性サポートモジュール)の無効化

  • Resizable BARの設定
    • Above 4G Decording : Enabled
    • Re-Size BAR Support : Enabled

ドライバーのインストール

インテル® Arc™ & Iris® Xe グラフィックス - WHQL - Windows*

  • 2023-02-18現在
  • 最新バージョン : 31.0.101.4091

ベータはちょっと怖かったんで、後1.1GBはデカすぎ…

  • インストールされるコンポーネント一覧(下2つは勝手に常駐になるのでスタートアップから切った方がヘルシー?)
    • Intel® Graphics Driver
    • Intel® Media SDK Runtime (21.0.1.35)
    • Intel® oneVPL GPU Runtime (21.0.2.8)
    • Intel® Graphics Compute Runtime for OpenCL* Driver
    • Vulkan*3 Runtime Installer
    • Intel® Graphics Driver Installer (1.0.734)
    • oneAPI Level Zero Loader and Validation Layer
    • Intel® Graphics Compute Runtime for OneAPI Level Zero specification
    • Intel® Arc™ Control installer (1.64.4583.3)
    • Intel® Driver Support Assistant

消費電力

アイドル時の消費電力

  • Windowsでの設定
    • [PCI Express]->[リンク状態の電源管理] を適切な省電力から最大限の省電力に

状態 設定 システム全体の消費電力
idle 適切な省電力 71W
idle 最大限の省電力 63W

※Ryzen5 3500, DDR4-2666 16GBx2 1.2V, AsRock AB350M_HDV(PCIe 3.0まで), WD SN570 1TB, Intel ARC A750, Win10 Home, KB/Mouse/有線LAN で計測

負荷時の消費電力

PowerLimitの設定機能
  • Intel ARC Controlアプリに消費電力を制限する機能があった

  • [パフォーマンス]->[パフォーマンスの調整]
    • システム起動時に設定を適用 : ON
    • GPU コア電源制限 : 190W [95, 228]
  • 設定を95W, 190Wに変えたときの消費電力やベンチ結果を以下に示す
HWiNFOの数値
  • luxmark-v3.1 OpenCLを実行
状態 設定 HWiNFOの数値 動作周波数 ファン回転数 温度
idle - 36W 600MHz 900rpm 58℃
実行中 95W 95W 1500MHz 1260rpm 78℃
実行中 190W 162W 2400MHz 1280rpm 90℃
ワットチェッカーの数値
  • geekbench6 computeを実行(geekbench5 computeより処理が多少長いため)
  • ワットチェッカーの表示更新頻度が1秒に1回ぐらいなのでピーク電力を捕らえきれていない点に注意
状態 設定 ワットチェッカーの数値
idle - 63W
実行中 95W 166W
実行中 190W 235W

ベンチマーク

  • luxmark-v3.1
    • 95W設定 : 42823
    • 190W設定 : 52107
  • geekbench5
    • 95W設定 : 88501
    • 190W設定 : 89831
    • 処理が短すぎてPL設定の影響がほとんどないように見える
  • geekbench6

スペック

  • ACM-G10 : 600 / 2050MHz : Max 14.7TFlops
    • 7 * 4 * 16 = 448 EU/XVE
    • 448 * 8 = 3584 ALU
    • 7 * 4 = 28 Ray Tracing Unit
      • ray-box intersection : 28 * 12 = 336 test/clock
      • ray-triangle intersection : 28 * 1 = 28 test/clock
    • 2同時ムービーエンコード・デコード
  • モリー : 8GB GDDR6
    • 256bit 16Gbps = 512GB/s
  • TBP(Total Board Power) : 225W
    • TDPは95-190Wで変更可能

ACM-G10のアーキテクチャ

  • RenderSlice : x7
    • Xe-core : x4
      • XVE(Xe Vector Engine) : x16
      • XMX(Xe MatriX engine) : x16
      • Load/Store
      • I$
      • L1$/SLM(Shared Local Memory)
    • TSU(Thread Sorting Unit)
    • RTU(Ray Tracing Unit)
      • ray-box intersection
      • ray-triangle intersection
    • Graphics Backend
      • Sampler : x4
      • Geometry
      • Rasterizer
      • HiZ
      • Pixel Backend : x2
  • L2$
  • Xe Media Engine
    • MFX(encoder/decoder) : x2
  • Global Dispatch
  • Display Engine
  • Copy Engine
  • Memory Controller(GDDR6)
  • PCI Express(Gen4)

メモ

Note that an Intel GPU device is equipped with many Vector Engines (VEs), and each VE is a multi-threaded SIMD processor. >Compiler generates SIMD code to map several work-items to be executed simultaneously within a given hardware thread. The >SIMD-width for a kernel is a heuristic driven compiler choice. Common SIMD-width examples are SIMD-8, SIMD-16, and >SIMD-32. For a given SIMD-width, if all kernel instances within a thread are executing the same instruction, the SIMD lanes can be >maximally utilized. If one or more of the kernel instances choose a divergent branch, then the thread executes the two paths of >the branch and merges the results by mask. The VE’s branch unit keeps track of such branch divergence and branch nesting.

IntelGPUバイスは多数のベクターエンジン(VE)、また各VEはマルチスレッドのSIMDプロセッサを備えています。 コンパイラSIMDコードをハードウェアスレッドで同時実行されるいくつかのワークアイテムにマッピングします。 そのカーネルSIMD幅は、コンパイラによるヒューリスティックな選択次第で、SIMD-8, SIMD-16, SIMD-32があります。 SIMD幅が定まると、スレッドに含まれるすべてのカーネルインスタンスは同じ命令を実行し、SIMDレーンは最大限稼働するでしょう。 1つ以上のカーネルインスタンスがダイバージェントな分岐を選ぶ場合、スレッドは分岐先の両方のパスを実行し、マスクによって結果をマージします。 VEの分岐ユニットはこのような分岐のダイバージェンスと分岐のネストを追跡し続けるのです。

感想

  • 8,6pinな大きめグラボを使うのが久しぶりなのでワクワクドキドキ
  • バックプレートも全部覆われ、角など縁はゴムカバーで一体感がすごい
  • AV1エンコ機能は後々試してみたいです

aiwa ネット動画プレーヤー KSTB6043 買ってみた

2022-12-10 コジマxビックカメラ江北駅前店 980円で購入(店頭POPは2980円も公式ネット価格で購入可)

内容物

  • 本体(DCジャック 5.5/2.5mm)
  • ACアダプタ(12V 1.5A MOSO MSA-Z1500IS12.0-18A-P)
  • 電源ケーブル
  • HDMIケーブル
  • リモコン
  • 単4乾電池

使用感

  • リモコンの反応性がよい
  • 初回起動とシステムアップデート後の起動はけっこう待たされる
  • 起動後、ホーム画面の消費電力は2.0~2.7W
  • サスペンドは1.6W
  • 待機電力は0.9~1.0W
  • リモコンロストしたら後ろのBTリセットボタン押すと再ペアリングできる

※消費電力はコンセントをワットモニターに接続して確認

内部

基板

  • 約130mm x 130mm(コネクタ含む)
  • SoC : Amlogic S905D
  • RAM : DDR3-1866 1.5V 4Gb x2 x2 (Samsung K4B4G1646E-BCMA)
  • ROM : eMMC 5.1 8GB (Samsung KLM8G1GETF)
  • Wire : 1000BASE-T (Realtek RTL8211F)
  • Wireless : IEEE 802.11a/b/g/n/ac MIMO2x2, BT4.1 (AMPAK AP6356S)

OS

  • Android 8.0 Oreo API Level 26
  • security patch : 2018-08-05
  • kernel version : 4.9.61
  • firmware version : 1.0.4
  • build : OPR6.170623.013.20181015 release-keys

※システムアップデート後

Geekbench5

  • 野良apk
  • Single: 102, Multi: 355
    • 低い…
  • サーバーにポストできず
  • Geekbench5.4.6実行中最大4.4Wぐらい

[memo]パッケージ検索

adb shell pm list packages -f | find "com.primatelabs.geekbench5"

Armbianの動作確認

  • Armbian_23.02.0_amlogic_s905d_jammy_6.0.12_server_2022.12.12.img.gz を使用
  • WQHDモニター(BenQ EX)だと表示されなかった
  • Elecrowの1024x600 7inchモニターなら表示される(下数pixel見切れる)
  • ヘッドレス運用だと1.8~2.3W

[memo]起動後

sudo armbian-tf
sudo apt update
sudo apt upgrade
ip -4 a
  • sshで接続できることを確認
  • sudo shutdown -h now
  • USBメモリ直差し、ヘッドレスで起動
wget https://cdn.geekbench.com/Geekbench-5.4.4-LinuxARMPreview.tar.gz
tar xvf Geekbench-5.4.4-LinuxARMPreview.tar.gz
cd Geekbench-5.4.4-LinuxARMPreview
./geekbench_aarch64

Geekbench5

[memo]調査

ブートシーケンス

  • UARTにブートログが流れる
  • これと突き合わせるとおおまなかな流れがわかる
  • android:eMMCとarmbian:USBメモリでは途中で分岐するのでそのあたりを攻めるとeMMCインストールできるようになる?

  • SPI NOR(POC=0 ) -> eMMC -> NAND -> SDCard -> USB Device

  • POC : Power On Config
  • bist_test : built-in self test

  • BL33つまりthe last non-secure step : u-boot実行中の以下の処理でUSBメモリを検出している

scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... init_part() 278: PART_TYPE_DOS

eMMC

  • /dev/block/mmcblk2がeMMC

device tree

  • device-tree-compilerはインストール済み
  • dtc -I dtb -O dts -o meson-gxl-s905d-phicomm-n1.dts meson-gxl-s905d-phicomm-n1.dtb

WD 320GB 2.5inch HDD をばらしてみた

smartctlで死んでたので

スペック

ばらし過程

  • ガワ(ばらしたあとだけど… でベコボコ)

  • 表面(指紋ベタベタですいません)

  • 表面をパーツにわけたとこ

  • ヘッド(だった残骸…)

  • 裏面

  • 裏面の基板をひっくり返したとこ

基板

  • MCU : Marvell 88i9045-TFJ2
  • DRAM : Hynix H5DU6462CTR-E3C 64Mbit DDR-400 CL3
  • ROM : ISSI Pm25LD020 2Mbit SPI Flash
  • PWM Driver : TI SH6601AF

感想

  • T6 星形ネジ
  • SPI Flash吸いだしてフォーマット見れば何かわかるかも…
  • モーターなにかに応用できないかな…

すっご… https://youtu.be/fgQiPwkGL4k

https://www.storange.jp/2016/01/arduinohdd.html

わかりやすい https://www.narimatsu.net/blog3/article/200712a