link もっと前
   2019年 3月 11日 -
      2019年 3月 2日  
link もっと後

link 未来から過去へ表示(*)
link 過去から未来へ表示

日々

link permalink

Linux をデグレさせたらしい

昔、私が投稿したパッチが Linux 4.20 をデグレさせていました。Linux 4.20 以降では Rock64 の USB が動かなくなっています。全然気づきませんでした……。

Arch Linux の人たちが「動かねーぞ??」とハマった挙句(リンク)に、指摘してくれたようです。

反省を込めて、Rock64 がデグレした理由をまとめておきます。

当時、私が直したのはピンに出力する信号の割り当て設定です。

GPIO0 A2

  • 本来の出力: USB 電源供給 Enable/Disable 信号
  • 当時の出力: 何も割り当たっていない(が、なぜか動いていた…)

GPIO0 D3

  • 本来の出力: S/PDIF 信号
  • 当時の出力: USB 電源供給 Enable/Disable 信号

上記のように、本来 GPIO0 D3 には S/PDIF 信号が割り当てられるはずですが、なぜか全く関係のない USB 電源供給信号が割り当てられており、S/PDIF が全く動作しない状態になっていました。

私のパッチは USB 電源供給信号のピンアサインを GPIO0 A2 に直すパッチです。GPIO0 D3 ピンから S/PDIF が無事出力できるようになりました。

しかし実装の間違いはこれだけではありませんでした。GPIO0 A2 は信号の極性(Active High 指定でしたが、本来は Active Low が正しい)も間違っていたのです。

GPIO0 A2

  • 本来: USB 電源供給 Enable/Disable 信号
  • 実装: 何も割り当たっていない
  • パッチ後: USB 電源供給 Enable/Disable 信号(直った)
  • 本来の極性: Active Low
  • 実装の極性: Active High
  • パッチ後: Active High(変化なし)

私のパッチはピンアサインだけ直して、信号の極性を直さなかったため、USB の電源が常にダウンしてしまい、USB が全く動かなくなってしまったようです。

USB 電源周りをいじったのに、USB の動作確認をせずにパッチを投稿してしまったのは、片手落ちだったなあと反省しきりです。

メモ: 技術系の話は Facebook から転記しておくことにした。

[編集者: すずき]
[更新: 2019年 3月 14日 00:24]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

誕生日

干支を 3周しました。もう完全におじさんの仲間入りです。

若い人に自慢と説教だけはしないように気を付けよう。

[編集者: すずき]
[更新: 2019年 3月 13日 00:10]
link 編集する

コメント一覧

  • hdk 
    誕生日おめでとー! 
    (2019年03月13日 01:14:40)
  • すずき 
    ありがとー!! 
    (2019年03月13日 09:46:59)
open/close この記事にコメントする



link permalink

TinkerBoard の HDMI 出力

せっかく HDMI ディスプレイを買った(2019年 2月 2日の日記参照)ので、以前指摘された RK3288 の I2S と DMA がデグレしていないかどうか(2018年 12月 14日の日記参照)見るべく、linux-next + TinkerBoard の HDMI 出力を確認しました。

映像は映り、音声も鳴りますが、48kHz ←→ 44kHz の LPCM を交互に再生すると、音声にバリバリとノイズが載ります。なぜかノイズが載らないときもあります。

Rock64 のアナログ出力でもこんな問題が起きていたので、同類だろうか?と不安になって、色々いじっていたのですが、どうも違う問題らしく、ディスプレイ側を ON/OFF すると問題が発生するように見えます。

他のディスプレイで確認していないため、TinkerBoard が無罪とまでは言い切れませんが、おそらくディスプレイ側の問題でしょう。

[編集者: すずき]
[更新: 2019年 3月 13日 09:51]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

RockPro64 のシリアル文字化け - 結論

RockPro64 シリアル文字化けの話のまとめ。

RockPro64 のシリアル UART2 が文字化けする問題に決着がつきました。

LKML(Linux Kernel Mailing List)に生息するナイスガイ達のおかげで、自分が持っている RockPro64 だけが異常値を示していることがわかりました。皆、普通にオシロスコープ持っているみたいですし、アイパターンまで見ていた人もいて、LKML すげーな……と感心しました。

私のボードは、おそらくどこかにハンダ不良があり、RK3399 から UART2 ピンまでの抵抗値が異常に高くなっていると推測されます。

テスターで抵抗値を見ればわかるはずですが、RockPro64 はボードのシルクに部品番号が全く書いておらず、どこにプローブを当てたら良いかさっぱりわかりませんでした。残念。

メモ: 技術系の話は Facebook から転記しておくことにした。

[編集者: すずき]
[更新: 2019年 3月 21日 17:35]
link 編集する

