MTP Device fails
-
I want to be able to sync my music collection to my phone, but I also be able to convert it from FLAC on-the-fly. I thought I could use the "devices" feature from Strawberry, but whenever I try to create a device on my phone, I get this error:
Error connecting MTP device mtp://xiaomi_poco_x3_nfc_978e6e28/?busnum=001&devnum=026
Has anyone had this issue or otherwise got MTP devices to work? The above error is not very descriptive. I can also mention that Clementine displays pretty much the same behavior.
I'm on Arch Linux running strawberry-git and the phone is, as above, a Poco X3.
Somewhat off-topic, I think it'd be amazing to be able to create virtual devices as folders wherever you want, without being tied to MTP or USB mass media. MusicBee does this and I miss that feature a lot, but MB works poorly via wine and Strawberry feels better to me in general.
-
@vicco
Make sure the phone isn't mounted, if it's mounted it will block access.
Then it should be possible to connect it by double clicking under devices.
You should be prompted on the phone once connected if you want to transfer files, make sure that you select it in time. -
@jonas
This does not seem to change anything.... The device is not mounted, I don't have Dolphin open or anything.... I wonder if something with KDE is interfering with it? -
@vicco
Update: I managed to get it to get past that stage by attempting it fresh after a reboot, but now it's stuck on the "Loading MTP device..." stage. Progress, I suppose?E: It just took a while, nevermind.
Sadly this feature is less... featured than I had expected it to be. I will probably write a post somewhere else on the forum discussing potential improvements. -
Hi,
I'm having the same issue with not being able to connect to my phone using MTP.
I was browsing through the TryLoad function:
bool MtpLoader::TryLoad() {
MtpConnection dev(url_);
if (!dev.is_valid()) {
MtpDevice device = dynamic_cast<MtpDevice>(device_.get()); // FIXMEif (!device->connection() || !device->connection()->is_valid())
device->NewConnection();if (!device->connection() || !device->connection()->is_valid()) {
emit Error(tr("Error connecting MTP device %1").arg(url_.toString()));
return false;Now my knowledge of C/C++ is very thin, but it looks like the if block that establishes a NewConnection, and the if block that generates an error and returns false have the same condition in their if statements. Could this be causing the problem?
Very Respectfully,
MaverickGazer
-
@maverickgazer
That code is very old. Looks to be a 0.5 version (2019), MTP support was fixed in 0.6.1.
The newest code is here: https://github.com/strawberrymusicplayer/strawberry -
I resolved my problem in Linux Mint by editing preferences in Nemo.
Go to Edit > Preferences > Behavior and in Media Handling uncheck "Automatically mount removeable media when inserted and on startup"
Strawberry now can access files on my phone.
My apologies if I caused any confusion.
-
@MaverickGazer
I'm also running Linux Mint and can't seem to find this option.
Any idea on how to update this?The error I'm getting is "Error connecting MTP device mtp://mediatek_m400_0123456789abcdef/?busnum=001&devnum=020".
Thanks.
-
@scubaboyc
Nevermind. I figured it out.