strawberrymusicplayer / strawberry

:strawberry: Strawberry Music Player
https://www.strawberrymusicplayer.org/
GNU General Public License v3.0
2.74k stars 192 forks source link

"Devices" menu is empty, even tough several devices are connected. #1460

Closed 0none closed 2 months ago

0none commented 5 months ago

Describe the bug The devices list displays no devices, even tough several devices are connected.
An android with MTP enabled, iPhone SE, and a random USB drive formatted with exfat have been tried.

To Reproduce

Expected behavior Device shows up in the "Devices" menu.

Screenshots: grafik

System Information:

Additional context I tried using the current release version, as well as building from source.

jonaski commented 5 months ago

So this is a bug? First time I've heard about this, it works for me. Is strawberry built with gio, udisks2 and libmtp?

0none commented 5 months ago

I believe so, since I cannot find any other reason for this behaviour.
Just tried this on a different machine running arch linux, built from source, with the same result.
Here's some cmake output:

The following components will be built:                                                                                                                                                                           
   ALSA integration                                                                                                                                                                                               
   D-Bus support                                                                                                                                                                                                  
   Devices: Audio CD support                                                                                                                                                                                      
   Devices: GIO device backend                                                                                                                                                                                    
   Devices: GIO device backend (Unix support)                                                            
   Devices: MTP support                                                                                  
   Devices: UDisks2 backend                                                                              
   Devices: iPod classic support                                                                         
   EBU R 128 loudness normalization                                                                      
   Engine: GStreamer backend                                                                             
   Engine: VLC backend                                                                                   
   Global shortcuts                                                                                      
   Moodbar
   MusicBrainz integration
   PulseAudio integration
   Song fingerprinting and tracking
   Streaming: Qobuz
   Streaming: Subsonic
   Streaming: Tidal
   Translations
   X11 global shortcuts

and cut output from running the resulting binary:

23:01:23.450 DEBUG MainWindow:400                   Initializing player                                                                                                                                           
23:01:23.450 DEBUG MainWindow:410                   Creating models                                                                                                                                               
23:01:23.450 DEBUG MainWindow:417                   Creating models finished                                                                                                                                      
23:01:23.453 DEBUG DeviceLister:67                  CddaLister(0x5592eab9c880) moved to thread QThread(0x5592eab9b330)                                                                                            
23:01:23.453 DEBUG DeviceLister:67                  Udisks2Lister(0x5592eab9cf40) moved to thread QThread(0x5592eab9b350)                                                                                         
23:01:23.453 DEBUG CddaLister:115                   No CD devices found                                                                                                                                           
23:01:23.453 DEBUG DeviceLister:67                  GioLister(0x5592eab9bbe0) moved to thread QThread(0x5592eab9b370)
23:01:23.453 DEBUG Lazy<T>:67                       DeviceManager(0x5592ea93b6e0) created                                                                                                                         
23:01:23.458 DEBUG logging:95(GLib-GIO)             Using cross-namespace EXTERNAL authentication (this will deadlock if server is GDBus < 2.73.3)                                                                
23:01:23.459 DEBUG Application:276                  PlaylistBackend(0x5592eaba73f0) moved to thread QThread(0x5592e95e0300)
23:01:23.460 DEBUG Lazy<T>:67                       PlaylistBackend(0x5592eaba73f0) created

I'll try to further investigate this.

jonaski commented 5 months ago

For the filesystem (USB drive) devices, can you paste the output of:

gio mount -li

(You need glib2-tools).

And share the data udisks.txt of:

udisksctl dump >udisks.txt

For the MTP devices (phones), can you paste the output of:

mtp-detect

(You need mtp-tools).

0none commented 5 months ago

looks like gio mount -li only outputs something when I mount the device manually via my file explorer (dolphin)

output of gio mount -li Mount(0): DD06-17BA -> file:///run/media/theo/DD06-17BA Type: GUnixMount default_location=file:///run/media/theo/DD06-17BA themed icons: [drive-harddisk] symbolic themed icons: [drive-harddisk-symbolic] can_unmount=1 can_eject=0 is_shadowed=0

udiskctl.txt

mtp-detect.txt

jonaski commented 2 months ago

I don't see anything wrong in the output of those commands.

There should be debug log from Strawberry when a device is added, which is here printed: https://github.com/strawberrymusicplayer/strawberry/blob/88704efad85fd3a05ec532f97df9f10e2bb96d80/src/device/devicemanager.cpp#L451

If your console debug output does not show that at all, it means it's not detecting any device from either GIO, UDisks2 or MTP, so it seems like something blocking strawberry from seeing any devices, do you have anything like SELinux or apparmor running that could be blocking strawberry from seeing the device that you could try to temporary disable?

If you start strawberry first, then plug a new USB mass storage device into the computer, like a USB pendrive, and not have it auto-mount, then manually mount it outside of strawberry while strawberry is running do you still see no debug output on the console?

asdfghjkl403622 commented 3 weeks ago

hey, I am running into this issue myself on arch linux. Is there anything I can do to help debug this issue?