質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.33%

JetsonTK1でlinux mainline v4.7-rc1ブート成功したが不具合発生

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,067

mao999

score 99

NVIDIA JetsonTK1(tegra124)において、
u-boot方式でSDカードからlinuxカーネル(メインライン)v4.7-rc1のブートに成功し、
LAN内からSSH接続まで出来たのですが、
・HDMIモニタが映らない。
・v4.5.2(メインライン)ではUSB2.0が動作していたのに、動作しない。
・USB3.0も動作しない。
状態で、困っています。

rc1なのでまだ仕方ないのかもしれませんが、
LKMLに質問する様な内容ではないと思うので、こちらで質問させて頂きます。

直ぐに原因が特定出来れば有り難いのですが、
その場合にも、こういう場面に遭遇した時、取っ掛かりとしてどうやって調べたら良いのか、
経験則やヒューリスティクス的な方法が御座いましたら教えて頂けますでしょうか。

<現在分かっている事の概要>
・HDMI
 過去のバージョン(4.2)でHDMIは映るという報告は聞いているので、これは設定次第なのかもしれません。
 自分の設定では4.5.2でHDMIは映りませんでした。
・USB2.0
 v4.5.2では動いていた(USBキーボード,WEBカメラ)ので、これも設定次第かもしれません。
 USBキーボードを接続してもlsusbで認識されない。
・USB3.0
 v4.7-rc1からUSB3.0がサポートされ始めました。
 drivers/usb/host/xhci-tegra.cが追加されました。
 USB2.0も動いていない様なので、3.0の問題は、上2つが片付いてからで良いです。
・.configの設定がダメなのか、dtsのパラメータが合っていないのか、
 ドライバソースにバグがあるのか、firmwareにバグがあるのか、
 カーネル構築方法に間違いがあるのか、
 皆目検討が付きません。何かもっと学ぶべきことがあると感じています。

<やったこと>