コメント一覧

  • kml 
    > 自分が持っている RockPro64 だけが異常値を示していることがわかりました。

    オシロの波形見てて気がつかなかったのかな?

    以下、具体例だが
    https://github.com/ayufan-rock64/linux-build/releases/download/0.7.9/bionic-minimal-rockpro64-0.7.9-1067-arm64.img.xz
    https://github.com/ayufan-rock64/linux-build/releases/download/0.7.14/bionic-minimal-rockpro64-0.7.14-1081-arm64.img.xz
    前者は、比較的マシだがその兆候は出てる。
    後者は、貴方が提示した写真とほぼ同等で、操作不能な程のレベル
    (どのkernel、例えば "armbian" でもその兆候は出ているが、その程度は上記前者レベル
     多少の取りこぼしはあるかもしれないが、まだ十分操作可能なレベル)

    何れも u-boot の段階では問題無いのに、kernelに制御が移った後で ご指摘の症状
    私の手持ち全てが(3台)同一症状、kernel依存と見るのが妥当だと思うな

    もし、貴方が指摘した際に使ったものと同一のkernelを使えば おそらく全数がそうなる

    それと、同等の報告が 既に去年の夏頃に挙がってる
     
    (2019年03月20日 21:30:58)
  • すずき 
    > オシロの波形見てて気がつかなかったのかな?

    えーと、私が他のカーネル(ayufan-rock64 とか)の動作を見なかったのか?という意味でしょうか?
    そういう意味でしたら linux-next 以外は見ていないです。


    > 何れも u-boot の段階では問題無いのに、kernelに制御が移った後で ご指摘の症状

    確かに U-Boot は文字化けしないですね。Drive Strength の設定を見るとデフォルト値(3mA)だったので、他の設定が影響しているのかもしれません。

    後で U-Boot の UART2 出力についても、オシロスコープで波形見てみます。


    > 私の手持ち全てが(3台)同一症状、kernel依存と見るのが妥当だと思うな

    情報ありがとうございます。

    うーん、そうなんですか。私は 1台しか持っていないので個体不良かどうか見分けがつかないです。

    海外の人たちはなぜ同じ症状に遭遇しないのだろう。。。
     
    (2019年03月21日 17:45:56)
open/close この記事にコメントする



link permalink

RockPro64 のシリアル文字化け - LKML での議論

RockPro64 シリアル文字化けの話のまとめ。

メンテナーの Heiko さんからは「共通部分を変えようとしているから、他のボードの関係者にも聞いてくれ」とのことでした。そりゃそうだなと、RK3399 のボードのデバイスツリーを変えていそうな人達に CC でメールしてみたところ、お返事がきました。

Tony さんは、ROC RK3399 PC と RockPro64 の 2つのバージョン(V2.0 と V2.1、私が持っているのは V2.1)など、色々なボードでの立ち上がり、立ち下がり時間の測定値を教えてくれました。いずれも私が観測しているような症状はないとのことです。

Robin さんは、アイパターンを見てくれて、やっぱり異常はないと教えてくれました。

念のため、ピンに何か繋いでいる(インピーダンスが低い、立ち上がり時間が遅く計測される)のか、何も繋いでいない(インピーダンスが高い、立ち上がり時間が速く計測される)のかも確認しましたが、UART-USB 変換ボードをジャンパケーブルで繋いでいるとのことでした。

うーん。話を総合すると、どうも私のボードの個体不良っぽいです。パッチは取り下げておきました。やりとりは面白かったですが、結果的には皆さんを混乱させてしまっただけでしたね。

[編集者: すずき]
[更新: 2019年 3月 21日 17:35]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

RockPro64 のシリアル文字化け - パッチ投稿

RockPro64 シリアル文字化けの話のまとめ。

(主に俺のために)RockPro64 のシリアル文字化けを直すべく、Rockchip RK3399 のシリアル UART2 の drive strength を 3mA から 12mA にするパッチを LKML(Linux Kernel Mailing List)に送ってみました。ま、ダメ元です。

RockPro64 だけ何でこんなに Rising time が長くなるのでしょう?

Rockchip RK3328 搭載の Rock64 は、特に問題がないように見えます。RockPro64 同様に Rock64 も RK3328 から Pi-2 コネクタに直で信号を出しているはずなのに。

RK3399 の方がプロセス進んでるから、I/O ドライブ性能が低いのでしょうか。結局、問題の原因は良くわからないままです。

パッチを送ってから気づいたのですが、タイトルに RK3399 向けのパッチと説明を忘れていたり、RockPro64 しか確認できていない症状なのに、共通ファイル rk3399.dtsi に変更入れていたり、色々マズいです。そんなもん RockPro64 のデバイスツリーに入れてよ……、ってリジェクトされる気がします。

おそらく他の RK3399 のボードも RK3399 と UART のピンを直結していれば、同じ症状が起きると思うんですが、私は他のボード持っていないからわかりません。

メモ: 技術系の話は Facebook から転記しておくことにした。加筆した。

[編集者: すずき]
[更新: 2019年 3月 21日 17:34]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
   2019年 3月 11日 -
      2019年 3月 2日  
link もっと後

管理用メニュー

link 記事を新規作成

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDF ファイル RSS 1.0
QR コード QR コード

最終更新: 5/11 15:12

カレンダー

<2019>
<<<03>>>
-----12
3456789
10111213141516
17181920212223
24252627282930
31------

最近のコメント 5件

  • link 19年04月01日
    すずき 「どの CPU というかシステムでも同じ傾...」
    (更新:04/05 11:03)
  • link 19年04月01日
    hdk 「去年Ryzen 7 1700で測りました...」
    (更新:04/02 22:48)
  • link 19年03月05日
    すずき 「> オシロの波形見てて気がつかなか...」
    (更新:03/21 17:45)
  • link 19年03月05日
    kml 「> 自分が持っている RockPr...」
    (更新:03/20 21:30)
  • link 19年03月10日
    すずき 「ありがとー!!」
    (更新:03/13 09:46)

最近の記事 3件

link もっとみる
  • link 19年05月09日
    すずき 「[RockPro64 の PCIe] RockPro64 の PC...」
    (更新:05/11 15:12)
  • link 19年04月29日
    すずき 「[クロスビルド用ツールチェーン - その 2] クロスビルド用ツー...」
    (更新:05/07 00:39)
  • link 19年04月27日
    すずき 「[クロスビルド用ツールチェーン - その 1] クロスビルド用ツー...」
    (更新:05/07 00:39)

こんてんつ

open/close wiki
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報