/ 雑記帳

[ カテゴリー » Raspberry Pi4 Model B ]

64bit rt-kernel への道...

NFD基板向けで rt-kernel が構築出来ないか?とイジっていました。
色々なサイトの情報を組み合わせて何とか?起動までは漕ぎ着けました。
もちろん問題は多々ありますが(笑)
$ uname -a
Linux raspberrypi 5.0.21-rt16-v8 #2 SMP Tue Nov 30 14:15:20 JST 2021 aarch64 GNU/Linux

# aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: ALSA [bcm2835 ALSA], デバイス 0: bcm2835 ALSA [bcm2835 ALSA]
サブデバイス: 7/7
サブデバイス #0: subdevice #0
サブデバイス #1: subdevice #1
サブデバイス #2: subdevice #2
サブデバイス #3: subdevice #3
サブデバイス #4: subdevice #4
サブデバイス #5: subdevice #5
サブデバイス #6: subdevice #6
カード 0: ALSA [bcm2835 ALSA], デバイス 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 0: ALSA [bcm2835 ALSA], デバイス 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
サブデバイス: 1/1
サブデバイス #0: subdevice #0

現状、NFD基板を認識しません。
config.txt でdtoverlay=allo-digioneとしているのですが??
rt-kernelでなくても十分良い音なのでその先の音が聴いて見たい一心での試みでした。

追記 12/01 良く分かっていないがarm64とaarch64はイコールでは無いのか?
rt-kernelを構築するのにクロスコンパイル環境を作るのだが理由はarm64環境で作業すると起動出来るkernelが作れない。
(RaspberryPi4の内部でコンパイルするのにクロスコンパイル環境を作らないだダメって?何かミスしているのかなぁ(笑))
だから何か作業する前には呪文が必要でたとえばこんな感じである。
KERNEL=kernel8 make bcm2711_defconfig ARCH=arm64 CROSS_COMPILE=/opt/aarch64/bin/aarch64-linux-gnu-
(make bcm2711_defconfig)
うっかりこの呪文を忘れて作業すると
このコマンドは作業PCのarchで実行されて落とし穴に落ちるかor冷酷なERRが帰ってくる。
参考URL Raspberry Pi Documentation
     64bit 版 Raspberry Pi OS のカーネルモジュールのビルド環境設定

追加 12/2
最初rt-kernelのパッチを当てる作業で組み合わせを探る部分が良く分からなかったので
たかじんさんのHPで紹介されている組み合わせで
やってみたのですが色々試していたら
そのバージョンはラズパイの3までしか対応いていない事が分かって...
しょうがなく(笑)たかじんさんの記事を熟読して
今回コンパイルした組み合わせを見つけてそれが
ラズパイ4に対応しているソースだと確認して再度挑戦しました。
自分の理解を超えた部分が多すぎで今出来ているカーネルが正しいのか?という部分が多々あります。
1番変だと思うのはラズパイ上にクロスコンパイル環境を作って
arm64ではなくaarch64 としてコンパイルしないと起動するカーネルが作れない所です(笑)
まぁ英語力があれば色々探して解決出来る問題だとは思います。
それと作ったカーネルではUSBデバイスが一切動作しません。
もともとのカーネルのconfigをいじらない方向で作業しているのに??です。
64bitノーマルカーネルでも結構な美音がするのですがその先が聴きたいですよね(笑)
現状で組み込まれたモジュールは
# lsmod | grep snd
snd_soc_wm8804_i2c 16384 0
snd_soc_wm8804 20480 1 snd_soc_wm8804_i2c
snd_soc_rpi_wm8804_soundcard 16384 0
snd_soc_bcm2835_i2s 20480 0
regmap_mmio 16384 1 snd_soc_bcm2835_i2s
snd_soc_core 221184 4 snd_soc_rpi_wm8804_soundcard,snd_soc_bcm2835_i2s,snd_soc_wm8804,vc4
snd_compress 20480 1 snd_soc_core
snd_bcm2835 28672 2
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_pcm 131072 6 snd_soc_bcm2835_i2s,snd_soc_wm8804,vc4,snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
snd_timer 40960 1 snd_pcm
snd 86016 9 snd_bcm2835,snd_timer,snd_compress,snd_soc_core,snd_pcm

— posted by くま at 02:10 pm  

lite版は軽いかも 音は重いかも(笑)

2021-05-07-raspios-buster-arm64-lite.zip

lite版はGUIのパッケージが入っていないモノらしい。
mpdは一度純正をインストールしてから入れ替えを行った。
もう...
ninjaとかいうコマンドは勘弁して欲しい。
何でmakeじゃダメなんだろう。

