Cannot write/burn CDs or DVDs at all, through USB attached drives

Hey guys, how are you doing? I’m currently facing a significant problem with my Fedora system, and I could really use some help. The issue I’m encountering is related to burning CDs or DVDs using Brasero. Whenever I attempt to burn a disc, it simply ejects the CD/DVD without actually completing the burning process. To make matters more confusing, the error log provided doesn’t offer a clear explanation of what went wrong.

This problem has occurred on multiple Fedora 37 and Fedora 38 systems, and it seems to be specific to USB-attached drives. I’ve tried different drives, but the result remains the same. I’m at a loss as to what could be causing this and how to fix it.

Using Debian Live with Brasero it works.

Any insights or suggestions you can provide would be greatly appreciated. Thank you in advance!

image

Brasero Session-Log:

Checking session consistency (brasero_burn_check_session_consistency brasero-burn.c:1739)
BraseroWodim called brasero_job_get_action
BraseroWodim creating input
BraseroWodim getting varg
BraseroWodim called brasero_job_get_action
BraseroWodim got varg:
BraseroWodim deactivating
BraseroTranscode called brasero_job_get_action
BraseroTranscode called brasero_job_get_action
BraseroTranscode called brasero_job_set_use_average_rate
BraseroTranscode called brasero_job_get_current_track
BraseroTranscode deactivating
BraseroWodim called brasero_job_get_action
BraseroWodim creating input
BraseroWodim getting varg
BraseroWodim called brasero_job_get_action
BraseroWodim called brasero_job_get_device
BraseroWodim called brasero_job_get_flags
BraseroWodim called brasero_job_get_speed
BraseroWodim called brasero_job_get_flags
BraseroWodim called brasero_job_get_input_type
BraseroWodim called brasero_job_get_fd_in
BraseroWodim called brasero_job_get_input_type
BraseroWodim called brasero_job_get_session_output_size
BraseroWodim called brasero_job_get_audio_title
BraseroWodim called brasero_job_get_tracks
BraseroWodim called brasero_job_get_fd_in
BraseroWodim writing inf (/tmp/brasero_tmp_EAKV61.inf)
BraseroWodim got track length 202600000000 15195
BraseroWodim called brasero_job_set_current_action
BraseroWodim got varg:
	wodim
	-v
	dev=/dev/sr0
	-dummy
	speed=24
	-dao
	fs=4m
	-audio
	-useinfo
	-text
	/tmp/brasero_tmp_EAKV61.inf
BraseroWodim Launching command
BraseroWodim called brasero_job_get_fd_out
BraseroWodim called brasero_job_get_fd_in
BraseroWodim called brasero_job_get_fd_out
BraseroTranscode called brasero_job_get_action
BraseroTranscode linked to BraseroWodim
BraseroTranscode called brasero_job_get_action
BraseroTranscode called brasero_job_set_use_average_rate
BraseroTranscode called brasero_job_get_fd_out
BraseroTranscode called brasero_job_get_current_track
BraseroTranscode settings track boundaries time = 0 202600000000 / bytes = 0 35738640
BraseroTranscode Creating new pipeline
BraseroTranscode called brasero_job_get_current_track
BraseroTranscode called brasero_job_get_action
BraseroTranscode called brasero_job_get_fd_out
BraseroTranscode called brasero_job_get_fd_out
BraseroTranscode called brasero_job_tag_lookup
BraseroTranscode called brasero_job_get_output_type
BraseroWodim stderr: wodim: Operation not permitted. Warning: Cannot raise RLIMIT_MEMLOCK limits.
BraseroWodim called brasero_job_get_flags
BraseroTranscode New pad
BraseroTranscode called brasero_job_get_current_track
BraseroTranscode Sending audio levels tags
BraseroTranscode Set volume level 0,000000 0,000000
BraseroTranscode called brasero_job_get_current_track
BraseroTranscode called brasero_job_get_action
BraseroTranscode called brasero_job_set_current_action
BraseroTranscode called brasero_job_get_fd_out
BraseroTranscode start piping /home/chairman/Music/BB/Talk About My Edge [y0m5bZYpzSA].opus
BraseroWodim stderr: scsidev: '/dev/sr0'
BraseroWodim called brasero_job_get_flags
BraseroWodim stdout: TOC Type: 0 = CD-DA
BraseroWodim stderr: devname: '/dev/sr0'
BraseroWodim called brasero_job_get_flags
BraseroWodim stdout: HUP
BraseroWodim stderr: scsibus: -2 target: -2 lun: -2
BraseroWodim called brasero_job_get_flags
BraseroWodim stderr: wodim: Cannot allocate memory. 
BraseroWodim called brasero_job_get_flags
BraseroWodim stderr: Cannot open SCSI driver!
BraseroWodim called brasero_job_get_flags
BraseroWodim stderr: For possible targets try 'wodim --devices' or 'wodim -scanbus'.
BraseroWodim called brasero_job_get_flags
BraseroWodim stderr: For possible transport specifiers try 'wodim dev=help'.
BraseroWodim called brasero_job_get_flags
BraseroWodim stderr: For IDE/ATAPI devices configuration, see the file README.ATAPI.setup from
BraseroWodim called brasero_job_get_flags
BraseroWodim stderr: the wodim documentation.
BraseroWodim called brasero_job_get_flags
BraseroWodim stderr: HUP
BraseroTranscode called brasero_job_get_action
BraseroTranscode called brasero_job_get_current_track
BraseroTranscode Retrieving tags
BraseroTranscode called brasero_job_get_action
BraseroTranscode called brasero_job_get_current_track
BraseroTranscode Retrieving tags
BraseroTranscode called brasero_job_get_action
BraseroTranscode called brasero_job_get_current_track
BraseroTranscode Retrieving tags
BraseroTranscode called brasero_job_get_action
BraseroTranscode called brasero_job_get_current_track
BraseroTranscode Retrieving tags
BraseroTranscode called brasero_job_get_action
BraseroTranscode called brasero_job_get_current_track
BraseroTranscode Retrieving tags
BraseroTranscode called brasero_job_get_action
BraseroTranscode called brasero_job_get_current_track
BraseroTranscode Retrieving tags
BraseroTranscode called brasero_job_get_action
BraseroTranscode called brasero_job_get_current_track
BraseroTranscode Retrieving tags
BraseroWodim process finished with status 255
BraseroWodim called brasero_job_error
BraseroWodim finished with an error
BraseroWodim asked to stop because of an error
	error		= 0
	message	= "no message"
