Play Disc Doesn't Work - C2

On my Odroid C2 using CE 9.2.2. After inserting a bluray disc in the drive, the “play” button on the disc menu does not work. Instead I have to use the file mode to play the disc.
Debug log

These lines occur when the disc is inserted

2020-05-11 19:13:50.751 T:4069872512 INFO: Detecting DVD-ROM media filesystem…
2020-05-11 19:13:51.294 T:4069872512 ERROR: Detection of DVD-ROM media failed.

Any thoughts?

Those errors are because the libcdio calls are not returning information for the physical disc I am testing with. In
/xbmc/storage/cdioSupport.cpp routine CCdIoSupport::GetCdInfo returns nothing for either this call (likely) m_nFirstTrackNum = ::cdio_get_first_track_num(cdio); or this call (less likely) m_nNumTracks = ::cdio_get_num_tracks(cdio);.

This disc is working on another system that is running libcdio version 2.0. My non-working system has CE 9.2.2 which is running libcdio 0.94. So my suspicion is this is an issue with libcdio 0.94.

My question then is, for libcdio, is CE just using what is in Kodi-Deps or are you adding your own libcdio?

It is own package: https://github.com/CoreELEC/CoreELEC/blob/coreelec-9.2/packages/audio/libcdio/package.mk

I will put newer libcdio library to my BD image if you want to test it?

Test image: https://drive.google.com/open?id=1sxTLoWDBY8is1zHQs2vXwzW2vubYz1qv

Thanks vpeter! I’ll try that out later today.

1 Like

Unfortunately vpeter, that doesn’t fix my problem. :sob:

So the hardware:

  • Odroid C2 with 12V 2A power supply
  • Asus External USB blu-ray drive - Model SBW-06D2X-U
  • Powered USB hub with 12V 2A power supply
  • USB hub is only device attached to C2, Drive is attached to Hub

So to try to figure this out, I pulled out 3 different discs to try:

  • Bluray
  • DVD
  • Audio CD

Results from inserting the disc:

  • Bluray results in no disc information returned from libcdio so play button doesn’t work, can be played when browsed to in file mode
  • DVD results in Kodi being in a frozen GUI deadlock, unplugging the drive unfreezes the Kodi GUI and all queued actions then occur, journal log shows USB is reset & sr0 worker is “taking a long time”
  • CD is identified by libcdio, cddb info is retrieved, disc menu recognizes it is an audio cd (rip button shows), play button does not work

I don’t think I have anything to load test the power supplies with, but 4A with nothing else running should be fine. The hardware had been working together previously, but probably hadn’t used a disc in a year. Drive works fine with Kodi when plugged into an Intel/Ubuntu 20.04 system.

I’m stumped.

Seems this time package bump didn’t help :thinking:

Try searching Kodi issues and pr if there is something mentioned.

Can you try this image? I add few patches from Kodi master in.

Thanks for that vpeter, unfortunately this looks to be an issue at a far lower level.

Here is a log running your last image. Started with CD, then Bluray, then DVD after which I unplugged the drive to get the GUI responding again.

I then set the CPU frequency back to default and tried it a DVD, nothing changed log.

