Switching to tty1-6

Hi!

I have the latest version of Jetpack (24.1), Jetson TX1.
When I try to switch to tty1-6 (Ctrl + Alt+ F1), I get a blank screen showing “no signal”. With the previous version of Jetpack, I had no problem like this.
I think tty1-6 are actually running, but probably ubuntu wants to change the resolution for the terminals, which fails for some reason.

Could anyone help me to solve this problem, please?

I can confirm this. Here are the full dmesg logs of what I get from switch to text console:

[   13.664923] gk20a gpu.0: GPCPLL initial settings: NA mode, M=1, N=34, P=3
[   13.803948] tegradc tegradc.1: blank - powerdown
[   13.880136] tegradc tegradc.1: unblank
[   13.928270] tegradc tegradc.1: nominal-pclk:146361600 parent:146360938 div:1.0 pclk:146360938 144897984~159534144
[   14.279479] tegradc tegradc.1: unblank
[   14.349282] init: plymouth-stop pre-start process (997) terminated with status 1
[   15.460070] Setting clk_rate = 44100 Hz pll_a_out0 = 45158400 Hz clk_out = 11289600 Hz
[   15.497948] Setting clk_rate = 44100 Hz pll_a_out0 = 45158400 Hz clk_out = 11289600 Hz
[   15.516074] Setting clk_rate = 44100 Hz pll_a_out0 = 45158400 Hz clk_out = 11289600 Hz
[   15.519439] Setting clk_rate = 44100 Hz pll_a_out0 = 45158400 Hz clk_out = 11289600 Hz
[   15.519938] tegra210_mixer tegra210-mixer: ASoC: hw_params() failed: -22
[   15.526715] tegra-snd-t210ref-mobile-rt565x sound.27: ASoC: PRE_PMU: TX1 Transmit-MIXER1-1 Receive event failed: -22
[   15.559741] Setting clk_rate = 44100 Hz pll_a_out0 = 45158400 Hz clk_out = 11289600 Hz
[   15.562233] Setting clk_rate = 44100 Hz pll_a_out0 = 45158400 Hz clk_out = 11289600 Hz
[   15.563919] Setting clk_rate = 44100 Hz pll_a_out0 = 45158400 Hz clk_out = 11289600 Hz
[   15.566651] Setting clk_rate = 44100 Hz pll_a_out0 = 45158400 Hz clk_out = 11289600 Hz
[   15.582455] Setting clk_rate = 44100 Hz pll_a_out0 = 45158400 Hz clk_out = 11289600 Hz
[   15.585094] Setting clk_rate = 44100 Hz pll_a_out0 = 45158400 Hz clk_out = 11289600 Hz
[   15.586877] Setting clk_rate = 44100 Hz pll_a_out0 = 45158400 Hz clk_out = 11289600 Hz
[   15.598609] Setting clk_rate = 44100 Hz pll_a_out0 = 45158400 Hz clk_out = 11289600 Hz
[   15.623336] Setting clk_rate = 44100 Hz pll_a_out0 = 45158400 Hz clk_out = 11289600 Hz
[b][   15.644643] tegradc tegradc.1: blank - powerdown
[   15.660256] HDA: No HDMI device connected[/b]
[   15.705129] tegradc tegradc.1: unblank
[   15.758545] tegradc tegradc.1: nominal-pclk:146361600 parent:146360938 div:1.0 pclk:146360938 144897984~159534144
[   16.110798] tegradc tegradc.1: unblank
[   17.135965] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   56.540716] tegradc tegradc.1: blank - powerdown

Notice “HDA: No HDMI device connected”. I notice that on R24.1, even though X11 shows up on boot, there is an odd failure of i2c/EDID (both before and after trying to switch to text console):