0.x86_64ホストでarm-linux-gnueabihf用のクロスコンパイル環境を構築。
1.v4.5.2の時の.configを引き継いでmake oldconfig。
2.make menuconfigでlocal version設定。
3.vim .configで、
 CONFIG_USB_XHCI_TEGRA=y
 CONFIG_PHY_TEGRA_XUSB=y
 そのたTEGRA124に関係有りそうなものをy。
 (何をyにしたか覚えていない。後に.configを載せます。
4.make oldconfig
5.time make -j 4 zImage 2>&1 | tee mk_zImage.log
6.time make -j 4 modules 2>&1 | tee mk_modules.log
7.time make -j 4 dtbs 2>&1 | tee mk_dtbs.log
8.time make modules_install INSTALL_MOD_PATH=../pridact-1.0.0/ INSTALL_MOD_STRIP=--strip-unneeded | tee modules_install.log
9.u-bootで起動するように、
 zImage,dtb,firmware,modules,boot.scrをSDに配置。
 boot.scrはboot.txtから下記コマンドで作成(boot.txtは後に載せます。
 $mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "jetson-tk1" -d boot.txt boot.scr
10.ブート

<v4.7-rc1ビルド時.config>
config_jetsontk1_4.7.0_pridact-1.0.0.txt
<v4.5.2ビルド時.config>
config_jetsontk1_4.5.2_pridact-1.0.0.txt
<boot.txt>

load mmc 1:1 ${kernel_addr_r} zImage
load mmc 1:1 ${fdt_addr_r} tegra124-jetson-tk1.dtb
setenv bootargs console=tty1 no_console_suspend=1 lp0_vec=2064@0xf46ff000 mem=2015M@2048M memtype=255 
ddr_die=2048M@2048M section=256M pmuboard=0x0177:0x0000:0x02:0x43:0x00 tsec=32M@3913M otf_key=c75e5bb91eb3bd947560357b64422f85
usbcore.old_scheme_first=1 core_edp_mv=1150 core_edp_ma=4000 tegraid=40.1.1.0.0 debug_uartport=lsport,3
power_supply=Adapter audio_codec=rt5640 modem_id=0 android.kerneltype=normal fbcon=map:1 commchip_id=0 usb_port_owner_info=2
lane_owner_info=6 emc_max_dvfs=0 touch_id=0@0 board_info=0x0177:0x0000:0x02:0x43:0x00
root=/dev/mmcblk1p2 rw rootwait vmalloc=512m debug
bootz ${kernel_addr_r} - ${fdt_addr_r}


<dts>
arch/arm/boot/dts/tegra124-jetson-tk1.dts

<dmesg>
抜粋。
dtsのregulatorノードのgpioプロパティがパース出来なくて、ハードウェアのプロパティ設定に失敗している気がするのですが。
自分のdtsの知識が足りていないようです。

[    0.000000] Linux version 4.7.0-rc1-pridact-1.0.0 (root@dsnote) (gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu1) ) #6 SMP PREEMPT Sat Jun 4 00:50:08 JST 2016
[    0.000000] CPU: ARMv7 Processor [413fc0f3] revision 3 (ARMv7), cr=10c5387d
[    0.000000] Machine model: NVIDIA Tegra124 Jetson TK1

[    0.002297] Console: colour dummy device 80x30
[    0.003945] console [tty1] enabled
[    0.478962] gpio gpiochip0: (tegra-gpio): added GPIO chardev (254:0)
[    0.479250] gpiochip_setup_dev: registered GPIOs 0 to 255 on device: gpiochip0 (tegra-gpio)
[    0.489877] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.489918] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.766074] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/regulators/regulator@0[0]'
[    0.766378] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/regulators/regulator@1[0]'
[    0.766471] +5V_SYS: supplied by +VDD_MUX
[    0.766768] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/regulators/regulator@2[0]'
[    0.766852] +3.3V_SYS: supplied by +VDD_MUX
[    0.767170] of_get_named_gpiod_flags: parsed 'gpio' property of node '/regulators/regulator@3[0]' - status (-517)
[    0.767279] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/regulators/regulator@4[0]'
[    0.767623] of_get_named_gpiod_flags: parsed 'gpio' property of node '/regulators/regulator@7[0]' - status (0)
[    0.767685] gpio-108 (?): gpiod_request: status -517
[    0.767711] +USB0_VBUS_SW: Failed to request enable GPIO108: -517
[    0.767740] reg-fixed-voltage regulators:regulator@7: Failed to register regulator: -517
[    0.767852] of_get_named_gpiod_flags: parsed 'gpio' property of node '/regulators/regulator@8[0]' - status (0)
[    0.767907] gpio-109 (?): gpiod_request: status -517
[    0.767931] +5V_USB_HS: Failed to request enable GPIO109: -517
[    0.767959] reg-fixed-voltage regulators:regulator@8: Failed to register regulator: -517
[    0.768085] of_get_named_gpiod_flags: parsed 'gpio' property of node '/regulators/regulator@10[0]' - status (-517)
[    0.768198] of_get_named_gpiod_flags: parsed 'gpio' property of node '/regulators/regulator@11[0]' - status (0)
[    0.768252] gpio-63 (?): gpiod_request: status -517
[    0.768277] +1.05V_RUN_AVDD_HDMI_PLL: Failed to request enable GPIO63: -517
[    0.768306] reg-fixed-voltage regulators:regulator@11: Failed to register regulator: -517
[    0.768413] of_get_named_gpiod_flags: parsed 'gpio' property of node '/regulators/regulator@12[0]' - status (0)
[    0.768467] gpio-86 (?): gpiod_request: status -517
[    0.768491] +5V_HDMI_CON: Failed to request enable GPIO86: -517
[    0.768518] reg-fixed-voltage regulators:regulator@12: Failed to register regulator: -517
[    0.768625] of_get_named_gpiod_flags: parsed 'gpio' property of node '/regulators/regulator@13[0]' - status (0)
[    0.768680] gpio-242 (?): gpiod_request: status -517
[    0.768704] +5V_SATA: Failed to request enable GPIO242: -517
[    0.768731] reg-fixed-voltage regulators:regulator@13: Failed to register regulator: -517
[    0.768837] of_get_named_gpiod_flags: parsed 'gpio' property of node '/regulators/regulator@14[0]' - status (0)
[    0.768891] gpio-242 (?): gpiod_request: status -517
[    0.768915] +12V_SATA: Failed to request enable GPIO242: -517
[    0.768942] reg-fixed-voltage regulators:regulator@14: Failed to register regulator: -517


[    0.770980] usbcore: registered new interface driver usbfs
[    0.771063] usbcore: registered new interface driver hub
[    0.771168] usbcore: registered new device driver usb


[    1.710246] usb2-0 supply vbus not found, using dummy regulator
[    1.710397] usb2-1 supply vbus not found, using dummy regulator
[    1.710816] tegra-xusb-padctl 7009f000.padctl: failed to setup XUSB ports: -517
[    1.753260] tegra-ahci 70027000.sata: couldn't get PHY in node sata: -517

追記
2016/06/04
arch/arm/configs/tegra_defconfig
があったので試してみます。
2016/06/06
defconfigダメでした。
v4.7-rc1にあって、v4.5.2に無いdmesgのusb系のエラー出力

[    2.485140] usb2-0 supply vbus not found, using dummy regulator
[    2.485296] usb2-1 supply vbus not found, using dummy regulator
[    2.485675] usb3-0 supply vbus not found, using dummy regulator
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.33%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る