Well, no success with option1 (Matthew has not answered yet).
I have tried to look at option 2, but not obvious to try without reflashing.
Possible ways (please tell if it is useless) from simplest to the most complicated :
-
Adding nomodeset to kernel command line. This has been used on PCs with grub. I don’t know if this is only for PC or if this can work here. I guess I would have to modify the bootloader config, but so far I don’t know precisely how to do this.
-
According to :
Kernel mode setting - ArchWiki
Provide the binary edid file in folder /usr/lib/firmware/edid/edid.bin, update initramfs and add to kernel command line the option:
drm_kms_helper.edid_firmware=edid/edid.bin
Not sure it will work in my case, as I may have to make a fixed edid file, just able to give the resolution I want for console and the one for GUI. However, I had no knowledge of EDID nor KMS before this issue and I cannot invest days for that, albeit I like to solve problems.
- Rebuild a new kernel.The kms part embeds four default modes, so it should be possible to hardcode these for my hardware. Not sure however how it selects amomg these four…
So I was thinking to go for buying a brand new HDMI monitor (option 4 or at least 3), but…
Trying to understand difference with my old TK1 that works, I have modified get-edid 3.0.2 from source to see why it was failing on TX1 with 3.0.2, just printing the received header.
It seems to me that the received edid from i2c by get-edid is wrong. It is constantly (reproductible) wrong header (01 00 0D 00 84 08 E8 03), while on my TK1, (L4T R19) it is constantly ok.
On TX1, edid read from /sys/kernel/debug/tegradc.1/edid is ok.
I have been trying a few other displays without improvement.
First I took a Lenovo All in One PC having a vga input…not better, but VGA was probably not the best trial.
So I went to a big Samsung Flat TV having an HDMI input and it was another cable. Then, I have been able to see Linux booting. But, after GUI had started, virtual consoles were black again.
Tonight, I’m using another monitor from ASUS, quite old as well, not better.
When looking at errors in dmesg, I’ve noticed some about i2c, but not sure they are “normal”. After booting I tried some get-edid :
dmesg |grep i2c
[ 0.834692] i2c i2c-3: of_i2c: modalias failure on /i2c@7000c700/prod-settings
[ 4.389921] i2c /dev entries driver
[ 7.263700] tegra-i2c 7000c000.i2c: no acknowledge from address 0x1b
[ 8.672282] vi vi: parsing node /host1x/i2c@546c0000/ov5693_c@36
[ 8.681031] vi vi: handling endpoint /host1x/i2c@546c0000/ov5693_c@36/ports/port@0/endpoint
[ 8.716093] vi vi: processing endpoint /host1x/i2c@546c0000/ov5693_c@36/ports/port@0/endpoint
[ 8.727523] vi vi: skipping channel port /host1x/i2c@546c0000/ov5693_c@36:0
[ 5695.977629] tegra-i2c 7000c000.i2c: no acknowledge from address 0x50
[ 5695.977934] tegra-i2c 7000c400.i2c: no acknowledge from address 0x50
[ 5696.974570] tegra-i2c 7000c700.i2c: --- register dump for debugging ----
[ 5696.981510] tegra-i2c 7000c700.i2c: I2C_CNFG - 0x22c00
[ 5696.987520] tegra-i2c 7000c700.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 5696.996123] tegra-i2c 7000c700.i2c: I2C_FIFO_CONTROL - 0xe0
[ 5697.003300] tegra-i2c 7000c700.i2c: I2C_FIFO_STATUS - 0x800040
[ 5697.009824] tegra-i2c 7000c700.i2c: I2C_INT_MASK - 0xed
[ 5697.015170] tegra-i2c 7000c700.i2c: I2C_INT_STATUS - 0x0
[ 5697.020531] tegra-i2c 7000c700.i2c: msg->len - 1
[ 5697.026344] tegra-i2c 7000c700.i2c: is_msg_write - 1
[ 5697.031307] tegra-i2c 7000c700.i2c: next_msg->len - 1
[ 5697.037071] tegra-i2c 7000c700.i2c: is_next_msg_write - 0
[ 5697.042467] tegra-i2c 7000c700.i2c: buf_remaining - 1
[ 5697.048170] tegra-i2c 7000c700.i2c: i2c transfer timed out, addr 0x0050, data 0x00
[ 5697.056206] tegra-i2c 7000d000.i2c: no acknowledge from address 0x50
[ 5698.054727] tegra-i2c 7000d100.i2c: --- register dump for debugging ----
[ 5698.061497] tegra-i2c 7000d100.i2c: I2C_CNFG - 0x22c00
[ 5698.070831] tegra-i2c 7000d100.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 5698.079510] tegra-i2c 7000d100.i2c: I2C_FIFO_CONTROL - 0xe0
[ 5698.085436] tegra-i2c 7000d100.i2c: I2C_FIFO_STATUS - 0x800040
[ 5698.091265] tegra-i2c 7000d100.i2c: I2C_INT_MASK - 0xed
[ 5698.097107] tegra-i2c 7000d100.i2c: I2C_INT_STATUS - 0x0
[ 5698.102415] tegra-i2c 7000d100.i2c: msg->len - 1
[ 5698.107625] tegra-i2c 7000d100.i2c: is_msg_write - 1
[ 5698.112584] tegra-i2c 7000d100.i2c: next_msg->len - 1
[ 5698.118270] tegra-i2c 7000d100.i2c: is_next_msg_write - 0
[ 5698.123663] tegra-i2c 7000d100.i2c: buf_remaining - 1
[ 5698.129146] tegra-i2c 7000d100.i2c: i2c transfer timed out, addr 0x0050, data 0x00
[ 5698.137601] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x50
[ 5698.137784] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x50
[ 5698.137930] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x50
[ 5698.138073] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x50
[ 5878.258582] tegra-i2c 7000c000.i2c: no acknowledge from address 0x50
[ 5878.258947] tegra-i2c 7000c400.i2c: no acknowledge from address 0x50
[ 5879.257022] tegra-i2c 7000c700.i2c: --- register dump for debugging ----
[ 5879.263833] tegra-i2c 7000c700.i2c: I2C_CNFG - 0x22c00
[ 5879.269445] tegra-i2c 7000c700.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 5879.276351] tegra-i2c 7000c700.i2c: I2C_FIFO_CONTROL - 0xe0
[ 5879.282269] tegra-i2c 7000c700.i2c: I2C_FIFO_STATUS - 0x800040
[ 5879.288322] tegra-i2c 7000c700.i2c: I2C_INT_MASK - 0xed
[ 5879.295002] tegra-i2c 7000c700.i2c: I2C_INT_STATUS - 0x0
[ 5879.300375] tegra-i2c 7000c700.i2c: msg->len - 1
[ 5879.305021] tegra-i2c 7000c700.i2c: is_msg_write - 1
[ 5879.310005] tegra-i2c 7000c700.i2c: next_msg->len - 1
[ 5879.315159] tegra-i2c 7000c700.i2c: is_next_msg_write - 0
[ 5879.320596] tegra-i2c 7000c700.i2c: buf_remaining - 1
[ 5879.325680] tegra-i2c 7000c700.i2c: i2c transfer timed out, addr 0x0050, data 0x00
[ 5879.333727] tegra-i2c 7000d000.i2c: no acknowledge from address 0x50
[ 5880.327124] tegra-i2c 7000d100.i2c: --- register dump for debugging ----
[ 5880.333979] tegra-i2c 7000d100.i2c: I2C_CNFG - 0x22c00
[ 5880.341139] tegra-i2c 7000d100.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 5880.348588] tegra-i2c 7000d100.i2c: I2C_FIFO_CONTROL - 0xe0
[ 5880.354264] tegra-i2c 7000d100.i2c: I2C_FIFO_STATUS - 0x800040
[ 5880.360554] tegra-i2c 7000d100.i2c: I2C_INT_MASK - 0xed
[ 5880.365819] tegra-i2c 7000d100.i2c: I2C_INT_STATUS - 0x0
[ 5880.371588] tegra-i2c 7000d100.i2c: msg->len - 1
[ 5880.376245] tegra-i2c 7000d100.i2c: is_msg_write - 1
[ 5880.381606] tegra-i2c 7000d100.i2c: next_msg->len - 1
[ 5880.386711] tegra-i2c 7000d100.i2c: is_next_msg_write - 0
[ 5880.392102] tegra-i2c 7000d100.i2c: buf_remaining - 1
[ 5880.397250] tegra-i2c 7000d100.i2c: i2c transfer timed out, addr 0x0050, data 0x00
[ 5880.405794] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x50
[ 5880.405957] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x50
[ 5880.406113] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x50
[ 5880.406266] tegra-vii2c 546c0000.i2c: no acknowledge from address 0x50
I’ve also noticed some errors with regulator_get() failing with error -19.
dmesg | grep regulator_get
[ 0.788592] regulator_get() failed for (1-0074,vcc), -19
[ 0.811043] regulator_get() failed for (1-0077,vcc), -19
[ 3.768210] regulator_get() failed for (tegra-udc.0,usb_bat_chg), -19
[ 3.820895] regulator_get() failed for (tegra-ehci.0,usb_vbus), -19
[ 3.820897] usb_phy: failed regulator_get vdd_vbus_usb:-19, inst:0
[ 5.995035] regulator_get() failed for (sdhci-tegra.3,vqmmc), -19
[ 6.003988] regulator_get() failed for (sdhci-tegra.3,vmmc), -19
[ 6.126141] regulator_get() failed for (sdhci-tegra.1,vqmmc), -19
[ 6.144056] regulator_get() failed for (sdhci-tegra.1,vmmc), -19
[ 6.256585] regulator_get() failed for (sdhci-tegra.0,vqmmc), -19
[ 6.256594] regulator_get() failed for (sdhci-tegra.0,vmmc), -19
Is there a hardware issue with my TX1 or power supply ?
I have removed the USB keyboard hubbing a mouse, so no more USB device, and even removed the HDMI cable, but errors are still hapenning (devices were plugged after GUI had started).
Below are the dmesg output in both cases (Ethernet cable was still connected to a miniswitch).
dmesg.UsbAndHdmiPlugged.txt (69.6 KB)
dmesg.NoUsbNoHdmi.txt (69.1 KB)