root@tegra-ubuntu:~# get-edid | parse-edid
This is read-edid version 3.0.1. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 0
No EDID on bus 1
[  112.863363] tegra-i2c 7000c700.i2c: --- register dump for debugging ----
[  112.870338] tegra-i2c 7000c700.i2c: I2C_CNFG - 0x22c00
[  112.876421] tegra-i2c 7000c700.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[  112.883985] tegra-i2c 7000c700.i2c: I2C_FIFO_CONTROL - 0xe0
[  112.889634] tegra-i2c 7000c700.i2c: I2C_FIFO_STATUS - 0x800040
[  112.895544] tegra-i2c 7000c700.i2c: I2C_INT_MASK - 0xed
[  112.900773] tegra-i2c 7000c700.i2c: I2C_INT_STATUS - 0x0
[  112.906122] tegra-i2c 7000c700.i2c: msg->len - 1
[  112.910829] tegra-i2c 7000c700.i2c: is_msg_write - 1
[  112.915880] tegra-i2c 7000c700.i2c: next_msg->len - 1
[  112.920958] tegra-i2c 7000c700.i2c: is_next_msg_write - 0
[  112.926378] tegra-i2c 7000c700.i2c: buf_remaining - 1
[  112.931446] tegra-i2c 7000c700.i2c: i2c transfer timed out, addr 0x0050, data 0x00
No EDID on bus 3
No EDID on bus 4
[  113.932692] tegra-i2c 7000d100.i2c: --- register dump for debugging ----
[  113.939843] tegra-i2c 7000d100.i2c: I2C_CNFG - 0x22c00
[  113.946561] tegra-i2c 7000d100.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[  113.953913] tegra-i2c 7000d100.i2c: I2C_FIFO_CONTROL - 0xe0
[  113.959628] tegra-i2c 7000d100.i2c: I2C_FIFO_STATUS - 0x800040
[  113.966625] tegra-i2c 7000d100.i2c: I2C_INT_MASK - 0xed
[  113.971904] tegra-i2c 7000d100.i2c: I2C_INT_STATUS - 0x0
[  113.977284] tegra-i2c 7000d100.i2c: msg->len - 1
[  113.981905] tegra-i2c 7000d100.i2c: is_msg_write - 1
[  113.986936] tegra-i2c 7000d100.i2c: next_msg->len - 1
[  113.992014] tegra-i2c 7000d100.i2c: is_next_msg_write - 0
[  113.997564] tegra-i2c 7000d100.i2c: buf_remaining - 1
[  114.002804] tegra-i2c 7000d100.i2c: i2c transfer timed out, addr 0x0050, data 0x00
No EDID on bus 5
No EDID on bus 6
1 potential busses found: 2
Bus 2 doesn't really have an EDID...
Couldn't find an accessible EDID on this computer.
I'm sorry nothing was successful. Maybe try some other arguments
if you played with them, or send an email to Matthew Kern <pyrophobicman@gmail.com>.
Partial Read... Try again

It looks like on R24.1 my monitor got lucky at initial mode, but i2c for EDID is failing. The same monitor shows correct behavior and checksum as EDID version 1.3 on a JTK1.

I believe this is an i2c issue just poking its head up for the specific case of EDID (which uses i2c). I know this monitor gets and parses EDID on the same JTX1 board with other software, without EDID failure. Because console and X11 can read and parse EDID separately, and since both fail, it makes sense that the common i2c software is the cause.

Thanks for your reply, I really appreciate it!

I hope NVIDIA will fix this issue soon, but I am truly thinking of placing an analyzer on the line.
But even if I find out what’s wrong with I2C, I don’t know how easy would be for me to fix it…

Hello,
Please apply the following patch and try again (based on 24.1)

diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
index a92783e..07e9d47 100644
--- a/drivers/video/console/fbcon.c
+++ b/drivers/video/console/fbcon.c
@@ -2378,8 +2378,10 @@ static int fbcon_blank(struct vc_data *vc, int blank, int mode_switch)
 					fbcon_generic_blank(vc, info, blank);
 		}
 