# mpd -V | grep Music
Music Player Daemon 0.23.4 (0.23.4)
# uname -a
Linux raspberrypi 5.10.63-v8+ #1459 SMP PREEMPT Wed Oct 6 16:42:49 BST 2021 aarch64 GNU/Linux

コンパイルを繰り返して作業をする場合はそれをSDカード内で行うのは余りに酷なので
USBメモリを追加、マウントしてそこにsourceをdownloadして進めるのが良いと思う。

— posted by くま at 12:19 pm  

RaspberryPi4 64bitで使う

# uname -a
Linux raspberrypi 5.10.63-v8+ #1459 SMP PREEMPT Wed Oct 6 16:42:49 BST 2021 aarch64 GNU/Linux
# getconf LONG_BIT
64
RaspberryPi4上に完全?な64bit環境を作ってI2S信号を出力させて音を聴いてみた。
簡単に言っているがかなりの労力が必要だった。
2020-05-27-raspios-buster-arm64をインストールして
出来る限りx86-64パッケージに入れ替え作業を行い
mpd upmpdcliをインストールして音出しするも何故か?
再生出来ないファイルが存在する事を発見してしまう(笑)
色々なテストと他PCとの比較してmpdのバグだと結論...
そこから安定版最新mpdソースからのコンパイルを始める(笑)
# mpd -V
Music Player Daemon 0.23.4 (0.23.4)
何とかコンパイル-インストールが成功する。
systemctlで自動起動させようとするとエラ-を吐く...

#cat /usr/local/lib/systemd/system/mpd.service
[Service]
Type=notify
#ExecStart=/usr/local/bin/mpd --systemd
ExecStart=/usr/local/bin/mpd --no-daemon /etc/mpd.conf

こんな感じに書き換えてたら良い感じになった。
今、再生しながらこの記事を書いている。
肝心の再生音であるが苦労し過ぎでプラシーボ全開なので後日に(笑)
一連の作業で RaspberryPi4 はコンパイル作業も確実にこなす力を持っていると感じました。
(最初はRaspberryPi3でイジっていたが遅すぎて途中から4へSDカードを差し替えて作業を行った)
2,3とは大違い(笑))

参考リンク
mpdコンパイル http://blog.livedoor.jp/sasayakimasuyo/archives/54392386.html
upmpdcliインストール https://www.lesbonscomptes.com/upmpdcli/pages/downloads.html
※ここに書いてある説明は不十分apt install だけではインストール出来ない。
key関連が古い為だと思う。
結果だけ...インストールしたのは upmpdcli_1.5.13-1~ppa1~buster_arm64.deb

追記 11/24 ddコマンドでSDカードのバックアップが取れたので
軽量化のため音源再生に関連の無いパッケージの削除を始める。

— posted by くま at 09:37 pm  

LL1572

予告していたルンダール製パルストランスLL1572をNFD基板に搭載した。
結論としてはHDMI(I2S)出力の音を超す事はできなかった(泣)
ラズパイ本体よりも高価なトランスなので...

LL1572



— posted by くま at 10:06 pm  

Volumio と Symphonic-mpd プレーヤー

久しぶりにVolumioをdownloadしてRaspberryPi3へインストールして聴いて見た。
(NFD基板を装着してI2S出力をさせている。)
中高音が張り出して明るく聞きやすい音が出てくる。
しかし演奏者ボーカルの背後の空間が感じられない。
しばらく聴いて何だか物足りなくなりsmpd + RaspberrPi4 へ切り替えて聴く...
(こちらもNFD基板を装着してI2S出力をさせている。AoEフロント Arch Linux(APU2)、バックエンド smpdplayer β19)
ディスるつもりは無いが...音質差がかなり明確に分かる。
もちろん条件を揃えていないからこれが結論とは言えないのは当然の事ではあるが
自分が試した限りではSymphonic-mpdプレーヤーは使う環境を整える事により
現状最高と思える音質が得られるソフトの一つだと思う。
最近ソフトの更新も無く
作者様の降臨も無く
この素晴らしいソフトの行く末を勝手に心配している。

— posted by くま at 08:49 pm   commentComment [5] 

100均ケース検討?終了

画像はKALI Reclocker版だが手持ちのラズパイはすべてこの形式でケーシングする予定。
何よりコネクター差し替えで個体を交換できるのが便利です。
自分がコネクター接続に拘るのは何度も何度も接続ミスで大事な基板を壊して来た結論として
コネクターを一度付けて確認すれば誤接続を防げるという確信からです。
冷却ファンはウルサイと嫌う方が多数(笑)なのですが駆動電圧を調整すれば
ほとんど騒音は聞こえず且つ冷却温度も問題ないポイントがあります。
個人的にアーマー型ヒートシンクはその構造からCPUの熱を基板全体に拡散する事になり
電解コンデンサーが使われていなくても良いとは思えません。

Rapi2021-10



