オープンソースのSDR HF帯無線機mcHFと、コピー品Recent RS-918

SDRによるHF帯CW/SSB無線機mcHFというのがあるらしい。

mcHF QRP transceiver

回路図などは上記のDownloadページにあり、またキットもオーダーすることができる。
SDRのソフトウェアはhttps://github.com/df8oe/UHSDRで公開されている。

で・・・こうやって公開されたものを、そのまま製品化してしまった企業があるようで・・・

瑞森电子RS-918 HF SDR单边带对讲机2020/05/20時点のページ「RS-918 HF SDR短波电台
Aliexpressで約5万円で入手可能。→ 「販売店リンク集

写真を見るとかなりちっちゃい。

mcHF公式としては「The full kit on Ebay」にて、当方は関与してないし、サポートもしない、とのコメントを出している。

(2018/05/08 追記)

UHSDRのページにある「Supported Hardware」にて、クローンデバイス買ってもサポートしねーよ。eBayやAmazonで買ってもしらねーよ。的な感じでコメントが増えている。
クローンデバイス買った人からの問い合わせが多いようです・・・
追記終了

実際に入手してみた人の話がいくつかある

JH1LHVの雑記帳

RS-918SSB HF SDR Transceiver(mcHF)で遊ぶ ~その1~

RS-918をいろいろ使ってみた話とfirmwareアップデートの手法についての説明などが関連記事にある

ありがとうって伝えたくって

mcHF保証認定終了!

mcHFの国内仕様ファーム及び申請書のひな型を提供してもらうことができるようです

まあべるのほわほわ日記

mcHF QRP SDRトランシーバのJARD保証認定通過

タイトルはmcHFとあるが、実際にはRS-918についてのもので、保証認定に関して書かれている

万年準備中のブログ

mcHFのLPFプチ改造

まあべるのほわほわ日記で参考にしたそうです

いろいろな記事を見てみるとわかりますが、ちゃんとスプリアスが計測できるような計測器環境を整えていない状態で使うと、変な電波を飛ばしてしまうことになってしまうようです。

このため送信には十分気をつける必要がありそうです。


2018/07/05追記

RS-978 HF SDR短波车台(含电池)RS-978 HF SDR短波电台(带电池)」(英語ページ:RS-978 HF SDR Transceiver with Battery)というバージョンが登場。
3800mAhのバッテリーが内蔵できるタイプらしい。
機能的に差があるのかは不明・・・見た感じは差はなさそう・・・・


おまけの備忘録

WindowsパソコンにつなげてSDRするソフト「HDSDR

Orange Pi One PlusにAndroidを入れてみた

Allwinner H6搭載の「Orange Pi One Plus」を買った。

12/28の発売開始直後に購入手続きをしたものの、向こうが発送をミスったらしく、2回誤った配送番号を連絡され、しかも、誤ったという連絡寄こさずに新しい番号を送ってきたりしまして、
配送が動き始めたのが1/11に・・・

届かない間にRJ45を抜いて、その替わりにWiFi+BTとUSB3.0コネクタをつけた「Orange Pi Lite 2」なんてのがでたりしてますが、RJ45が無いと設定しにくい、というのと、合法的に使用するのが難しいので、まぁ、Orange Pi One Plusでよかったかな、という感じではあります。

Orange Pi One Plusは、小型Orange Pi共通の箱(One,Lite,Zero用)で届きました。

公式ダウンロードページ」からAndroidイメージをダウンロードして、PhoenixCardツールにて書き込みを実施します。

1点はめられまして、ダウンロードページには「updated:2018-01-03」と書いてありますが、リンク先のMEGA Cloud上にあるファイルが1/10にアップロードされたOrangePi_OnePlus_Android_EN_V1.2.tar.gzに置き換わっているという・・・
最初、気がつかず、置き換え前のbetaを使ったところ、MACアドレスが設定されていない状態(00:00:00:00:00:00:00)となっており、通信ができない状態になっていました。

また、PhoenixCardツールの書き込みは非常に失敗しやすいです。
何度も書き込みをトライしてみてください。
遅いmicroSDだと失敗する確率が高いような気がします。