-		if (!blank)
+		if (!blank) {
+			fb_blank(info, blank);
 			update_screen(vc);
+		}
 	}
 
 	if (mode_switch || fbcon_is_inactive(vc, info) ||

br
ChenJian

I tested this patch under R24.1 64-bit with partial success. The i2c still had a register dump, but console mode did function after that. This is at least a partial workaround for console mode.

Logs below include the patch. Using a monitor which works with i2c during EDID query under both Jetson TK1 and TX1/R23.2, here is a copy of “get-edid | parse-edid”:

root@tegra-ubuntu:~# get-edid | parse-edid
This is read-edid version 3.0.1. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 0
No EDID on bus 1
No EDID on bus 3
No EDID on bus 4
No EDID on bus 5
No EDID on bus 6
1 potential busses found: 2
Bus 2 doesn't really have an EDID...
Couldn't find an accessible EDID on this computer.
I'm sorry nothing was successful. Maybe try some other arguments
if you played with them, or send an email to Matthew Kern <pyrophobicman@gmail.com>.
Partial Read... Try again

Here is a copy of the dmesg i2c logging resulting from “get-edid | parse-edid” after the patch:

[  348.517451] tegra-i2c 7000c000.i2c: no acknowledge from address 0x50
[  348.519094] tegra-i2c 7000c400.i2c: no acknowledge from address 0x50
[  349.516423] tegra-i2c 7000c700.i2c: --- register dump for debugging ----
[  349.523299] tegra-i2c 7000c700.i2c: I2C_CNFG - 0x22c00
[  349.529387] tegra-i2c 7000c700.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[  349.536708] tegra-i2c 7000c700.i2c: I2C_FIFO_CONTROL - 0xe0
[  349.542694] tegra-i2c 7000c700.i2c: I2C_FIFO_STATUS - 0x800040
[  349.549399] tegra-i2c 7000c700.i2c: I2C_INT_MASK - 0xed
[  349.554668] tegra-i2c 7000c700.i2c: I2C_INT_STATUS - 0x0
[  349.560028] tegra-i2c 7000c700.i2c: msg->len - 1
[  349.564644] tegra-i2c 7000c700.i2c: is_msg_write - 1
[  349.569678] tegra-i2c 7000c700.i2c: next_msg->len - 1
[  349.574819] tegra-i2c 7000c700.i2c: is_next_msg_write - 0
[  349.580286] tegra-i2c 7000c700.i2c: buf_remaining - 1
[  349.585440] tegra-i2c 7000c700.i2c: i2c transfer timed out, addr 0x0050, data 0x00
[  349.593379] tegra-i2c 7000d000.i2c: no acknowledge from address 0x50
[  350.586375] tegra-i2c 7000d100.i2c: --- register dump for debugging ----
[  350.593231] tegra-i2c 7000d100.i2c: I2C_CNFG - 0x22c00
[  350.599370] tegra-i2c 7000d100.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[  350.607402] tegra-i2c 7000d100.i2c: I2C_FIFO_CONTROL - 0xe0
[  350.613027] tegra-i2c 7000d100.i2c: I2C_FIFO_STATUS - 0x800040
[  350.618961] tegra-i2c 7000d100.i2c: I2C_INT_MASK - 0xed
[  350.624189] tegra-i2c 7000d100.i2c: I2C_INT_STATUS - 0x0
[  350.629719] tegra-i2c 7000d100.i2c: msg->len - 1
[  350.634404] tegra-i2c 7000d100.i2c: is_msg_write - 1
[  350.639438] tegra-i2c 7000d100.i2c: next_msg->len - 1
[  350.644571] tegra-i2c 7000d100.i2c: is_next_msg_write - 0
[  350.650015] tegra-i2c 7000d100.i2c: buf_remaining - 1
[  350.655146] tegra-i2c 7000d100.i2c: i2c transfer timed out, addr 0x0050, data 0x00
[  350.663841] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x50
[  350.664085] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x50
[  350.664324] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x50
[  350.664562] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x50

send an email to Matthew Kern pyrophobicman@gmail.com

I think an email to Matthew Kern would normally apply, but in this case there is an i2c error which is not from his software, nor from the monitor (one has to get past the i2c error before the other software has a chance to work). Somewhere in the conversion to 64-bit this i2c picked up a driver issue (I think the get-edid and parse-edid would work correctly if not for this, but I do not have an i2c analyzer or JTAG debugger to find out what’s really going on, and KGDBOC/printk workarounds tend to irritate me).

Any updates on this issue?

I see these same problems on JetPack2.3/L4T24.2 (cannot sync/startup with older monitor, bogus EDID I2C data & dmesg “register dump for debugging” messages with read-edid, but valid EDID data in /sys/kernel/debug/tegradc.1/edid & xrandr --valid) but also notice that the patch in comment 4 is not part of the release.

Will this patch be part of a future release or are there different/additional fixes for this problem (somewhat inconvenient to flash my module at this moment)?

thanks!

To be discussed in https://devtalk.nvidia.com/default/topic/937880/displayport-output-on-x1/

Thanks

Hi !
I have the same error when I try to start up my Jetson TX1:

[s]ubuntu@tegra-ubuntu:~$ [ 12.939505] tegra210_mixer tegra210-mixer: ASoC: hw_params() failed: -22
[ 12.946357] tegra-snd-t210ref-mobile-rt565x sound.27: ASoC: PRE_PMU: TX1 Transmit-MIXER1-1
Receive event failed: -22

by the way, before the last power off, the terminal is forced to shutdown by me.Is that the reason the error occurs?

How can I fix it? Thanks!

This is a duplicate of a separate thread…reply is in the other thread.