I seem to have the same problem as described here:
https://community.mp3tag.de/t/sony-walk ... tags/15911
My old Sony Walkman NWZ-E436F was last loaded about 10 years ago, from Debian with files created by Audacity and tag-edited by EasyTAG. With the same setup but recent releases, I added more MP3s but the Walkman can't read the ID3 tags for song title, album title, artist, and genre, but will read the year.
I tried varying every parameter in EasyTAG and it made no difference. I compared the headers of the old and new MP3s and they looked the same. I extracted some old MP3s from a backup to the Linux machine and then to the Walkman, which then could not read the tags. I connected the Walkman to a Windows 7 machine, copied the (problematic) MP3s to Windows, deleted them from the Walkman, and then wrote the MP3s from Win7 to the Walkman. Now it can read the tags.
Where lies the problem? I'm using basically the same tool chain as before. The only major difference of the top of my head is that before I wasn't using a desktop environment but now I have XFCE.
Walkman not reading MP3 tags written by Linux
Re: Walkman not reading MP3 tags written by Linux
The problem might be that there are multiple different verions of the ID-tag
https://en.wikipedia.org/wiki/ID3
version 2, for example, has entirely different format than 1
since the walkman is 10 years old, and it probably does not receive any kind of firmware updates, it might be capable of reading only a very narrow subset of all of these.
mp3 was superseded by formats like aac and you should only use it if you cannot use other file formats with the walkman
https://en.wikipedia.org/wiki/ID3
version 2, for example, has entirely different format than 1
since the walkman is 10 years old, and it probably does not receive any kind of firmware updates, it might be capable of reading only a very narrow subset of all of these.
mp3 was superseded by formats like aac and you should only use it if you cannot use other file formats with the walkman
Re: Walkman not reading MP3 tags written by Linux
The NWZ-E436F reads ID3v2.3 tags and I have verified that is what was written. As I said, there is no problem reading the tags when the files are transferred from Windows.
Some further information. When I connect the Walkman, it is auto-mounted as root. When I go into the directory structure of the Walkman via Thunar, there is no context menu option "Open Terminal Here", and I can't find a way to reach that directory via the command line. As I recall, I used to mount the Walkman manually with pmount and then transfer files with Midnight Commander.
In the Thunar location bar, the path to the music files is shown as:
mtp://Sony_WALKMAN_10FA13A5710139/Storage Media/MUSIC/
Some further information. When I connect the Walkman, it is auto-mounted as root. When I go into the directory structure of the Walkman via Thunar, there is no context menu option "Open Terminal Here", and I can't find a way to reach that directory via the command line. As I recall, I used to mount the Walkman manually with pmount and then transfer files with Midnight Commander.
In the Thunar location bar, the path to the music files is shown as:
mtp://Sony_WALKMAN_10FA13A5710139/Storage Media/MUSIC/
Re: Walkman not reading MP3 tags written by Linux
I see now that Debian is treating the Walkman as a network connection and transferring via MTP (Media Transfer Protocol). That is why it doesn't show up as mounted media in the file structure.
One way out of this problem is to disable MTP auto-mounting and then mount the Walkman manually as an external drive. Disabling MTP detection seems to require a lot of messing with Udev.
Another approach would be to use jmtpfs & mtp-tools to make the MTP device appear in the file structure as mounted media. That may work but still leaves the question of what is currently being done to the MP3 files so that their tags are not readable by the Walkman.
When I check the properties on the files on the Walkman, the only difference I can see is that the owner has been set to root. Can this interfere with reading the tags? It seems there is no simple way to manipulate file permissions on an MTP device.
-----------------------------------
Following a suggestion from elsewhere, as root, I modified the permissions of usr/lib/gvfs/gvfsd-mtp to be not executable. I then connected the Walkman and it became visible in the file structure as:
/media/{user}/WALKMAN/MUSIC/
Also, the permissions of the files already installed on the Walkman now showed {me} as the owner rather than root. I transferred some more files and they were read correctly. I then reset gvfsd-mtp to be executable again and rebooted the machine, and the new behavior remained.
I don't consider the problem solved since I have no idea what the problem really was or whether the fix is permanent, but at least it's working now.
One way out of this problem is to disable MTP auto-mounting and then mount the Walkman manually as an external drive. Disabling MTP detection seems to require a lot of messing with Udev.
Another approach would be to use jmtpfs & mtp-tools to make the MTP device appear in the file structure as mounted media. That may work but still leaves the question of what is currently being done to the MP3 files so that their tags are not readable by the Walkman.
When I check the properties on the files on the Walkman, the only difference I can see is that the owner has been set to root. Can this interfere with reading the tags? It seems there is no simple way to manipulate file permissions on an MTP device.
-----------------------------------
Following a suggestion from elsewhere, as root, I modified the permissions of usr/lib/gvfs/gvfsd-mtp to be not executable. I then connected the Walkman and it became visible in the file structure as:
/media/{user}/WALKMAN/MUSIC/
Also, the permissions of the files already installed on the Walkman now showed {me} as the owner rather than root. I transferred some more files and they were read correctly. I then reset gvfsd-mtp to be executable again and rebooted the machine, and the new behavior remained.
I don't consider the problem solved since I have no idea what the problem really was or whether the fix is permanent, but at least it's working now.
Re: Walkman not reading MP3 tags written by Linux
It is very possible that nothing is being done to the file. You could test this by sending a file to the device, then copying it back and doing a checksum on the two files, if even one byte (of the tag) has changed, the sum will not match. However, it is possible that the problem is with how the file is represented in the underlying structure/database. One of the reasons MTP is used on some database maintaining slow devices is that when it restricts access to the storage device and allows only full file transfers (one at a time in one direction only), MTP saves the cost of re-scanning the entire disk every time the content is modified. I would suspect that this has something to do with it and not that the file changes. It also block you from corrupting the data, because if you mount it as a USB storage device, you will have more opportunities to format, corrupt data or cause other havoc to the poor device that doesn't have the tools to heal from that.
When you check the properties of the file, these are probably not real, unless you are using some kind of virtual file system to mount it, it is just saying that you are not allowed to modify the files. MTP does not allow anything else except transfer.
When you check the properties of the file, these are probably not real, unless you are using some kind of virtual file system to mount it, it is just saying that you are not allowed to modify the files. MTP does not allow anything else except transfer.
Re: Walkman not reading MP3 tags written by Linux
I connected the Walkman today and it was back to connecting by MTP and registering owner as root. I transferred over some more files and copied some back to compare with the originals.
For files transferred by MTP, tags are not read. For files transferred while mounted at /media/{user}/WALKMAN/MUSIC/, everything is read correctly. For files transferred over and back in both modes, checksums match with the originals.
While the Walkman is connected by MTP, Thunar sometimes has to be restarted to display the file structure correctly.
I repeated the fix of disabling gvfsd-mtp and it worked as before. Is there a convenient way to disable MTP? The Udev method is rather messy.
For files transferred by MTP, tags are not read. For files transferred while mounted at /media/{user}/WALKMAN/MUSIC/, everything is read correctly. For files transferred over and back in both modes, checksums match with the originals.
While the Walkman is connected by MTP, Thunar sometimes has to be restarted to display the file structure correctly.
I repeated the fix of disabling gvfsd-mtp and it worked as before. Is there a convenient way to disable MTP? The Udev method is rather messy.
Re: Walkman not reading MP3 tags written by Linux
Here is some more strange behavior. I don't expect an explanation at this point, but I'm posting it to help anyone else having this trouble.
After editing my MP3s, I transferred them to the Walkman mounted as /media/{user}/WALKMAN/MUSIC/ and all was good. I then used a USB thumb drive to transfer the files from Debian to a Windows 7 machine, but Windows Media Player could not read the tags on many of the files. When I connected and transferred the files (via MTP) from Win7 to the Walkman, the Walkman could/couldn't read tags on the same files as WMP. I noticed that all the problematic files had been timestamped on a few certain dates. I went back to Debian and used EasyTAG to rewrite the tags on those files then transferred them to Win7 and they were read correctly. All files had been processed with the same tools and settings.
I noticed typos in some tags on the Walkman, so I edited them on Debian then replaced the changed files on the Walkman. The Walkman continued to display the information for the replaced files. I deleted from the Walkman the entire directory holding the changed files then transferred it again. Now the Walkman sees the new files.
After editing my MP3s, I transferred them to the Walkman mounted as /media/{user}/WALKMAN/MUSIC/ and all was good. I then used a USB thumb drive to transfer the files from Debian to a Windows 7 machine, but Windows Media Player could not read the tags on many of the files. When I connected and transferred the files (via MTP) from Win7 to the Walkman, the Walkman could/couldn't read tags on the same files as WMP. I noticed that all the problematic files had been timestamped on a few certain dates. I went back to Debian and used EasyTAG to rewrite the tags on those files then transferred them to Win7 and they were read correctly. All files had been processed with the same tools and settings.
I noticed typos in some tags on the Walkman, so I edited them on Debian then replaced the changed files on the Walkman. The Walkman continued to display the information for the replaced files. I deleted from the Walkman the entire directory holding the changed files then transferred it again. Now the Walkman sees the new files.
Re: Walkman not reading MP3 tags written by Linux
I am not sure what the problem with the timestamps is but I do know that mtp does not preserve time stamps when you move files from a device because the standard doesn't allow the accessing device to see them. There are also some ways that some devices try to work around this like sending the metadata as a separate file or something like this. It's messy, the entire protocol is suboptimal.
That said, I would not disable it entirely, although you probably can do that by simply removing the packages that provide the libraries needed. But I would go through the trouble of editing the udev rule. This is because, 1) understanding udev and how it works is really handy for a lot of things and 2) that way you can disable mtp for the Walkman, but keep it around for other devices like cameras or whatever, in case you really need it.
If you moved files from the computer to the device without mtp, the Walkman likely needs to update a database that has the data. On a not-so-powerful microcontroller this can take hours depending on how many files there are. It might also be that it only updates the database every certain time period or if entire folders are changed or whatever; you don't have the source code. This might explain why the tags are not updated at times but are at other times.
That said, I would not disable it entirely, although you probably can do that by simply removing the packages that provide the libraries needed. But I would go through the trouble of editing the udev rule. This is because, 1) understanding udev and how it works is really handy for a lot of things and 2) that way you can disable mtp for the Walkman, but keep it around for other devices like cameras or whatever, in case you really need it.
If you moved files from the computer to the device without mtp, the Walkman likely needs to update a database that has the data. On a not-so-powerful microcontroller this can take hours depending on how many files there are. It might also be that it only updates the database every certain time period or if entire folders are changed or whatever; you don't have the source code. This might explain why the tags are not updated at times but are at other times.