In that last log, I believe the DVD was inserted about 14:43:23 and the drive was unplugged about 14:44:06.
May 15 14:43:23 LibreELEC-C2 kernel: aml_snd_m8_card aml_m8_snd.41: IEC958 playback enable
May 15 14:43:24 LibreELEC-C2 kernel: sr 0:0:0:0: [sr0] unaligned transfer
May 15 14:43:24 LibreELEC-C2 kernel: sr 0:0:0:0: [sr0] unaligned transfer
May 15 14:43:24 LibreELEC-C2 kernel: sr 0:0:0:0: [sr0] unaligned transfer
May 15 14:43:24 LibreELEC-C2 kernel: sr 0:0:0:0: [sr0] unaligned transfer
May 15 14:43:24 LibreELEC-C2 kernel: sr 0:0:0:0: [sr0] unaligned transfer
May 15 14:43:24 LibreELEC-C2 kernel: sr 0:0:0:0: [sr0] unaligned transfer
May 15 14:43:24 LibreELEC-C2 kernel: sr 0:0:0:0: [sr0] unaligned transfer
May 15 14:43:24 LibreELEC-C2 kernel: sr 0:0:0:0: [sr0] unaligned transfer
May 15 14:43:24 LibreELEC-C2 kernel: aml_snd_m8_card aml_m8_snd.41: I2S playback disable
May 15 14:43:24 LibreELEC-C2 kernel: aml_snd_m8_card aml_m8_snd.41: IEC958 playback disable
May 15 14:43:24 LibreELEC-C2 kernel: aml_spdif_dai: aml_hw_iec958_init,runtime->rate=44100, runtime->channels=2, same source mode(1)
May 15 14:43:24 LibreELEC-C2 kernel: aml_spdif_dai: share the same clock
May 15 14:43:24 LibreELEC-C2 kernel: aml_audio_hw: IEC958 PCM32
May 15 14:43:24 LibreELEC-C2 kernel: hdmitx: audio: aout notify rate 44100
May 15 14:43:24 LibreELEC-C2 kernel: hdmitx: audio: aout notify size 32
May 15 14:43:24 LibreELEC-C2 kernel: hdmitx: audio: no update
May 15 14:43:24 LibreELEC-C2 kernel: aml_snd_m8_card aml_m8_snd.41: i2s/958 same source
May 15 14:43:25 LibreELEC-C2 kernel: WARN::urb_dequeue:783: urb->hcpriv == NULL! urb = ffffffc063ed23c0 status=-104
May 15 14:43:25 LibreELEC-C2 kernel: dwc_otg dwc2_b: dev 1.3.4 ep1in scatterlist error -104/-121
May 15 14:43:29 LibreELEC-C2 crond[2498]: time disparity of 367756 minutes detected
May 15 14:43:39 LibreELEC-C2 kernel: aml_snd_card: audio speaker off
May 15 14:43:56 LibreELEC-C2 kernel: usb 1-1.3.4: reset high-speed USB device number 4 using dwc_otg
May 15 14:43:56 LibreELEC-C2 kernel: WARN::urb_dequeue:783: urb->hcpriv == NULL! urb = ffffffc063ed2540 status=-104
May 15 14:43:56 LibreELEC-C2 kernel: dwc_otg dwc2_b: dev 1.3.4 ep1in scatterlist error -104/-121
May 15 14:44:06 LibreELEC-C2 kernel: usb 1-1.3.4: USB disconnect, device number 4
May 15 14:44:06 LibreELEC-C2 kernel: sr 0:0:0:0: [sr0] Unhandled error code
May 15 14:44:06 LibreELEC-C2 kernel: sr 0:0:0:0: [sr0]

1 Like

In order to further test the hardware, I loaded up the HK Ubuntu distro for the C2. Tested both CD and DVD, works fine. No lock-ups or crashes. While it is an v17 Kodi (so not directly relatable), the play disc button was working.

I also tried CE 9.0.0, but that exhibits the same problems as CE 9.2.2 that are mentioned above. I was wanting to rule out the Kernel change @ CE 9.0.0, but I haven’t located a copy of CE for C2 prior to 9.0.0.

Got one IDE CD/RW and USB to IDE adapter and I will check how audio and video cd behaves here. Of course the next hard part is to get both medium :yum:

I have a USB DVD writer but no disc at all to test this…

1 Like

So I get errors too :frowning: https://pastebin.com/1cBRCGqS

Device works fine on Windows 10.

Also iso9660 disk works fine in CE.

=========================

I got audio CD playing in Kodi through Disc menu. Let’s see what helped…

vpeter, your drive is using the USB differently then mine.

Mine

new high-speed USB device number 4 using dwc_otg

Yours

new high-speed USB device number 5 using xhci-hcd

I do recall that USB is a problem in the various Kernels. The work getting S905 into mainline shows there being issues with USB. So I wouldn’t be surprised if between Amlogic and -NG there would be differences, possibly even between different SOCs. I feel at this point the kernel is the suspect. Testing CE < 9.0 and if perhaps someone had been experimenting with a newer kernel for S905, could be helpful.

A google of dwc_otg returned this thread.
rPi Stack Exchange - Kernel Parameters

Something for me to try later. Not sure if those options were specific to the rPi kernel, or are in the CE kernel.

1 Like

I just noticed that no changes are needed at all for me. The only requirement is that USB drive is connected at boot time. Or Kodi needs to be restarted to recognize the drive.

I’ve got some DVD movie and tried my N2 with a laptop DVD driver. When I insert the disc a Disc menu appears and I can ‘Play’ or ‘Eject’ the inserted disc with the buttons. I’ve tested it with 9.2.2

1 Like

Thanks.

I’m fairly certain this is a USB driver issue for the C2 and this Kernel. So if someone was able to test with a C2.

I’m currently trying to build CE, but haven’t succeeded yet. Most recent issue is I ran out of space.

So if I want to make a change to a file in say the kernel, how would I build it after?

I’ve made a change in the USB driver “dwc2”, but the following doesn’t result in new kernel modules being built

PROJECT=Amlogic ARCH=arm ./scripts/build linux

Make a patch from old and new file and put patch into folder packages/linux/patches,

diff -aurNp old_file new_file >my.patch