BraseroTranscode stopping
BraseroTranscode disconnecting BraseroTranscode from BraseroWodim
BraseroWodim stopping
BraseroWodim closing connection for BraseroWodim
Session error : unknown (brasero_burn_record brasero-burn.c:2859)

If it’s a USB attached device, that device name seems wrong.

What’s the output of

dmesg | grep -E -i --color 'cdrom|dvd|cd/rw|writer'

and

less /proc/sys/dev/cdrom/info

?

Thanks a lot!
I tried 2 different ones, on different Fedora 37 systems.
Interesting: Using a SATA writer it works.

dmesg | grep -E -i --color 'cdrom|dvd|cd/rw|writer'
[   77.172962] scsi 6:0:0:0: CD-ROM            Optiarc  CDRWDVD CRX890A  PH03 PQ: 0 ANSI: 0
[   77.189198] sr 6:0:0:0: [sr0] scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray
[   77.189200] cdrom: Uniform CD-ROM driver Revision: 3.20
[34326.412183] scsi 6:0:0:0: CD-ROM            Optiarc  CDRWDVD CRX890A  PH03 PQ: 0 ANSI: 0
[34326.428359] sr 6:0:0:0: [sr0] scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray
[36345.368561] usb 4-3.3.2: Product:  CDDVDW TS-L633A
[36346.410747] scsi 6:0:0:0: CD-ROM            TSSTcorp CDDVDW TS-L633A  TO01 PQ: 0 ANSI: 0
[36346.417269] sr 6:0:0:0: [sr0] scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray

less /proc/sys/dev/cdrom/info
CD-ROM information, Id: cdrom.c 3.20 2003/12/17

drive name:             sr0
drive speed:            24
drive # of slots:       1
Can close tray:         1
Can open tray:          1
Can lock tray:          1
Can change speed:       1
Can select disk:        0
Can read multisession:  1
Can read MCN:           1
Reports media changed:  1
Can play audio:         1
Can write CD-R:         1
Can write CD-RW:        1
Can read DVD:           1
Can write DVD-R:        1
Can write DVD-RAM:      1
Can read MRW:           1
Can write MRW:          1
Can write RAM:          1

I have a USB DVD writers from Lenovo and LG (in a case from ADS Technologies), using kernel 6.3.9-200.fc38.x86_64 from koji because I use nouveau and Wayland.

Lenovo:

% head -3 /proc/sys/dev/cdrom/info
CD-ROM information, Id: cdrom.c 3.20 2003/12/17

drive name:		sr0

With this drive, Brasero claimed success writing the DVD, but then hung while doing the check.After a couple hours it was still stalled, so I closed Brasero and got a crash that was ported to Gnome (maybe an issue with Wayland). I was successful using xorriso to write
the image using this drive (correct sha256sum).

LG: (also sr0) was successful in writing and checking a DVD.

The Lenovo drive can read the DVD created using the LG drive.

I think Brasero started as an X11 application – I wonder if it has a problem with Xwayland.

I cannot be sure, but it seems I remember a comment about that recently. I would also suggest that @knogle try brasero while using xorg instead of wayland. I do not know if it is wayland or xwayland that may be the issue with brasero.

Thanks a lot. Normal burning of images or data works fine. I’m already using X11.
Can you maybe try creating an audio project with Brasero, burning mp3, or opus files?
That’s the onyl thing that doesn’t work for me, audio CDs.

Okay, the following fixes the issue, but it’s only a workaround.

chmod u+s /usr/bin/wodim

Seems to be related to this old issue here.
https://bugzilla.redhat.com/show_bug.cgi?id=1580021

No real fix available yet.

EDIT: Okay i just see, now only the simulation process of Brasero works, the burning itself fails. Even though, seems to be somehow related to wodim.