Blank screen after changing audio interface

Hello, I was switching interfaces to use my new Scarlett Solo instead of the UCA222 and went to the web interface to change the settings. I saved the new configuration, and before restarting, my 2-year-old son pressed the power source button, cutting off the power, and the Zynthian shut down abruptly. After that, the screen won’t turn on anymore. I tried accessing via SSH and restoring the zynthian_envar.sh file to use the dummy interface, but it didn’t work (I had done this before, and it always worked).

bellow some logs

Could someone help me? I’m a bit desperate :slight_smile:

(venv) root@zynthian:/zynthian/config# journalctl -fu zynthian
Nov 17 13:16:53 zynthian startx[4055]: (EE)
Nov 17 13:16:53 zynthian startx[4055]: Fatal server error:
Nov 17 13:16:53 zynthian startx[4055]: (EE) no screens found(EE)
Nov 17 13:16:53 zynthian startx[4055]: (EE)
Nov 17 13:16:53 zynthian startx[4055]: Please consult the The X.Org Foundation support
Nov 17 13:16:53 zynthian startx[4055]:          at http://wiki.x.org
Nov 17 13:16:53 zynthian startx[4055]:  for help.
Nov 17 13:16:53 zynthian startx[4055]: (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
Nov 17 13:16:53 zynthian startx[4055]: (EE)
Nov 17 13:16:53 zynthian startx[4055]: (EE) Server terminated with error (1). Closing log file.

The Xorg.0.log

 root@zynthian:/zynthian/config# cat /var/log/Xorg.0.log 
[   354.330] 
X.Org X Server 1.21.1.7
X Protocol Version 11, Revision 0
[   354.330] Current Operating System: Linux zynthian 6.6.47-v8+ #1794 SMP PREEMPT Thu Aug 29 16:29:21 BST 2024 aarch64
[   354.330] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_headphones=0 bcm2708_fb.fbwidth=0 bcm2708_fb.fbheight=0 bcm2708_fb.fbswap=1 smsc95xx.macaddr=DC:A6:32:4B:1C:12 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait
[   354.330] xorg-server 2:21.1.7-3+rpt3+deb12u7 (https://www.debian.org/support) 
[   354.330] Current version of pixman: 0.42.2
[   354.330] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[   354.330] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   354.330] (==) Log file: "/var/log/Xorg.0.log", Time: Sun Nov 17 13:17:29 2024
[   354.330] (==) Using config directory: "/etc/X11/xorg.conf.d"
[   354.330] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[   354.330] (==) No Layout section.  Using the first Screen section.
[   354.330] (==) No screen section available. Using defaults.
[   354.330] (**) |-->Screen "Default Screen Section" (0)
[   354.330] (**) |   |-->Monitor "<default monitor>"
[   354.331] (==) No monitor specified for screen "Default Screen Section".
	Using a default monitor configuration.
[   354.331] (**) Option "Debug" "dmabuf_capable"
[   354.331] (==) Automatically adding devices
[   354.331] (==) Automatically enabling devices
[   354.331] (==) Automatically adding GPU devices
[   354.331] (==) Automatically binding GPU devices
[   354.331] (==) Max clients allowed: 256, resource mask: 0x1fffff
[   354.331] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[   354.331] 	Entry deleted from font path.
[   354.331] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[   354.331] 	Entry deleted from font path.
[   354.331] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[   354.331] 	Entry deleted from font path.
[   354.331] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[   354.331] 	Entry deleted from font path.
[   354.331] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[   354.331] 	Entry deleted from font path.
[   354.331] (==) FontPath set to:
	/usr/share/fonts/X11/misc,
	/usr/share/fonts/X11/Type1,
	built-ins
[   354.331] (==) ModulePath set to "/usr/lib/xorg/modules"
[   354.331] (II) The server relies on udev to provide the list of input devices.
	If no devices become available, reconfigure udev or disable AutoAddDevices.
[   354.331] (II) Loader magic: 0x5555d20ef0
[   354.331] (II) Module ABI versions:
[   354.331] 	X.Org ANSI C Emulation: 0.4
[   354.331] 	X.Org Video Driver: 25.2
[   354.331] 	X.Org XInput driver : 24.4
[   354.331] 	X.Org Server Extension : 10.0
[   354.333] (--) using VT number 2

[   354.333] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[   354.333] (II) no primary bus or device found
[   354.334] (II) LoadModule: "glx"
[   354.334] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[   354.336] (II) Module glx: vendor="X.Org Foundation"
[   354.336] 	compiled for 1.21.1.7, module version = 1.0.0
[   354.336] 	ABI class: X.Org Server Extension, version 10.0
[   354.337] (==) Matched modesetting as autoconfigured driver 0
[   354.337] (==) Matched fbdev as autoconfigured driver 1
[   354.337] (==) Assigned the driver to the xf86ConfigLayout
[   354.337] (II) LoadModule: "modesetting"
[   354.337] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[   354.338] (II) Module modesetting: vendor="X.Org Foundation"
[   354.338] 	compiled for 1.21.1.7, module version = 1.21.1
[   354.338] 	Module class: X.Org Video Driver
[   354.338] 	ABI class: X.Org Video Driver, version 25.2
[   354.338] (II) LoadModule: "fbdev"
[   354.338] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[   354.338] (II) Module fbdev: vendor="X.Org Foundation"
[   354.339] 	compiled for 1.21.1.3, module version = 0.5.0
[   354.339] 	Module class: X.Org Video Driver
[   354.339] 	ABI class: X.Org Video Driver, version 25.2
[   354.339] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[   354.339] (II) FBDEV: driver for framebuffer: fbdev
[   354.339] (WW) Falling back to old probe method for modesetting
[   354.339] (EE) open /dev/dri/card0: No such file or directory
[   354.339] (WW) Falling back to old probe method for fbdev
[   354.339] (II) Loading sub module "fbdevhw"
[   354.339] (II) LoadModule: "fbdevhw"
[   354.339] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[   354.340] (II) Module fbdevhw: vendor="X.Org Foundation"
[   354.340] 	compiled for 1.21.1.7, module version = 0.0.2
[   354.340] 	ABI class: X.Org Video Driver, version 25.2
[   354.340] (EE) open /dev/fb0: No such file or directory
[   354.340] (WW) Falling back to old probe method for modesetting
[   354.340] (EE) open /dev/dri/card0: No such file or directory
[   354.340] (WW) Falling back to old probe method for fbdev
[   354.340] (II) Loading sub module "fbdevhw"
[   354.340] (II) LoadModule: "fbdevhw"
[   354.340] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[   354.340] (II) Module fbdevhw: vendor="X.Org Foundation"
[   354.340] 	compiled for 1.21.1.7, module version = 0.0.2
[   354.340] 	ABI class: X.Org Video Driver, version 25.2
[   354.340] (EE) open /dev/fb0: No such file or directory
[   354.340] (EE) No devices detected.
[   354.340] (EE) 
Fatal server error:
[   354.340] (EE) no screens found(EE) 
[   354.340] (EE) 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
[   354.340] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[   354.340] (EE) 
[   354.340] (EE) Server terminated with error (1). Closing log file.

You possibly have corrupted the SSD.

It’s possible to get data back from it but you probably want to burn an new SSD before you attempt that.
Do you have an SSD available?

I dont have another SSD :frowning:

I made a backup of my samples, and later, through the interface, I made a backup of the settings. Is it not possible to recover?

If you can’t get a terminal on it or webconf and you are sure of your network then the SSD is the next suspect.

You can often get away with it but if it just happens to get the wrong time it can be bad news.
IF you have been writing something thats critical to the linux start up then you are in trouble, but it doesnt man you might not be able to get to some data.
Once an SSD is boshed it’s got holes in it’s data as it was probably writing when it was turned off, so you will never really know if it’s all whole or not, but the damage will be in small specific places rather than the whole SSD . However from the starting up point of view you can never be sure it’s OK. The correct thing to do is reburm the SSD after seeing if you can get data off it.

It’s a bit like getting hacked. The only ultimate defense is build from scratch.

You can often read data off the SSD in the same drive you would use to write it.
PUt the SSD in the drive and see if it mounts on the operating system you would use to rewrite it ( Are you hosting on PC, Mac, Pi or something else ? )

You should be able to see the /zynthian/zynthian-my-data/ folder.
Back that up somewhere and then use your SSD writer to burn a new image from os.zynthian.org
Nothing on the SSD is needed other than a writable disc. I’ve gone down this path, many, many times but far less than the early days. . .

It is unlikely that you have physically damaged the SSD so a new write will set you well but you will have to reconfig your webconf settings if they are perverse.

2 Likes

After changing “zynthiam” to “zynthian” of course. @wyleu please edit the typo, I would if I could.

Thanks it’s updated. I’m not a touch typist, as is probably quite obvious…

1 Like

Linux boots up normally, and I can use the wired network and SSH into the machine. The issue seems to be the Zynthian service and the screen, which is not being recognized

Ok.
Can you see webconf?

If you can set display to hdmi generic and see if that boots. It’s possible something on the ssd has corrupted some aspect of the video subsystem.

No. I cant. Can anybody send-me the configuration of hdmi generic to put in zynthian_envar.sh?

Does modifying this file have the same effect as updating the webconf?

Might be worth examining the webconf start up to see why it’s not working…

journalctl - u zynthian-webconf

(venv) root@zynthian:~# journalctl -u zynthian-webconf 
Nov 18 02:51:27 zynthian systemd[1]: Started zynthian-webconf.service - Zynthian Webconf.
Nov 18 02:51:28 zynthian zynthian_webconf.sh[404]: ----------------------------------------------
Nov 18 02:51:28 zynthian zynthian_webconf.sh[404]: Linux Version: bookworm
Nov 18 02:51:28 zynthian zynthian_webconf.sh[404]: Kernel Version: 6.6.47-v8+
Nov 18 02:51:28 zynthian zynthian_webconf.sh[404]: ZynthianOS Version: 2409
Nov 18 02:51:28 zynthian zynthian_webconf.sh[404]: Virtualization: none
Nov 18 02:51:28 zynthian zynthian_webconf.sh[404]: Hardware Architecture: aarch64
Nov 18 02:51:28 zynthian zynthian_webconf.sh[404]: Hardware Model: Raspberry Pi 4 Model B Rev 1.1
Nov 18 02:51:28 zynthian zynthian_webconf.sh[404]: ----------------------------------------------
Nov 18 02:51:33 zynthian zynthian_webconf.sh[556]: INFO:root:ZYNTHIAN-UI CONFIG ...
Nov 18 02:51:33 zynthian zynthian_webconf.sh[556]: INFO:root:No Wiring Layout configured. Only touch interface is available.
Nov 18 02:51:33 zynthian zynthian_webconf.sh[556]: Started libzynaudioplayer using libsndfile-1.2.0
Nov 18 02:51:33 zynthian zynthian_webconf.sh[556]: INFO:root:Supported Audio Codecs: ['aiff', 'aifc', 'au', 'caf', 'flac', 'mp3', 'vox', 'opus', 'ogg', 'wav']
Nov 18 02:51:33 zynthian zynthian_webconf.sh[658]: aplay: device_list:274: no soundcards found...
Nov 18 02:51:33 zynthian zynthian_webconf.sh[661]: aplay: device_list:274: no soundcards found...
Nov 18 02:51:33 zynthian zynthian_webconf.sh[556]: INFO:root:RBPi Device Name: ''
Nov 18 02:51:35 zynthian zynthian_webconf.sh[714]: Error: Could not open file `/dev/i2c-1' or `/dev/i2c/1': No such file or directory
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]: Traceback (most recent call last):
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:   File "/zynthian/zynthian-webconf/./zynthian_webconf.py", line 45, in <module>
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:     from lib.repository_handler import RepositoryHandler
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:   File "/zynthian/zynthian-webconf/lib/repository_handler.py", line 37, in <module>
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:     from lib.wiring_config_handler import WiringConfigHandler
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:   File "/zynthian/zynthian-webconf/lib/wiring_config_handler.py", line 46, in <module>
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:     for i2chip in DashboardHandler.get_i2c_chips():
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:   File "/zynthian/zynthian-webconf/lib/dashboard_handler.py", line 335, in get_i2c_chips
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:     out = check_output("i2cdetect -y 1", shell=True).decode().split("\n")
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:   File "/usr/lib/python3.11/subprocess.py", line 466, in check_output
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:   File "/usr/lib/python3.11/subprocess.py", line 571, in run
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]:     raise CalledProcessError(retcode, process.args,
Nov 18 02:51:35 zynthian zynthian_webconf.sh[556]: subprocess.CalledProcessError: Command 'i2cdetect -y 1' returned non-zero exit status 1.
Nov 18 02:51:36 zynthian zynthian_webconf.sh[556]: libzynaudioplayer exiting...  done!
Nov 18 02:51:36 zynthian systemd[1]: zynthian-webconf.service: Main process exited, code=exited, status=1/FAILURE
Nov 18 02:51:36 zynthian systemd[1]: zynthian-webconf.service: Failed with result 'exit-code'.
Nov 18 02:51:36 zynthian systemd[1]: zynthian-webconf.service: Consumed 3.736s CPU time.
Nov 18 02:51:41 zynthian systemd[1]: zynthian-webconf.service: Scheduled restart job, restart counter is at 1.

These are the settings from zynthian-amp5.local which is a Pi4 with a hifiberry amp card in it and is configured for hdmi

#Audio Config
export SOUNDCARD_NAME=“HifiBerry DAC+”
export SOUNDCARD_CONFIG=“dtoverlay=hifiberry-dacplus\nforce_eeprom_read=0”
export SOUNDCARD_MIXER=“Digital_0,Digital_1”
export JACKD_OPTIONS=“-P 70 -s -S -d alsa -d hw:sndrpihifiberry -r 48000 -p 256 -n 2 -X raw”

#Display Config
export DISPLAY_NAME=“Generic HDMI/DSI Display”
export DISPLAY_CONFIG=“”
export DISPLAY_WIDTH=“”
export DISPLAY_HEIGHT=“”
export FRAMEBUFFER=“/dev/fb0”
export DISPLAY_KERNEL_OPTIONS=“”

1 Like