書き込みが終わったら結線して電源を入れます。

正常に起動が始まると緑のLEDがつきます

Orange Pi One Plusは、電源消費量が大きいようで
5V2.3AのACアダプタを使用したところ「H6」ロゴを大きく表示しているところで停止した状態になりました。
5V3AのACアダプタに変更したところ、「H6」ロゴ、サウンドとアニメーション付きの「Allwinner」ロゴを表示したあと、2分弱置いて、ホーム画面を表示しました。

初回起動時は処理が特に重く、電源も消費しているようで、LANポート付きのUSBハブを使ってキーボードとマウスを繋いでいると、Allwinnerロゴのサウンドとアニメーションが飛び飛びになる、なんてことも発生していました。

Androidは、ほんとに何も入っていない状態です。
Google Playストアなし、メディア再生系ソフトウェア(Kodiなど)なし、ブラウザすら無しでWebView testerが使えるだけなのでapkファイルのダウンロードもできない、という状態です。
CIFS,NFS経由の外部アクセスにも対応したファイラーがインストールされているので、それをつかって他のマシンからapkファイルをインストールする必要があります。

これでAmazonアプリストアのapkをインストールして、そこからAmazon Videoをインストールすることでビデオ再生できることは確認できたのですが、
Amazonアプリストアからブラウザ系をいくつかインストールしてみてもちゃんと起動しないものがあるという現象が・・・
どうやらWebViewを使う系のソフトウェアでうまく動かない、ということが発生しているようでした。
Google Playストアをなんとかしてインストールしないと駄目ですかねぇ・・・

CephのOSD毎のPlacement Groupの数を確認する

Cephのテスト環境を構築してみた。

シナリオ通りに構築を進めていき、とりあえずは問題なくは終わった。
終わったんだけど、最後にステータスでも確認してみるかとceph healthを実行してみたところHEALTH_WARNが・・・

[root@ceph01 ~]# ceph health
HEALTH_WARN too many PGs per OSD (480 > max 300)
[root@ceph01 ~]#

OSDにたくさんのPGが割り当てられてる、といってるけど、具体的にはどれくらいあるんだろう?

と調べていくと、stackoverflowにある、下記のPGとOSDの関係性に関する質問を発見
Ceph too many pgs per osd: all you need to know

そこで紹介されている「Get the Number of Placement Groups Per Osd」に、OSD毎のPG数をコマンドで確認する手法が掲載されていた。

「ceph pg dump」の出力結果を整形して見やすいようにしている、というものだった。

ceph pg dump | awk '
BEGIN { IGNORECASE = 1 }
 /^PG_STAT/ { col=1; while($col!="UP") {col++}; col++ }
 /^[0-9a-f]+\.[0-9a-f]+/ { match($0,/^[0-9a-f]+/); pool=substr($0, RSTART, RLENGTH); poollist[pool]=0;
 up=$col; i=0; RSTART=0; RLENGTH=0; delete osds; while(match(up,/[0-9]+/)>0) { osds[++i]=substr(up,RSTART,RLENGTH); up = substr(up, RSTART+RLENGTH) }
 for(i in osds) {array[osds[i],pool]++; osdlist[osds[i]];}
}
END {
 printf("\n");
 printf("pool :\t"); for (i in poollist) printf("%s\t",i); printf("| SUM \n");
 for (i in poollist) printf("--------"); printf("----------------\n");
 for (i in osdlist) { printf("osd.%i\t", i); sum=0;
   for (j in poollist) { printf("%i\t", array[i,j]); sum+=array[i,j]; sumpool[j]+=array[i,j] }; printf("| %i\n",sum) }
 for (i in poollist) printf("--------"); printf("----------------\n");
 printf("SUM :\t"); for (i in poollist) printf("%s\t",sumpool[i]); printf("|\n");
}'

これをテスト環境で実行してみると下記の様な出力を得られた