— posted by くま at 09:31 am  

NFD量産タイプ基板組み立て完了

1005サイズのコンデンサーの半田付けが面倒だった。細かすぎ(笑)
何回か書いているけど
半田付けは 部品 基板フットプリント (糸)ハンダ が
同時にハンダの融点温度約183℃にならないと付かない!

極小部品になるとハンダゴテの小手先のサイズが大きすぎて
同時に3つの要素に当たらないから上手く付かない。
特に今回の様な1005の電極の場合、うまくハンダが流れず長い時間小手先を当てると
必要なハンダ量が少ないから数秒で酸化してボソボソになってしまう。
そうなってしまうと追加のフラックの力を借りるしかない。
加えて小手先を当てすぎると当該部品の電極が剥がれてしまう。
作業は数秒以内に済ませる必要があり結構難しい。

道具もそれなりのモノを使わないと作業は困難を極める。
たとえばピンセット...
自分的にはHOUZANクラスでは部品がワープしまくって宇宙旅行の有り様
ここはmade in swiss的グレードが欲しい。自分が愛用しているモノは本来医療用です。
半導体組立工場でワイヤーボンディングマシンのボンディングツールの穴に
髪の毛よりも細いワイヤーを通す事が出来るモノです。
指に入れる力にリニアに反応して先が開閉します。これは非常に大切な事です。
安物(失礼)は力に対してリニアに開閉出来ないので
結果的に力が加減出来ず部品を掴み損ねワープしてしまうワケです。
次はハンダゴテ...
営業妨害になりそうだ(笑)
ホームセンターで販売されている吊るしのハンダゴテは極小SMD部品のハンダ付けは無理だと思います。
使えるハンダゴテを見分ける目安としてはコテ先が別売されていて極細タイプが存在する事です。
そしてコテ先の特殊コーティングがどうたらと説明されていればたぶん大丈夫だと思います。
たとえば自分の地元だとコメリがあるのですがそこで上記条件を満足するモノは
白光(HAKKO) ダイヤル式温度制御はんだこて FX600-02 しか無かったです。
最後に実装作業用顕微鏡
倍率はX10 X20 この2つで十分。倍率が大きすぎても使いにくい。
視野範囲は視野が狭いと非常に使いにくい。
対物レンズと対象の距離は5cm以上無いとハンダゴテを立てて使えない。
ebayあたりで日本製品のコピー品が売られている。ちなみに自分が購入したものはインド製であった。
実際に購入してみると純正品には及ばないが十分に使える。
寸法も同じなので日本製のオプションがピッタリ取り付け可能(笑)

道具は組み立てる本体の下手をすると100倍程度の価格だったりしますが
仕上がりの良いモノを作るには仕方がない支出だと個人的には考えています。
趣味とはコストパフォーマンスを考えない事だと(泣笑)
個人的に特に拘りが無いのであればこの基板に限らず
組み立てを自分でする事はオススメしません。
自分はハンダ、フラックスにまみれて組み立てをしていますが
決して作るのが好きだからではありません(笑)

なので...電検試験済みの完成品はとても有り難いモノだと言う事です。

下の画像は今回の基板のハンダ付け状態です。自分用なので余り綺麗ではありません。
ツノや酸化している部分が見えます。^^;
組み立て作業は一日3時間が集中力の限界なので2日もかかってしまいました。
部品の組み合わせのバリエーションを楽しむため基板を2枚頒布していただのですが
もう一枚の組み立ては何時のことやら(笑)気力が戻らないと厳しい。(爺なので)

DCIM0032


フイルムコンデンサーからタンタルコンデンサーへの部品変更で配線の引き回しが変わっていますね。

RCS


手持ちの色々なサイズで(笑)もちろん定数は合わせています。さすがに1005は1005以外付きません。

HDMI


HDMIコネクタ部分はハンダ量の調整が非常に難しい。油断すると即ブリッジしてハンダ吸い取りリボンのお世話に(笑)

参考リンク
AC120Vを得るために
Weller WP35 35W Electric Soldering Iron - Black

— posted by くま at 12:32 pm   commentComment [2] 

3.3V for Sender基板

この画像はやなさんの送信基板に3.3Vを供給するための
レギュレーター基板を裏面に取り付けたもの。
黒いソケットをGPIOピンへ接続すればやなさん送信基板へI2S信号を送れる様になります。

AD


分かりにくい画像ですがラズパイにはこの様に重なります。
3枚の基板のうちの真ん中をKALI Reclocker基板とすればMCLK信号付きで出力出来ます。

Lay



— posted by くま at 01:52 pm  

<< 2022.12 >>
SMTWTFS
    123
45678910
11121314151617
18192021222324
25262728293031
 


















T: Y: ALL: Online:
ThemePanel
Created in 0.0297 sec.