[root@ceph01 ~]# ceph pg dump | awk '
BEGIN { IGNORECASE = 1 }
 /^PG_STAT/ { col=1; while($col!="UP") {col++}; col++ }
 /^[0-9a-f]+\.[0-9a-f]+/ { match($0,/^[0-9a-f]+/); pool=substr($0, RSTART, RLENGTH); poollist[pool]=0;
 up=$col; i=0; RSTART=0; RLENGTH=0; delete osds; while(match(up,/[0-9]+/)>0) { osds[++i]=substr(up,RSTART,RLENGTH); up = substr(up, RSTART+RLENGTH) }
 for(i in osds) {array[osds[i],pool]++; osdlist[osds[i]];}
}
END {
 printf("\n");
 printf("pool :\t"); for (i in poollist) printf("%s\t",i); printf("| SUM \n");
 for (i in poollist) printf("--------"); printf("----------------\n");
 for (i in osdlist) { printf("osd.%i\t", i); sum=0;
   for (j in poollist) { printf("%i\t", array[i,j]); sum+=array[i,j]; sumpool[j]+=array[i,j] }; printf("| %i\n",sum) }
 for (i in poollist) printf("--------"); printf("----------------\n");
 printf("SUM :\t"); for (i in poollist) printf("%s\t",sumpool[i]); printf("|\n");
}'
dumped all in format plain

pool :  4       5       6       7       8       9       10      11      12      13      14      1       2       15      3       | SUM
----------------------------------------------------------------------------------------------------------------------------------------
osd.4   39      29      25      36      27      24      35      34      30      28      34      33      35      29      32      | 470
osd.5   36      35      28      31      21      29      27      37      37      30      32      36      37      27      37      | 480
osd.6   38      37      30      35      30      24      37      33      32      31      27      32      33      31      27      | 477
osd.7   33      34      30      31      25      34      35      42      32      33      21      30      31      28      33      | 472
osd.8   29      32      39      35      28      39      31      34      36      35      38      34      35      24      21      | 490
osd.9   32      34      33      33      37      38      39      27      30      31      28      29      27      26      26      | 470
osd.10  39      31      34      24      35      36      35      40      34      37      37      45      32      31      37      | 527
osd.11  25      26      30      33      36      42      27      30      42      31      28      32      28      35      31      | 476
osd.0   27      39      38      29      35      24      34      26      28      31      38      23      33      31      32      | 468
osd.1   29      30      29      28      43      24      34      30      22      34      30      37      34      44      29      | 477
osd.2   27      32      35      33      31      38      21      24      30      26      37      26      26      36      33      | 455
osd.3   30      25      33      36      36      32      29      27      31      37      34      27      33      42      46      | 498
----------------------------------------------------------------------------------------------------------------------------------------
SUM :   384     384     384     384     384     384     384     384     384     384     384     384     384     384     384     |
[root@ceph01 ~]#

また、NAKAMURA Minoru’s Home Pageにある「RADOS の概略 (RADOS と CRUSH と Placement Group の関係)」は、Cephの理解に役に立った

中華SoCメーカ Leadcore techは死亡?

2017年2月「Xiaomiの自社SoC Surge S1登場。スナドラ625/MediaTek P20対抗」という発表があった。
ここでXiaomiのSoC Surge S1を設計するにあたり、中華SoCメーカ Leadcoretechの技術を使っている、という話があった。

そして、10月。
国慶節の後に確認してみると、 leadcoretech.com へのアクセスが出来ないようになった。
そして、2ヶ月以上が経過するも、現在もアクセスできない状態のままです。

どうやら、leadcoretechは死んでしまった可能性が高そうです。

そして、XiaomiのSoCを積んだ端末Xiaomi Mi 5cは、中国国内向けのLTEしか対応していない上に、値段が下がらないので、中国以外向けにはあまり出てこないまま。

Surge S1はCortex-A53コアで、2.2GHzコア*4個+1.4GHzコア*4個の計8コアでしたが、
Surge S2というCortex-A73 2.2GHzコア*4個+Cortex-A53 1.8GHzコア*4個の計8コアになり
Xiaomi Mi6cに搭載される、という噂がありました。

しかし、現状は何もないまま・・・

果たして、Xiaomiの自社SoC計画はどうなっているんでしょうか?
死んだのか?それとも、まだやってるのか??